excel - VBA - 识别空字符串

标签 excel vba null

我的一个单元格似乎是空白的,但长度为 2 个字符。我将字符串复制到 this网站,并将其识别为空字符串。

我已经尝试使用 IsNullIsEmpty,并测试它是否等同于 vbNullString 但它仍然会出现为 False

如何将此字符串识别为 Null

最佳答案

“看似空白但长度为 2 个字符”的字符串值被称为空白,而不是空白,也不是,不是

使用 Trim 函数(或其 Trim$ 字符串类型的小兄弟)去除前导/尾随空白字符,然后针对 vbNullString< 测试结果(或“”):

If Trim$(value) = vbNullString Then

不过,Trim 函数不会去除不间断空格。您可以编写一个函数来执行以下操作:

Public Function TrimStripNBSP(ByVal value As String) As String
    TrimStripNBSP = Trim$(Replace(value, Chr$(160), Chr$(32)))
End Function

这会将不间断空格替换为 ASCII 32(“正常”空格字符),然后对其进行修剪并返回结果。

现在您可以使用它来针对 vbNullString(或 "")进行测试:

If TrimStripNBSP(value) = vbNullString Then

IsEmpty 函数只能与 Variant 一起使用(无论如何只返回给定 Variant 的有意义的结果),以确定是否变体包含一个值。

IsNull 函数在 Excel 托管的 VBA 中的使用极其有限,并且不需要,因为在 Excel 工作表中没有任何东西会是 Null - 特别是不是长度为 2 的字符串。

关于excel - VBA - 识别空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54204067/

相关文章:

vba - Excel VBA application.inputbox 工作簿

javascript - 尝试使用 VBA 在 web 浏览器控件上执行 javascript 命令

sql - 将 Null 从 Excel 传递到 SQL

c++ - 检查 C++ 中是否只有一个字符串变量不是 nullptr

excel - vba excel 2003中的素数

vba - Excel 2013 64 位 VBA : Clipboard API doesn't work

python - Django / python : Save an HTML table to Excel

null - 处理回归(机器学习)中分类特征的未分配(空)值?

python - 使用python逐行从excel中提取图像

vba - 坚持使用我的 vba 代码来过滤基于日期的查找数据