vba - 尝试检查单元格是否包含整数时运行时错误 13 类型不匹配
问题描述
Sub Adder()
Dim WR As Worksheet
Dim i As Integer
Dim x As Variant
Set WR = ActiveWorkbook.Sheets("Weekly Report")
For i = 2 To 200
x = WR.Cells(i, 1).Value
If Int(x) = x Then
WR.Cells(i, 25).Value = WR.Cells(i, 1).Value
Else:
WR.Cells(i, 25).Value = 123
End If
Next i
End Sub
我试图查看一个单元格是否包含一个整数,If 语句正在工作,但是当它到达一个字符串时抛出一个错误。为什么 else 语句不处理它,我是否必须进行某种错误处理?提前致谢
解决方案
将您的 If 包装在另一个中,以测试该值是否为数字。
Sub Adder()
Dim WR As Worksheet
Dim i As Integer
Dim x As Variant
Set WR = ActiveWorkbook.Sheets("Weekly Report")
For i = 2 To 200
x = WR.Cells(i, 1).Value
If IsNumeric(x) Then
If Int(x) = x Then
WR.Cells(i, 25).Value = WR.Cells(i, 1).Value
Else
WR.Cells(i, 25).Value = 123
End If
End If
Next i
End Sub
推荐阅读
- python - 多索引重新索引 - 自定义排序
- sql - 选择两列具有相同值的所有行?
- windows-virtual-desktop - 如何枚举 Windows 中的所有虚拟桌面
- reactjs - 在 AWS 上托管时,如何让我的背景视频正常工作?
- sql - 如何查看表中的字符串是否包含在不同表中指定的字符串
- tensorflow - CNN 模型中的多个输入
- google-apps-script - 试图创建一个谷歌脚本来为新站点生成一个浮动按钮
- django - 当前用户文件上传的 Django 动态初始值
- node.js - 多个功能的nodejs异步/等待放置
- node.js - 默认时区不适用于 postgres 中的 sequelize 查询