excel学习库

excel表格_excel函数公式大全_execl从入门到精通

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

大家好,我们今日继续讲解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中。在保存时插入制表符对数据列进行分隔,使之排列整齐. 下面看代码实测: 代码窗口:窗口:测试结果:今日内容回向: 1 判断是数值的函数在EXCEL和VBA中有什么不同? 2 上述讲解中特别注意点是是否清楚了呢? 分享成果,随喜正能量

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接