我创建了一个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文件上运行,但不能在我的国际象棋程序上运行。
发布于 2019-03-15 08:16:49
一旦在"stop“方法中发生了这种情况:
Set moves = Nothing
然后,如果不先将新集合分配给moves
,就不能再调用moves.Add
尝试此更改:
Sub start_button_Click()
Set moves = New Collection
isRunning = True
End Sub
https://stackoverflow.com/questions/55173427
复制相似问题