Excel VBA如何仅查找仅含空格的单元格 排除空白单元格
问题原因
你使用的代码会同时识别真空白单元格和仅含空格的单元格,核心原因是:
- 无任何内容的真空白单元格,
Len(Trim(单元格值))的计算结果为0 - 仅包含空格的单元格经过Trim处理后内容为空,长度计算结果同样为0
两类单元格没有做前置区分,因此出现误判。
修复方案
先通过IsEmpty()函数排除真空白单元格,再判断Trim处理后的内容长度即可,修改后的参考代码如下:
For i = 1 To lastRow Dim cellVal As Variant cellVal = ThisWorkbook.Sheets("data").Range("A" & i).Value ' 先排除真空白,再判断是否仅含空格 If Not IsEmpty(cellVal) And Len(Trim(cellVal)) = 0 Then MsgBox ("A" & i & " contains only space") End If Next i
补充说明
- 原代码中的
this workbook存在语法错误,标识符中间不能有空格,正确写法为ThisWorkbook - 原MsgBox代码行的字符串拼接遗漏了
&符号,已在示例代码中修正
内容的提问来源于stack exchange,提问作者BCLtd
相关产品推荐
相关产品推荐

