VBA Exceltypes不匹配(线和点游戏)

我目前正在VBA Excel中制作线条和点(或点和框)游戏,并继续运行“types不匹配”错误。 我已经为黑色填充单元格的颜色设置为RGB(0,0,0),但是当我创build退出游戏的标准时,填充框时,会出现“types不匹配”。

Sub Main() 'Start routine to fill boxes with player color when complete 'Declare & Initialize Player scores Dim Player1Score As Long Dim Player2Score As Long Dim TurnNum As Long Dim Turn As String Dim InGame As Boolean InGame = True Turn = "Odd" If (TurnNum Mod 2 = 0) Then Turn = "Odd" 'MsgBox ("Odd") Else Turn = "Even" 'MsgBox ("Even") End If Do While (InGame = True) If (Range("E4").Interior.Color = RGB(0, 0, 0) & Range("D5").Interior.Color = RGB(0, 0, 0) & Range("E6").Interior.Color = RGB(0, 0, 0) & Range("F5").Interior.Color = RGB(0, 0, 0)) Then If (Turn = "Odd") Then Player1Score = Player1Score + 1 Range("E5") = Player1 TurnNum = TurnNum + 1 ElseIf (Turn = "Even") Then Player2Score = Player2Score + 1 Range("E5") = Player2 TurnNum = TurnNum + 1 End If ElseIf (Range("F5").Interior.Color = RGB(0, 0, 0) & Range("G4").Interior.Color = RGB(0, 0, 0) & Range("G6").Interior.Color = RGB(0, 0, 0) & Range("H5").Interior.Color = RGB(0, 0, 0)) Then If (Turn = "Odd") Then Player1Score = Player1Score + 1 Range("G5") = Player1 TurnNum = TurnNum + 1 ElseIf (Turn = "Even") Then Player2Score = Player2Score + 1 Range("G5") = Player2 TurnNum = TurnNum + 1 End If ElseIf (Range("H5").Interior.Color = RGB(0, 0, 0) & Range("I4").Interior.Color = RGB(0, 0, 0) & Range("I6").Interior.Color = RGB(0, 0, 0) & Range("J5").Interior.Color = RGB(0, 0, 0)) Then If (Turn = "Odd") Then Player1Score = Player1Score + 1 Range("I5") = Player1 TurnNum = TurnNum + 1 ElseIf (Turn = "Even") Then Player2Score = Player2Score + 1 Range("I5") = Player2 TurnNum = TurnNum + 1 End If ElseIf (Range("J5").Interior.Color = RGB(0, 0, 0) & Range("K4").Interior.Color = RGB(0, 0, 0) & Range("K6").Interior.Color = RGB(0, 0, 0) & Range("L5").Interior.Color = RGB(0, 0, 0)) Then If (Turn = "Odd") Then Player1Score = Player1Score + 1 Range("K5") = Player1 TurnNum = TurnNum + 1 ElseIf (Turn = "Even") Then Player2Score = Player2Score + 1 Range("K5") = Player2 TurnNum = TurnNum + 1 End If ElseIf (Range("E6").Interior.Color = RGB(0, 0, 0) & Range("D7").Interior.Color = RGB(0, 0, 0) & Range("E8").Interior.Color = RGB(0, 0, 0) & Range("F7").Interior.Color = RGB(0, 0, 0)) Then If (Turn = "Odd") Then Player1Score = Player1Score + 1 Range("E7") = Player1 TurnNum = TurnNum + 1 ElseIf (Turn = "Even") Then Player2Score = Player2Score + 1 Range("E7") = Player2 TurnNum = TurnNum + 1 End If ElseIf (Range("G6").Interior.Color = RGB(0, 0, 0) & Range("F7").Interior.Color = RGB(0, 0, 0) & Range("G8").Interior.Color = RGB(0, 0, 0) & Range("H7").Interior.Color = RGB(0, 0, 0)) Then If (Turn = "Odd") Then Player1Score = Player1Score + 1 Range("G7") = Player1 TurnNum = TurnNum + 1 ElseIf (Turn = "Even") Then Player2Score = Player2Score + 1 Range("G7") = Player2 TurnNum = TurnNum + 1 End If ElseIf (Range("I6").Interior.Color = RGB(0, 0, 0) & Range("H7").Interior.Color = RGB(0, 0, 0) & Range("I8").Interior.Color = RGB(0, 0, 0) & Range("J7").Interior.Color = RGB(0, 0, 0)) Then If (Turn = "Odd") Then Player1Score = Player1Score + 1 Range("I7") = Player1 TurnNum = TurnNum + 1 ElseIf (Turn = "Even") Then Player2Score = Player2Score + 1 Range("I7") = Player2 TurnNum = TurnNum + 1 End If ElseIf (Range("K6").Interior.Color = RGB(0, 0, 0) & Range("K7").Interior.Color = RGB(0, 0, 0) & Range("J8").Interior.Color = RGB(0, 0, 0) & Range("L7").Interior.Color = RGB(0, 0, 0)) Then If (Turn = "Odd") Then Player1Score = Player1Score + 1 Range("K7") = Player1 TurnNum = TurnNum + 1 ElseIf (Turn = "Even") Then Player2Score = Player2Score + 1 Range("K7") = Player2 TurnNum = TurnNum + 1 End If ElseIf (Range("E8").Interior.Color = RGB(0, 0, 0) & Range("D9").Interior.Color = RGB(0, 0, 0) & Range("E10").Interior.Color = RGB(0, 0, 0) & Range("F9").Interior.Color = RGB(0, 0, 0)) Then If (Turn = "Odd") Then Player1Score = Player1Score + 1 Range("E9") = Player1 TurnNum = TurnNum + 1 ElseIf (Turn = "Even") Then Player2Score = Player2Score + 1 Range("E9") = Player2 TurnNum = TurnNum + 1 End If ElseIf (Range("G8").Interior.Color = RGB(0, 0, 0) & Range("F9").Interior.Color = RGB(0, 0, 0) & Range("G10").Interior.Color = RGB(0, 0, 0) & Range("H9").Interior.Color = RGB(0, 0, 0)) Then If (Turn = "Odd") Then Player1Score = Player1Score + 1 Range("G9") = Player1 TurnNum = TurnNum + 1 ElseIf (Turn = "Even") Then Player2Score = Player2Score + 1 Range("G9") = Player2 TurnNum = TurnNum + 1 End If ElseIf (Range("I8").Interior.Color = RGB(0, 0, 0) & Range("H9").Interior.Color = RGB(0, 0, 0) & Range("I10").Interior.Color = RGB(0, 0, 0) & Range("J9").Interior.Color = RGB(0, 0, 0)) Then If (Turn = "Odd") Then Player1Score = Player1Score + 1 Range("I9") = Player1 TurnNum = TurnNum + 1 ElseIf (Turn = "Even") Then Player2Score = Player2Score + 1 Range("I9") = Player2 TurnNum = TurnNum + 1 End If ElseIf (Range("K8").Interior.Color = RGB(0, 0, 0) & Range("J9").Interior.Color = RGB(0, 0, 0) & Range("K10").Interior.Color = RGB(0, 0, 0) & Range("L9").Interior.Color = RGB(0, 0, 0)) Then If (Turn = "Odd") Then Player1Score = Player1Score + 1 Range("K9") = Player1 TurnNum = TurnNum + 1 ElseIf (Turn = "Even") Then Player2Score = Player2Score + 1 Range("K9") = Player2 TurnNum = TurnNum + 1 End If ElseIf (Range("E10").Interior.Color = RGB(0, 0, 0) & Range("D11").Interior.Color = RGB(0, 0, 0) & Range("E12").Interior.Color = RGB(0, 0, 0) & Range("F11").Interior.Color = RGB(0, 0, 0)) Then If (Turn = "Odd") Then Player1Score = Player1Score + 1 Range("E11") = Player1 TurnNum = TurnNum + 1 ElseIf (Turn = "Even") Then Player2Score = Player2Score + 1 Range("E11") = Player2 TurnNum = TurnNum + 1 End If ElseIf (Range("G10").Interior.Color = RGB(0, 0, 0) & Range("F11").Interior.Color = RGB(0, 0, 0) & Range("G12").Interior.Color = RGB(0, 0, 0) & Range("H11").Interior.Color = RGB(0, 0, 0)) Then If (Turn = "Odd") Then Player1Score = Player1Score + 1 Range("G11") = Player1 TurnNum = TurnNum + 1 ElseIf (Turn = "Even") Then Player2Score = Player2Score + 1 Range("G11") = Player2 TurnNum = TurnNum + 1 End If ElseIf (Range("I10").Interior.Color = RGB(0, 0, 0) & Range("H11").Interior.Color = RGB(0, 0, 0) & Range("I12").Interior.Color = RGB(0, 0, 0) & Range("J11").Interior.Color = RGB(0, 0, 0)) Then If (Turn = "Odd") Then Player1Score = Player1Score + 1 Range("I11") = Player1 TurnNum = TurnNum + 1 ElseIf (Turn = "Even") Then Player2Score = Player2Score + 1 Range("I11") = Player2 TurnNum = TurnNum + 1 End If ElseIf (Range("K10").Interior.Color = RGB(0, 0, 0) & Range("J11").Interior.Color = RGB(0, 0, 0) & Range("K12").Interior.Color = RGB(0, 0, 0) & Range("L11").Interior.Color = RGB(0, 0, 0)) Then If (Turn = "Odd") Then Player1Score = Player1Score + 1 Range("K11") = Player1 TurnNum = TurnNum + 1 ElseIf (Turn = "Even") Then Player2Score = Player2Score + 1 Range("K11") = Player2 TurnNum = TurnNum + 1 End If End If If ((Range("E4").Interior.Color = RGB(0, 0, 0) & Range("D5").Interior.Color = RGB(0, 0, 0) & Range("E6").Interior.Color = RGB(0, 0, 0) & Range("F5").Interior.Color = RGB(0, 0, 0)) & _ (Range("F5").Interior.Color = RGB(0, 0, 0) & Range("G4").Interior.Color = RGB(0, 0, 0) & Range("G6").Interior.Color = RGB(0, 0, 0) & Range("H5").Interior.Color = RGB(0, 0, 0)) & _ (Range("H5").Interior.Color = RGB(0, 0, 0) & Range("I4").Interior.Color = RGB(0, 0, 0) & Range("I6").Interior.Color = RGB(0, 0, 0) & Range("J5").Interior.Color = RGB(0, 0, 0)) & _ (Range("J5").Interior.Color = RGB(0, 0, 0) & Range("K4").Interior.Color = RGB(0, 0, 0) & Range("K6").Interior.Color = RGB(0, 0, 0) & Range("L5").Interior.Color = RGB(0, 0, 0)) & _ (Range("E6").Interior.Color = RGB(0, 0, 0) & Range("D7").Interior.Color = RGB(0, 0, 0) & Range("E8").Interior.Color = RGB(0, 0, 0) & Range("F7").Interior.Color = RGB(0, 0, 0)) & _ (Range("G6").Interior.Color = RGB(0, 0, 0) & Range("F7").Interior.Color = RGB(0, 0, 0) & Range("G8").Interior.Color = RGB(0, 0, 0) & Range("H7").Interior.Color = RGB(0, 0, 0)) & _ (Range("I6").Interior.Color = RGB(0, 0, 0) & Range("H7").Interior.Color = RGB(0, 0, 0) & Range("I8").Interior.Color = RGB(0, 0, 0) & Range("J7").Interior.Color = RGB(0, 0, 0)) & _ (Range("K6").Interior.Color = RGB(0, 0, 0) & Range("K7").Interior.Color = RGB(0, 0, 0) & Range("J8").Interior.Color = RGB(0, 0, 0) & Range("L7").Interior.Color = RGB(0, 0, 0)) & _ (Range("E8").Interior.Color = RGB(0, 0, 0) & Range("D9").Interior.Color = RGB(0, 0, 0) & Range("E10").Interior.Color = RGB(0, 0, 0) & Range("F9").Interior.Color = RGB(0, 0, 0)) & _ (Range("G8").Interior.Color = RGB(0, 0, 0) & Range("F9").Interior.Color = RGB(0, 0, 0) & Range("G10").Interior.Color = RGB(0, 0, 0) & Range("H9").Interior.Color = RGB(0, 0, 0)) & _ (Range("I8").Interior.Color = RGB(0, 0, 0) & Range("H9").Interior.Color = RGB(0, 0, 0) & Range("I10").Interior.Color = RGB(0, 0, 0) & Range("J9").Interior.Color = RGB(0, 0, 0)) & _ (Range("K8").Interior.Color = RGB(0, 0, 0) & Range("J9").Interior.Color = RGB(0, 0, 0) & Range("K10").Interior.Color = RGB(0, 0, 0) & Range("L9").Interior.Color = RGB(0, 0, 0)) & _ (Range("E10").Interior.Color = RGB(0, 0, 0) & Range("D11").Interior.Color = RGB(0, 0, 0) & Range("E12").Interior.Color = RGB(0, 0, 0) & Range("F11").Interior.Color = RGB(0, 0, 0)) & _ (Range("G10").Interior.Color = RGB(0, 0, 0) & Range("F11").Interior.Color = RGB(0, 0, 0) & Range("G12").Interior.Color = RGB(0, 0, 0) & Range("H11").Interior.Color = RGB(0, 0, 0)) & _ (Range("I10").Interior.Color = RGB(0, 0, 0) & Range("H11").Interior.Color = RGB(0, 0, 0) & Range("I12").Interior.Color = RGB(0, 0, 0) & Range("J11").Interior.Color = RGB(0, 0, 0)) & _ (Range("K10").Interior.Color = RGB(0, 0, 0) & Range("J11").Interior.Color = RGB(0, 0, 0) & Range("K12").Interior.Color = RGB(0, 0, 0) & Range("L11").Interior.Color = RGB(0, 0, 0))) Then InGame = False End If Loop 

我似乎无法弄清楚是什么问题。 我有另一个模块分配给矩形,所以当你点击所述矩形,该单元格的颜色变成黑色(RGB(0,0,0))

任何帮助将不胜感激,谢谢