excel - 如何在 Excel VBA 中将整数设为 null?

标签 excel vba null nothing

我正在尝试检测是否设置了一个整数,如果没有,则跳过循环中的大部分代码(使用 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/

相关文章:

c++ - char*(包含空值)到 std::string 知道长度

excel - 条件格式空白单元格-VBA

regex - 使用 VBA 替换的精确匹配

java - 实现获取 NullPointerException 的方法

excel - 将 Excel 工作表范围导入到 Ms Access Table

excel - 如何在选择中的每个单元格周围添加文本框/形状?

mysql - 如果 CONCAT 中有 'null' 值,则得到空结果

vba - 使用图表格式化

excel - 使用 COMBIN 函数的奇数结果

java - 删除包含字符串 Excel Apache POI API 的行