-1

我正在做一个剪刀石头布游戏,但我卡在了得分代码上。我想要的只是当有人赢得分数时,分数会显示在另一个工作表上的表格上,该工作表是将成为记分牌的图表的数据源。

代码是:

If Worksheets("Game").Range("D5:E7").Value = "Rock" And Worksheets("Game").Range("D9:E11").Value = "Paper" Then Worksheets("Game Data").Range("F9").Value = Worksheets("Game Data").Range("F9").Value + 1
If Worksheets("Game").Range("D5:E7").Value = "Rock" And Worksheets("Game").Range("D9:E11").Value = "Scissors" Then Worksheets("Game Data").Range("F8").Value = Worksheets("Game Data").Range("F8").Value + 1
If Worksheets("Game").Range("D5:E7").Value = "Paper" And Worksheets("Game").Range("D9:E11").Value = "Scissors" Then Worksheets("Game Data").Range("F9").Value = Worksheets("Game Data").Range("F9").Value + 1
If Worksheets("Game").Range("D5:E7").Value = "Paper" And Worksheets("Game").Range("D9:E11").Value = "Rock" Then Worksheets("Game Data").Range("F8").Value = Worksheets("Game Data").Range("F8").Value + 1
If Worksheets("Game").Range("D5:E7").Value = "Scissors" And Worksheets("Game").Range("D9:E11").Value = "Rock" Then Worksheets("Game Data").Range("F9").Value = Worksheets("Game Data").Range("F9").Value + 1
If Worksheets("Game").Range("D5:E7").Value = "Scissors" And Worksheets("Game").Range("D9:E11").Value = "Paper" Then Worksheets("Game Data").Range("F8").Value = Worksheets("Game Data").Range("F8").Value + 1

当我运行它时,我得到错误 13 类型不匹配。我不知道我做错了什么!任何人都可以帮忙吗?

4

1 回答 1

1

我猜您正在使用合并的单元格,因为您的范围引用了多个单元格。这导致您将值数组与单个字符串进行比较,因此类型不匹配。如果是这种情况,则合并单元格的值存储在合并单元格中的第一个单元格中,您可以尝试为您的第一个 if 语句显示以下修改(添加行延续 _ 以使代码更易于阅读)。

If Worksheets("Game").Range("D5").Value = "Rock" And _ 
Worksheets("Game").Range("D9").Value = "Paper" Then _
Worksheets("Game Data").Range("F9").Value = _
Worksheets("Game Data").Range("F9").Value + 1

您将需要修改每一行以停止类型不匹配错误。

于 2013-09-22T21:22:46.527 回答