我正在尝试检测是否设置了一个整数,如果没有,则跳过循环中的大部分代码(使用 if 语句)。这就是我的目的。
Do While hws.Cells(r, 9).Value <> ""
On Error Resume Next
ar = Null
ar = aws.Range("A:A").Find(hws.Cells(r, 2).Value).Row
If Not IsNull(ar) Then
'work with ar'
End If
r = r + 1
Loop
但是,当我运行它时,ar = Null
出现了问题。它说“无效使用 null”。
最佳答案
在 VBA 中定义为 Integer 的变量不能为 Null。你将不得不找到另一种方法来做你想做的事。例如,使用不同的数据类型或使用魔数(Magic Number)来指示空值(例如 -1)。
在您的示例代码中,ar 将被分配一个 Long 值(Range.Row 是一个 Long)或者它会抛出一个错误。
关于excel - 如何在 Excel VBA 中将整数设为 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4023354/