Mysql vba-基于数字格式更改单元格值

Mysql vba-基于数字格式更改单元格值,mysql,vba,excel,Mysql,Vba,Excel,我有很多日期需要上传到mySQL中,它们的值必须是YYYY-MM-DD格式。但是,Excel中的日期的文字单元格值为MM/DD/YYYY。我可以使用numberFormat更改单元格的外观,但我不知道如何将单元格的文本值更改为YYYY-MM-DD,以便将其正确上载到mySQL 例如: Excel的单元格值为11/23/2009 我可以使用activecell.numberFormat=“YYYY-MM-DD”将其更改为2009-11-23,但单元格中的值仍然是11/23/2009,因此mySQL

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

例如:

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

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


如何执行此操作?

使用
Activecell.Text
而不是
Activecell.value


或者
格式(activecell.value,“yyyy-mm-dd”)
如果不想在宏中进行更改,请尝试此链接

您可以创建自定义日期格式,并将其设为这些单元格的默认格式。
不过,我想说Sobigen有一个更好的答案供您参考。

选择您希望处理和运行的单元格:

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

漂亮-这正是我需要的。非常感谢。