VBA 42 数据类型与转换

注意:使用VBA.TypeName() 判断单元格内容的数据类型时,单元格一定要使用value属性。(切记切记,否则返回的类型是Range)

判断是否为空

VBA.IsEmpty()
VBA.TypeName()

 

判断是否为数字类型

VBA.Isnumeric()
Application.WorksheetFunction.IsNumber()
VBA.TypeName()

例子

'判断一位整数
Debug.Print Range("A1").Value Like "#"
'判断是否包含数字
Debug.Print Range("A1") Like "*#*"


'注意:如果判断单元格中值的数据类型时,一定要使用单元格的Value属性
MsgBox VBA.TypeName(Range("C5").Value)

 

判断是否为文本

MsgBox Application.IsText(Range("A1"))
MsgBox Application.WorksheetFunction.IsText(Range("A1"))
'返回string对象
MsgBox VBA.TypeName(Range("A1").Value)
'返回Range对象
MsgBox VBA.TypeName(Range("A1"))

 

判断是否为错误值

Debug.Print VBA.IsError(Range("A1"))
Debug.Print VBA.TypeName(Range("A1").Value)

 

判断是否为数组

Dim arr
arr = Range("A1:A2")
Erase arr

Debug.Print VBA.IsArray(arr)

 

判断是否为日期

Debug.Print VBA.IsDate(Range("A2"))

 

数据类型转换函数

CStr, CBool , CByte, CCur,  CDate, CDbl, CDec, CInt,  CLng, CSng, CVar

Format函数,相当于工作表中的text函数,可以格式化显示数字或文本。

复制代码
'Format函数
Sub test1()

Dim n, n2
n = 235.6894
n2 = "2022年12月29日"

Range("A10") = Format(n, "0.00")
Range("A11") = Format(n, "0")
Range("A12") = Format(n, "\价格\:0.00")
Range("A13") = Format(n2, "yyyy-mm-dd")

复制代码

 

posted @   limalove  阅读(407)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
历史上的今天:
2018-12-29 MYSQL 总结——2
2018-12-29 MySQL补充
点击右上角即可分享
微信分享提示