vba - 数字到日期

标签 vba excel

我有一个数字形式的日期,如下所示:20150529有没有办法把它转换成 29/05/2015 ?

我需要为此编写一个宏。

我有这段代码,但它不起作用:

Dim Current_Date As Date
Dim Date_String As String


Range("K2").Select
Date_String = Range("K2").Value
Current_Date = CDate(Date_String)
Range("Q2").Select
Range("Q2").Value = Current_Date

最佳答案

Range.TextToColumns method可以快速处理所选内容中的一个或多个单元格或 20150629 之类的整个列中的日期。

sub YMD_2_Date
    with selection
        .TextToColumns Destination:=.cells(1), DataType:=xlFixedWidth, _
                       FieldInfo:=Array(0, 5)
    end with
end sub

xlColumnDataType property xlYMD 格式 (例如 5 )强制 Excel 将数字视为年月日。

这可以通过循环从选择(单列中的一个或多个单元格)扩展到多列。

关于vba - 数字到日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32580908/

相关文章:

excel - 有没有比 FOR EACH 更快的方法来使用 VBA 设置单元格值

excel - 无需 VBA 查找最后一个非空单元格地址

c# - ListView 不将列导出到 excel

vba - Countif 不计算往年

excel - 打开/关闭工作簿并刷新连接

vba - 如何将范围传递给 Word VBA 中的子对象?

VBA以特定名称保存工作表

.net - COM Interop无需再充气

excel - 从 Excel 中的命名范围中省略特定值

excel - 尽管存在匹配项,Vlookup 返回 N/A