vba - 根据数字格式更改单元格的值

时间:2015-05-08 14:57:59

标签: mysql vba excel-vba excel

我有一堆日期需要上传到mySQL,它们的值必须是YYYY-MM-DD格式。但Excel中的日期的文字单元格值为MM/DD/YYYY。我可以使用numberFormat更改外观的方式,但我不知道如何将单元格的字面值更改为YYYY-MM-DD,以便正确上传进入mySQL。

E.g。 -

Excel的单元格值是11/23/2009

我可以使用activecell.numberFormat = "YYYY-MM-DD"将其更改为2009-11-23,但单元格中的值仍为11/23/2009,因此mySQL上传失败。

我该怎么做?

3 个答案:

答案 0 :(得分:3)

选择您要处理并运行的单元格:

Sub FixDate()
    Dim r As Range, v as String

    For Each r In Selection
        With r
            .NumberFormat = "yyyy-mm-dd"
            v = .Text
            .Clear
            .NumberFormat = "@"
            .Value = v
        End With
    Next r
End Sub

答案 1 :(得分:0)

使用Activecell.Text代替Activecell.value

Format(activecell.value, "yyyy-mm-dd")

答案 2 :(得分:0)

如果您不想在宏https://support.office.com/en-ca/article/Format-a-date-the-way-you-want-8e10019e-d5d8-47a1-ba95-db95123d273e

中进行更改,请尝试使用此链接

您可以创建自定义日期格式,并使其成为这些单元格的默认格式。 虽然,我会说Sobigen为你的目的有更好的答案。