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

单元格A1有数字200902(常用格式)要在单元格B1中显示Feb,09"初学VBA,很多还是不懂问题1:下面的思路对吗?有好的方法可以帮忙说下吗?把200902用lef... 单元格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)&"'"
展开
 我来答
jmeycn
推荐于2016-05-22 · TA获得超过373个赞
知道小有建树答主
回答量:331
采纳率:50%
帮助的人:146万
展开全部
问题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”。
discovery522
推荐于2016-11-15 · TA获得超过4715个赞
知道大有可为答主
回答量:2308
采纳率:71%
帮助的人:1647万
展开全部
对于月份的自动识别可以使用函数 MonthName(month[, abbreviate]) 返回一个表示指定月份的字符串。

MonthName函数语法有如下几部分:
month 必需的。月份的数值表示。例如一月是1,二月是2,等等。
abbreviate 可选的。Boolean值,表示月份名是否缩写。
如果忽略,缺省值为False,表明月份名不能被缩写。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cnmhdzc
2009-02-14 · TA获得超过1181个赞
知道小有建树答主
回答量:1146
采纳率:0%
帮助的人:805万
展开全部
第一:如果是日期时间等数值,按照通用格式输入如2009-2、2009-2-14、14:50==
改变单元格格式最简单的办法是录制宏记录下改变格式的过程,查看代码:
例如 Range("A2").Select
Selection.NumberFormatLocal = "[$-409]d-mmm-yy;@"
Range("A1").Select
Selection.NumberFormatLocal = "[$-409]mmm,yy;@"
ActiveCell.FormulaR1C1 = "Feb-2009"
Range("A3").Select
Selection.NumberFormatLocal = "[$-F800]dddd, mmmm dd, yyyy"

第二、非要调整的话,在excel中调整,毕竟你知道left、right拆分。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式