VBA日期格式转换问题

请问我下面的代码有什么问题?
为什么我一直都输出不了2012-04-12这个格式?

SUB KK()
Range("a40").Value = Format("2012/4/12", "0000-00-00")
END SUB

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

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

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

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

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

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-28
两个问题: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”,但是写到单元格里面,必须先把单元格搞成文本

本回答被提问者采纳
第2个回答  2019-03-11
更改Windows的系统设置,从左下角的时间那里 (win7)左键——更改日期和时间设置——日期和时间——更改日期和时间——更改日历设置——短日期 设置为yyyy-MM-dd ,改完之后,Excel就会把输入的日期优先显示成yyyy-MM-dd格式的。
第3个回答  2013-04-08
SUB KK()
Range("a40").Value = Format("2012/4/12", "YYYY-MM-DD")
END SUB

如果满意请点一下满意按钮
第4个回答  2013-04-08

如下:

Sub KK()
With Range("a40")
.Value = "2012/4/12"
.NumberFormatLocal = "yyyy-mm-dd"
End With
End Sub

求助!关于使用vba进行日期格式转换的请教
接着,找到并选中您需要转换日期格式的单元格或数据区域。在Excel的菜单栏上,单击“开发”选项,然后在下拉菜单中选择“VisualBasic”或“VBA”选项,这将打开VBA编辑器窗口。在VBA窗口中,新建一个名为“dateTra”的模块,然后输入以下代码:`PrivateSubdateTra()DimdatetimeAsDatedatetime=#2020\/2\/13#...

VBA日期格式转换问题
1、首先在开发工具中打开VBA编辑器。2、在单元格区域当中输入一些内容作为例子。3、在VBA编辑器中插入模块。4、在模块当中输入如下代码,然后运行。5、在A列输入“6-15”格式之数据,单元格将返回“2007年6月15日星期五”,而在其他列输入则忽略。

求助!关于使用vba进行日期格式转换的请教
1、首先双击打开Excel表格。2、其次在Microsoft Office Excel2007版界面上,选中底部工作表,右键点击“查看代码”。3、接着在弹出的VBA窗口中,输入日期格式转换的代码“Private Sub dateTra() Dim datetime datetime = "2020\/2\/13" MsgBox (Format(datetime, "YYYY-MM-DD")) End Sub ”。4、其次...

如何通过vba把时间格式的时间转换成特定格式的文本
1、首先使用excel软件打开相关的表格,进入表格界面。2、然后在表格页面中,选择需要转化成日期的区域,这个的目的就是选择相关的区域。3、然后找到开始菜单栏目,这个菜单栏目很容易找到。4、在开始菜单里面可以看到一个数字页面,接着点击右下角的角标,然后进入编辑框。5、在相关的编辑框里面,可以看到有...

vba把一个带时间的日期转为不带时间的日期
而显示格式为“yyyy\/m\/d”,时间只是被隐藏了,需要将日期格式统一为“yyyy\/m\/d”。先创建辅助F列,在单元格F2输入函数公式“=INT(B2)”并向下填充;将单元格F列全选复制,再将B列全选单击右键选择“选择性粘贴”跳出该面板,选择粘贴为数值,左键单击确定即完成日期格式转换;最后删除辅助F列。

VBA日期格式化字符串,VBA字符串格式化日期
首先,当我们将字符串转换为日期格式时,需要使用`DateSerial`函数或`CDate`函数,以确保日期被正确解析。例如,将字符串“2022\/06\/20”格式化为日期,可以使用以下代码:vbnet Dim strDate As String Dim dateValue As Date strDate = "2022\/06\/20"dateValue = CDate(strDate)执行上述代码后,变量...

vba 将日期时间类型转换成数字型
vba将日期时间类型转换成数字型的方法。如下参考:1.首先在开发工具中打开VBA编辑器。2.例如,在单元区域中输入一些内容。3.在VBA编辑器中插入模块,如下所示。4.在模块中输入以下代码,然后运行它,如下图所示。5.在a列中以“6-15”格式输入数据数据,单元格将返回“sundate5,June15,2007”,并...

vba 保存csv文件日期格式由原来的yyyy\/mm\/dd变成了mm\/dd\/yyyy
其实CSV里面保存的是一个 时间戳,就是时间的毫秒值,显示的格式跟你的系统时间设置有关,你可以在 控制面板,区域设置里面找到 时间的长格式,短格式设置看看

VBA将日期存入数组,格式自动变化了
他就是随着数据的变化而自动变化。输入时间日期是数据处理过程当中最常做的工作之一。收入的数据往往是固定不变或者是随系统的时间再改变的,如果说再更新数据时需要时间日期随着更新,而且数据固定不变就比较难。

想用VBA批量替换日期的格式,例如2012.08.07 替换为08\/07\/2012,使得在e...
(不需VBA替换)分两步进行:1、替换:将。替换为\/ 2、将单元格格式改为自定义,如下图

相似回答