VBA日期格式转换问题
请问我下面的代码有什么问题?为什么我一直都输出不了2012-04-12这个格式?SUBKK()Range("a40").Value=Format("2012/4/12",...
请问我下面的代码有什么问题?
为什么我一直都输出不了2012-04-12这个格式?
SUB KK()
Range("a40").Value = Format("2012/4/12", "0000-00-00")
END SUB 展开
为什么我一直都输出不了2012-04-12这个格式?
SUB KK()
Range("a40").Value = Format("2012/4/12", "0000-00-00")
END SUB 展开
6个回答
展开全部
两个问题:1、Range("a40").Value = Format("2012/4/12", "YYYY-MM-DD"),“0000-00-00”不是合法的日期格式。
2、必须先把这个格子弄成文本显示,否则excel会自做聪明改成excel标准的日期类型“YYYY/M/D”
完成代码如下:
SUB KK()
Range("a40").NumberFormatLocal = "@"
Range("a40").Value = Format("2012/4/12", "YYYY-MM-DD")
END SUB
2、必须先把这个格子弄成文本显示,否则excel会自做聪明改成excel标准的日期类型“YYYY/M/D”
完成代码如下:
SUB KK()
Range("a40").NumberFormatLocal = "@"
Range("a40").Value = Format("2012/4/12", "YYYY-MM-DD")
END SUB
追问
我用MSGBOX输出这个值的时候,它始终显示的是2012/4/4这种格式.这个是为什么呢?
追答
不会,MsgBox Format("2013/4/12", "YYYY-MM-DD")这样肯定是“2013-04-12”,但是写到单元格里面,必须先把单元格搞成文本
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
更改Windows的系统设置,从左下角的时间那里 (win7)左键——更改日期和时间设置——日期和时间——更改日期和时间——更改日历设置——短日期 设置为yyyy-MM-dd ,改完之后,Excel就会把输入的日期优先显示成yyyy-MM-dd格式的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SUB KK()
Range("a40").Value = Format("2012/4/12", "YYYY-MM-DD")
END SUB
如果满意请点一下满意按钮
Range("a40").Value = Format("2012/4/12", "YYYY-MM-DD")
END SUB
如果满意请点一下满意按钮
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如下:
Sub KK()
With Range("a40")
.Value = "2012/4/12"
.NumberFormatLocal = "yyyy-mm-dd"
End With
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询