【问题标题】:How do I check if a cell is blank in VBA如何检查VBA中的单元格是否为空白
【发布时间】:2020-10-02 06:55:44
【问题描述】:

我正在尝试遍历一个数组和任何具有我想在列表中打印的值的元素。但是,我在识别空白单元格时遇到问题。现在它识别出每个单元格都不是空的。我还包括数据的屏幕截图以提供帮助。 (某些列隐藏在屏幕截图中)

我尝试过:
Evaluate("isblank(" & Cells(i, 8).Address & ")")
IsEmpty(列表(i, 1))
IsNull(list(i, 1))

以上选项都不起作用,这是我目前拥有的

Dim list As Variant
Dim i As Integer
Dim Y As String
Dim X As Integer

Y = "A"
X = 2

list = Range("H12:H158").Value

For i = 1 To 147
    If Not IsEmpty(list(i, 1)) Then
        Cells(X, Y) = list(i, 1)
        X = X + 1
    End If
Next i

非常感谢任何建议

【问题讨论】:

  • 包含零长度字符串的单元格不是空的。试试list(i, 1) <> vbNullString
  • @chrisneilsen 会返回一个布尔值
  • 是的............
  • 感谢您在我删除 Not 后完美运行。

标签: excel vba


【解决方案1】:

我刚刚试用了您的宏,结果,在“A”列中,从第 2 行开始,我有值:

HRT-2-11
HRT-2-13
HRT-2-14
HRT-2-15
HRT-2-17
HRT-2-18

我相信这就是您要寻找的东西,不是吗?我相信单元格中有一个值显示为空白,但现在应该有一些不可见的字符(如空格或其他东西)。我建议你检查这样一个“空”单元格的值,然后从那里继续(“立即”窗口非常适合这样的调查)。

【讨论】:

    【解决方案2】:

    Len() 从不漏掉一个字符。

    如果 Len(list(i, 1))>0 那么 ....

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-19
      • 1970-01-01
      • 2018-04-12
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多