Динамические переменные Excel VBA - PullRequest
0 голосов
/ 24 января 2019

чтобы улучшить свои навыки, я сейчас создаю файл, который должен отслеживать игру в дартс.Пользователи записывают свои броски в ячейку и добавляют это значение в таблицу.

Большая часть этого уже работает, но логика смены игроков еще не работает.

У меня есть следующий фрагмент кода для игроков:

Dim PlayerID As Object

Set PlayerID = CreateObject("Scripting.Dictionary")
    For i = 1 To 3
    PlayerID(i) = Setupws.Range("C" & i)
    PlayerID(i) = Setupws.Range("C" & i).Value

Next i

Set GameTable = Gamews.ListObjects("GameTable")

Set NewRow = GameTable.ListRows.Add(AlwaysInsert:=True)
    Lastrow = Gamews.Cells(Rows.Count, "A").End(xlUp).Row
    Beforerow = Gamews.Cells(Rows.Count, "A").End(xlUp).Row - 1

With GameTable

 If .Range(Beforerow, 5).Value = 3 And .Range(Beforerow, 9).Value = 3 Then
        .Range(Lastrow, 3).Value = PlayerID.Value

        Else
        .Range(Lastrow, 3).Value = .Range(Beforerow, 3).Value

              End If

Логика заключается в том, что если значение в столбце 5 равно 3 (оно циклически изменяется от 1 до3) следующий идентификатор игрока добавляется в таблицу.

В основном:

PlayerID (1) Бросок 1

PlayerID (1) Бросок 2

PlayerID (1) Бросок 3

PlayerID (2) Бросок 1

и т. Д.

Я получаю ошибку во время выполнения 438 ...

Здесь происходит ошибка:

.Range(Lastrow, 3).Value = PlayerID.Value

Есть идеи?Я не добавил остальную часть кода, в котором я определяю листы и другие переменные, к своему сообщению, но могу опубликовать его, если это поможет.

BR Thomas

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...