我们在使用Excel的时候,经常需要使用格式设置,尤其是文本设置,时间设置,就像是“城市牛皮癣”一样,换不过来!!真是让人火大。
即使,在VBA中使用C开头的函数,只是转换了Variant的类型,等填入到单元格并不是我们想要的类型。
比如有时明明用cells(1,1)=Cstr(000001),但是到了单元格还是1,而不是文本000001!!
CBool(expression) | 转换为Boolean型 |
CByte(expression) | 转换为Byte型 |
CCur(expression) | 转换为Currency型 |
CDate(expression) | 转换为Date型 |
CDbl(expression) | 转换为Double型 |
CDec(expression) | 转换为Decemal型 |
CInt(expression) | 转换为Integer型 |
CLng(expression) | 转换为Long型 |
CSng(expression) | 转换为Single型 |
CStr(expression) | 转换为String型 |
CVar(expression) | 转换为Variant型 |
Val(string) | 转换为数据型 |
针对于单元格和Range,搜索后发现,建议使用NumberFormatLocal
[a:a].NumberFormatLocal = "@" '设置A1单元格为文本格式
[a:a].Replace "@", "" '设置第一列为文本
[1:1].NumberFormatLocal = "yyyy/m/d" '设置第一行单元格为日期格式
[1:1].NumberFormatLocal="m/d" '设置第一行的日期为m/d短格式
[1:1].NumberFormatLocal = "0.00%" '设置第一行单元格为百分比格式
[e1].NumberFormatLocal = "0.00E+00" '设置E1单元格为科学记数法格式
[f1].NumberFormatLocal = "G/通用格式" '设置F1单元格为常规格式