Excel日期类型

时间:2015-04-27 12:40:38

标签: excel excel-vba vba

我的Excel电子表格中有一个列日期。生成日期时,格式为2015/27/04 。但是,该列已格式化为“常规”。当我尝试将格式更改为“日期”时,我得到“########”的输出。有谁知道这是什么问题?

2 个答案:

答案 0 :(得分:0)

Image tutorial how change format

Video tutorial how change format

如果只有一个单元格,请单击它。 如果它们位于列中,请在列上方的字母上单击鼠标左键以选择并格式化整个列。 如果它们在一行中,则在行旁边的数字上单击鼠标左键以选择并格式化,突出显示部分(或单元格)以显示编辑菜单。在屏幕顶部的栏上选择“格式”。从下拉菜单中选择“单元格...”。

答案 1 :(得分:0)

选择您要更改的单元格并运行此短宏:

Sub Formatter()
    Dim r As Range

    For Each r In Selection
        ary = Split(r.Text, "/")
        If UBound(ary) = 2 Then
            r.Clear
            r.Value = DateSerial(ary(0), ary(2), ary(1))
            r.NumberFormat = "yyyy/dd/mm"
        End If
    Next r
End Sub

修改#1:

要在另一个子中使用它,我们必须修改 Formatter

Sub Formatter(rng As Range)
    Dim r As Range

    For Each r In rng
        ary = Split(r.Text, "/")
        If UBound(ary) = 2 Then
            r.Clear
            r.Value = DateSerial(ary(0), ary(2), ary(1))
            r.NumberFormat = "yyyy/dd/mm"
        End If
    Next r
End Sub

并提供调用例程:

Sub MAIN()
    Dim rng As Range
    Set rng = Sheets("Fund Trend").Range("A11:A60")
    Call Formatter(rng)
End Sub