excel - cell.value 上的类型不匹配
问题描述
我的代码有问题。
我有一个包含几个#N/A 的表,因此我必须将它们更改为“缺少数据”。不太难。但在两个特定列中,数据是日期。创建表时,列的类型为“常规”,因此日期以数字表示。
我的问题是我想设置日期类型的列并删除所有值为 0 的单元格(或日期类型的 01/01/1900)。我有这个代码,但它说错误类型不匹配。
我无法复制所有代码,因为很长
sub datachange()
dim cell as range
For Each cell In Range("EntireTable")
If Application.WorksheetFunction.IsNA(cell.Value) = True Then
cell.Value = "Missing Data"
End If
Next cell
For Each cell In Range("EntireTable").Columns(6)
If cell.Value = 0 Then
cell.Value = "Missing Information"
End If
Next cell
Range("EntireTable").Columns(6).NumberFormat = "m/d/yyyy"
end sub
解决方案
正如@BigBen 在评论中提到的,如果单元格包含错误,您将收到Type Mismatch
错误消息。您可以使用IsError函数,它返回一个Boolean
值 (True/False),指示表达式是否为错误值。
更改If cell.Value = 0 Then
为If IsError(cell.Value) Then
推荐阅读
- azure - 如何解决“lastindexof”是一种原语,不支持 Azure 数据工厂中的嵌套属性
- python - 如何将元组解压缩为参数并传递给函数,该函数在单击按钮时会更改 python tkinter 中的画布颜色
- ios-charts - 指定线的 Z 顺序
- hive - 如何从 Order 表中找到两个订单之间关于后续 Customer_Ids 的日期范围?
- c# - 嵌套类的 Protobuf-net 错误:'类型不是预期的,并且无法推断出任何合同:...'
- html - 如何使 [input type="range"] 滑块上的每个点与滑块拇指的位置相匹配?
- ansible - 带有库存变量的 vars_files 中的动态文件名
- objective-c - 如何区分 iPhone 和 iPad 应用程序中的真脸和假脸?
- c++ - 如何处理从一个对象传递到另一个在 C++ 中具有公共抽象类的消息
- spring-boot - 无法在控制台上获取调试日志