在VBA 2048中显示分数和高分

时间:2018-03-17 04:10:38

标签: excel vba excel-vba

我正在使用2048游戏的3x3版本,并且无法显示得分和高分。如果两个单元格合并,则该分数应该等于新的单元格值。

以下是我正在使用的示例(注意3x3网格是" C4:E6"):

   ' Up button column C merging C5 into C4

   If Cells(5, 3).Value <> "" Then
        If Cells(5, 3).Value = Cells(4, 3).Value Then
            Cells(4, 3).Value = Cells(4, 3).Value * 2
            Cells(5, 3).Value = Cells(6, 3).Value
            Cells(6, 3).Value = ""
            Points = Points + Cells(4, 3).Value
                Cells(4, 6).Value = Points
            nudgeCell = True
        End If
    End If

&#34;积分&#34;行确实是我所关注的,并且点应该显示在单元格F4中(单元格(4,6))

高分代码如下:

' Highscore
If Cells(4, 6).Value > Cells(5, 6).Value Then
    Cells(4, 6).Value = Cells(5, 6).Value
Else
    Cells(4, 6).Value = Cells(4, 6).Value
End If

将高分放入细胞F5(细胞(5,6))。 问题是分数没有出现在工作表的实际单元格中。我做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为问题在于这一行

If Cells(4, 6).Value > Cells(5, 6).Value Then

应改为

If Cells(4, 6).Value < Cells(5, 6).Value Then

这仅基于您显示的有限代码,它仅显示点值(1)位于单元格(4,6)中,(2)它是已占用单元格的总和(4) ,3),和(3)如果单元格(5,6)的值更大,则它将被该较小的值替换。既然你说“分数没有出现”,我想知道单元格(5,6)的值是否为空白(即零) - 因为如果发生这种情况,之后点数值将始终为空(假设所有分数)是> 0)。