excel - 为什么在使用 IsEmpty() 方法时,使用 Len() 方法长度为 0 的单元格等于 False?
问题描述
我有一个包含 2 个空格的单元格作为单元格中唯一的内容,当我使用该len(trim(cell))
方法时,它返回的长度为0
,但如果我使用IsEmpty(trim(cell))
它返回False
. 但是,IsEmpty()
在空白单元格上返回一个True
. 为什么会这样?
我使用的代码是:
MsgBox (IsEmpty(Application.WorksheetFunction.Trim(ThisWorkbook.Worksheets("Sheet1").Cells(1, 1))))
MsgBox (Len(Application.WorksheetFunction.Trim(ThisWorkbook.Worksheets("Sheet1").Cells(1, 1))))
解决方案
正如微软指出的那样,IsEmpty 函数“返回一个布尔值,指示变量是否已被初始化”。所以很明显,一个空白单元格被认为是未初始化的,而一个字符串——甚至是一个空的——被初始化。
您可以编写自己的函数来测试空字符串:
Function IsStringEmpty(s As String) As Boolean
IsStringEmpty = Len(s) = 0
End Function
推荐阅读
- ruby-on-rails - 如何在 Rails 中对来自 API 的传入值进行排序
- r - 如何用固定宽度值替换字符串?
- keras - 如何实现波斯语的词嵌入
- matlab - 如何在 MATLAB 中获得稳态 ODE 系统的非零符号解?
- php - PHP - 验证 URL 参数
- spring - Spring 5,Tomcat 9,出现错误:org.apache.catalina.core.ApplicationContext.log 在类路径上未检测到 Spring WebApplicationInitializer 类型
- javascript - VSCode 显示 Waiting for the debugger to disconnect
- mysql - 如何在 MySQL 中创建可更新的有序列表结构
- c# - 起订量使我的方法无效
- javascript - Laravel 使用 Ajax 从购物车中删除