Excel VBA – 调整date格式

我有一个代码行:

.Range("D2").Resize(UBound(vef, 1), 1) = vef 

vef是数据的数组。 我可以编辑这一行,所以它粘贴在date格式vef dd.mm.yyyy hh:mm:ss vef

这应该很容易。 所有你需要做的是使用相同的范围,并改变单元格的数字格式。 请注意:被粘贴的值是不变的(你的数组中的值应该是date)。 Excel应用一种格式,以便显示内容被更改,但不会丢失基本信息。

如果你的数组充满了string,你会希望把它们转换成date事先。 Excel可能会隐式地执行此操作(例如,它可能会自动格式化它们,尽pipe原始值是date),但显式转换是首选。

对于你的代码,使用这个:

 With .Range("D2").Resize(UBound(vef, 1), 1) .Value = vef .Numberformat = "dd.mm.yyyy hh:mm:ss" End With 

最后,我只想指出你的Ubound(vef, 1)只有在你的数组是1的时候才能工作。 如果它是基于0的,则resize的范围将被减去1.可用于查找数组中维的长度的公式为:

 Length = (Ubound(Array, DimensionNumber) - LBound(Array, DimensionNumber)) + 1 

所以在你的情况下:

 Length = (Ubound(vef, 1) - LBound(vef, 1)) + 1 

祝你好运!