Всякий раз, когда я пытаюсь запустить код, я получаю сообщение об ошибке: ожидается выражение - PullRequest
0 голосов
/ 15 марта 2019

Я создал шахматную игру в Excel и хотел записать ходы, сделанные игроками в ходе событий.Вот код, который у меня есть:

Dim isRunning As Boolean
Dim moves As New Collection

Sub start_button_Click()
    isRunning = True
End Sub

Sub stop_button_Click()
    isRunning = False
    Dim val As Variant

    For Each val In moves
        Debug.Print val
    Next val

    Set moves = Nothing
End Sub

Sub Worksheet_Change(ByVal Target As Range)
    If isRunning Then
        moves.Add Target.Address & " " & Target.Value
    End If
End Sub

По какой-то причине, когда я запускаю метод start или метод stop, я получаю сообщение об ошибке:

«Ожидается: выражение»

без выделения какой-либо строки кода, и иногда, когда я запускаю метод stop, он выдает ошибку и выделяет строку For Each val In moves в утверждении, что она пуста.

код работает с пустым / новым файлом Excel, но не с моей шахматной программой.

1 Ответ

3 голосов
/ 15 марта 2019

Как только это происходит в методе «стоп»:

Set moves = Nothing

, тогда вы больше не можете звонить moves.Add без предварительного назначения новой коллекции для moves

Попробуйте это изменение:

Sub start_button_Click()
    Set moves = New Collection
    isRunning = True
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...