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
展开
 我来答
肥仙女a
高粉答主

2020-04-14 · 我是游戏小达人,专注于分享游戏资讯。
肥仙女a
采纳数:477 获赞数:115604

向TA提问 私信TA
展开全部

1、首先在开发工具中打开VBA编辑器。

2、在单元格区域当中输入一些内容作为例子。

3、在VBA编辑器中插入模块。

4、在模块当中输入如下代码,然后运行。

5、在A列输入“6-15”格式之数据,单元格将返回“2007年6月15日星期五”,而在其他列输入则忽略。

liujj4241
推荐于2017-09-28 · TA获得超过4043个赞
知道大有可为答主
回答量:7021
采纳率:58%
帮助的人:785万
展开全部
两个问题: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
追问
我用MSGBOX输出这个值的时候,它始终显示的是2012/4/4这种格式.这个是为什么呢?
追答
不会,MsgBox Format("2013/4/12", "YYYY-MM-DD")这样肯定是“2013-04-12”,但是写到单元格里面,必须先把单元格搞成文本
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
toatt
2019-03-11
知道答主
回答量:6
采纳率:0%
帮助的人:5282
展开全部
更改Windows的系统设置,从左下角的时间那里 (win7)左键——更改日期和时间设置——日期和时间——更改日期和时间——更改日历设置——短日期 设置为yyyy-MM-dd ,改完之后,Excel就会把输入的日期优先显示成yyyy-MM-dd格式的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zx001z7d53
2013-04-08 · TA获得超过2万个赞
知道大有可为答主
回答量:2.4万
采纳率:52%
帮助的人:5656万
展开全部
SUB KK()
Range("a40").Value = Format("2012/4/12", "YYYY-MM-DD")
END SUB

如果满意请点一下满意按钮
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tf日出
2013-04-08 · TA获得超过1076个赞
知道小有建树答主
回答量:648
采纳率:0%
帮助的人:259万
展开全部

如下:

Sub KK()
With Range("a40")
.Value = "2012/4/12"
.NumberFormatLocal = "yyyy-mm-dd"
End With
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式