判断integer是否为null_VBA代码解决方案的第55讲:VBA代码中,如何判断是否为数值...

4c83136a9f1c9d0b531db45992e60786.png

大家好,我们今日继续讲解VBA代码解决方案的第55讲内容:VBA代码中,如何判断是否为数值。本节的利用价值非常大,在INPUTBOX中,在窗口的控件中,这种判断会随处可见,这里需要大家注意点是在VBA中和EXCEL中判断数值的函数是不一样的,大家是否还记得在EXCEL函数中利用的函数吗?对了,是ISNUMBER()函数,这个函数在EXCEL中可以判断单元格是否为数值,或者判断数组的值,但是在VBA中这个函数是不可以用的。

在VBA中我们使用IsNumeric函数可以判断表达式的运算结果是否为数值,IsNumeric函数返回Boolean值,指出表达式的运算结果是否为数值。

语法如下:IsNumeric(expression)

参数expression是必需的,Variant类型,包含数值表达式或字符串表达式。

判断的结果:如果参数expression的运算结果为数字,则IsNumeric返回True,否则返回False

需要注意点:IsNumeric()函数的实际作用是判断参数表达式是否是数值,而这个所谓的“数值”不仅仅包含普通的数字,还包括(但可能不限于)如下情况:

a) 科学计数法表达式,如“2e7”和“2d7”;

b) 十六进制数,如“&H0A”;

c) 八进制数,如“&6”;

d) 当前区域下设置的货币金额表达式,如“¥12.44”;

e) 加圆括号的数字,如“(34)”;

f) 显式指定正负的数字,如“+2.1”和“-2.1”;

g) 含有逗号的数字字符串,如“12,25”。

如下面的代码所示。

Sub MyNumeric()

Dim i As Integer

Dim n As String

Dim s As String

With Sheets("sheet4")

For i = 1 To .Range("A65536").End(xlUp).Row

If IsNumeric(.Cells(i, 1)) Then

n = n & .Cells(i, 1).Address(0, 0) & Chr(9) & .Cells(i, 1) & Chr(13)

Else

s = s & .Cells(i, 1).Address(0, 0) & Chr(9) & .Cells(i, 1) & Chr(13)

End If

Next

End With

MsgBox "A列中数值单元格:" & Chr(13) & n & Chr(13) _

& "A列中非数值单元格:" & Chr(13) & s

End Sub代码解析:

MyNumeric过程使用IsNumeric函数判断工作表的A列单元格是否为数值,并使用消息框显示。

第7行代码判断工作表的A列单元格是否为数值。

第8行代码将数值单元格的地址和数值保存在变量 e中。

第10行代码将非数值单元格的地址和内容保存在变量 s中。在保存时插入制表符对数据列进行分隔,使之排列整齐.

下面看代码实测:

代码窗口:

34164963550319f9b8556067dfcd7642.png

窗口:

6c810248621f551e6126806915381d8f.png

测试结果:

79d4792ab6537857b12c323904b1d79d.png

今日内容回向:

1 判断是数值的函数在EXCEL和VBA中有什么不同?

2 上述讲解中特别注意点是是否清楚了呢?

欢迎大家到我的自媒体平台沟通交流:个人微信号“NZ9668”、头条号“VBA专家”、百家号“VBA与GO语言”、微信公众号“NZ_9668”、社群“VBA学习交流群”。

这一系列文章是根据我多年的工作经验编写的,也是一直在利用的工具,非常方便好用。现在分享出来,希望能对同样在职场打拼的朋友有些许的帮助,使你的工作更加高效、流畅。朋友们有问题请随时提出来,我们一起探讨学习。对数据分析有需要的公司、组织或个人可以直接联系我,及时为你提供专业的定制技术支持。

工作不是一切。工作是每个人安身立命、成长发展的基础。但你要知道工作是永远也做不完的,时间会抹去很多问题。多关注自己、家人和朋友,这些才是我们生活中更为重要的东西。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值