基本上,我正在构建一个扫雷游戏,除了一件事情之外,我什么都不做。我正在努力挖掘空白(从activecell挖掘),直到在各个方向上找到任何数字值为止。
这是我目前拥有的一部分。我尝试将偏移值声明为变量,但没有用。
If ActiveCell.Value = "" Then
ActiveCell.Interior.TintAndShade = 0
ActiveCell.Offset(1, 0).Interior.TintAndShade = 0
ActiveCell.Offset(1, -1).Interior.TintAndShade = 0
ActiveCell.Offset(0, -1).Interior.TintAndShade = 0
ActiveCell.Offset(-1, -1).Interior.TintAndShade = 0
ActiveCell.Offset(-1, 0).Interior.TintAndShade = 0
ActiveCell.Offset(-1, 1).Interior.TintAndShade = 0
ActiveCell.Offset(0, 1).Interior.TintAndShade = 0
ActiveCell.Offset(1, 1).Interior.TintAndShade = 0
End If
如何使每个单元格变成白色并展开直到找到任何值(1到9)。
答案 0 :(得分:1)
那是一个递归问题,您需要创建一个递归函数,我会为您解答
我希望您能对我在这里所做的事情有所了解
Public Sub checkUntilItsHaveNumber(ByVal c As Range)
If c.Value = "" Then
c.Interior.TintAndShade = 0
Call checkUntilItsHaveNumber(c.Offset(1, 0))
Call checkUntilItsHaveNumber(c.Offset(-1,0))
Call checkUntilItsHaveNumber(c.Offset(0, 1))
Call checkUntilItsHaveNumber(c.Offset(0, -1))
End If
End Sub