我想将日期格式 dd/mm/yyyy 更改为 yyyy.mm.dd 。
sub m()
dim date1 as date
dim date2 as date
date1= #1/1/2008#
date2= #1/1/2008#
for conteo = date1 to date2
conteo = Format$(conteo, "yyyy.mm.dd")
sheets(1).range("A1").value= conteo
next conteo
end sub
在如下行中:
conteo = Format$(conteo, "yyyy.mm.dd")
它会转换,但它在日期周围有引号,当我在格式函数中将“yyyy.mm.dd”更改为 yyyy.mm.dd 时,我遇到“需要对象”错误。
谢谢
最佳答案
首先,您使用与循环 ctr 相同的变量和格式化字符串的存储空间。
同时从格式中删除 $。 (与否,请看@thunderframe 在评论中解释的原因。)
你会在调试过程中看到引号 (") 因为 format 返回一个字符串,但是当你把值放到单元格中时,它就会消失。
Sub m()
Dim date1 As Date
Dim date2 As Date
date1 = #1/1/2008#
date2 = #1/1/2008#
For conteo = date1 To date2
strDate = Format(conteo, "yyyy.mm.dd")
Sheets(1).Range("A1").Value = strDate
Next conteo
End Sub
此外,由于您已将 date1 和 date2 作为 Date
类型,另一种更好的方法将是。
Sub m()
Dim date1 As Date
Dim date2 As Date
date1 = #1/1/2008#
date2 = #1/1/2008#
For conteo = date1 To date2
Sheets(1).Range("A1").NumberFormat = "YYYY.MM.DD"
Sheets(1).Range("A1").Value2 = conteo
Next conteo
End Sub
关于vba - EXCEL VBA : How to convert dd/mm/yy into yyyy. mm.dd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38340696/