VBA如何把数字识别为文本转成时间格式

来源:百度知道 编辑:UC知道 时间:2024/05/06 00:11:58
单元格A1有数字200902(常用格式)要在单元格B1中显示Feb,09"
初学VBA,很多还是不懂
问题1:下面的思路对吗?有好的方法可以帮忙说下吗?
把200902用left、right拆分成2009和02?再换算成Feb&09
问题2:string、integer之间转换有什么要注意的?
=TEXT(RIGHT(A2,2)*29,"mmm")&", "&MID(A2,3,2)&"'"

对于月份的自动识别可以使用函数 MonthName(month[, abbreviate]) 返回一个表示指定月份的字符串。

MonthName函数语法有如下几部分:
month 必需的。月份的数值表示。例如一月是1,二月是2,等等。
abbreviate 可选的。Boolean值,表示月份名是否缩写。
如果忽略,缺省值为False,表明月份名不能被缩写。

问题1:
思路可以,对于月份的自动识别可以使用函数 MonthName(month[, abbreviate]) 返回一个表示指定月份的字符串。

MonthName函数语法有如下几部分:
month 必需的。月份的数值表示。例如一月是1,二月是2,等等。
abbreviate 可选的。Boolean值,表示月份名是否缩写。如果忽略,缺省值为False,表明月份名不能被缩写。

问题2:
数据类型的转换可以使用
1) CInt 函数将一数值转换为 Integer。

Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble 为 Double 类型。
MyInt = CInt(MyDouble) ' MyInt 的值为 2346。
'要注意变量转换后不能超出Integer的范围,否则会报错。

2)CStr 函数将一数值转换为 String。

Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble 为 Double 类型。
MyString = CStr(MyDouble) ' MyString 的内容为“437.324”。

第一:如果是日期时间等数值,按照通用格式输入如2009-2、2009-2-14、14:50==
改变单元格格式最简单的办法是录制宏记录下改变格式的过程,查看代码:
例如 Range("A2").Select