每当我尝试运行代码时,都会出现错误:期望表达式

时间:2019-03-14 23:18:44

标签: excel vba

我建立了一个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 个答案:

答案 0 :(得分:3)

一旦这种情况发生在“停止”方法中:

Set moves = Nothing

然后,您必须先为moves.Add分配新的集合,然后才能再调用moves

尝试此更改:

Sub start_button_Click()
    Set moves = New Collection
    isRunning = True
End Sub
相关问题