Excel vba - 调整为日期格式

时间:2017-09-11 11:35:46

标签: excel vba excel-vba

我的代码中有一行:

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

其中vef是包含数据的数组。我可以编辑此行,以便在日期格式vef

中粘贴dd.mm.yyyy hh:mm:ss

1 个答案:

答案 0 :(得分:1)

这应该很容易。您需要做的就是使用相同的范围并更改单元格的数字格式。请注意:粘贴的值不变(数组中的值应为日期)。 Excel应用格式,以便更改显示的内容,但不会丢失基础信息。

如果你的数组中充满了字符串,你会想要预先将它们转换为Dates。 Excel可以隐式执行此操作(例如,它可以自动格式化它们,尽管原始值是日期),但首选显式转换。

对于您的代码,请使用:

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

最后,我只想指出,只有你的数组基于1时,你的Ubound(vef, 1)才有效。如果它基于0,则调整后的范围将偏离1.可用于查找数组中维度长度的公式为:

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

所以在你的情况下:

Length = (Ubound(vef, 1) - LBound(vef, 1)) + 1
祝你好运!