簡體   English   中英

vba - 根據數字格式更改單元格的值

[英]vba - change value of cell based on number format

我有一堆日期需要上傳到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上傳失敗。

我該怎么做呢?

選擇要處理和運行的單元格:

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

使用Activecell.Text而不是Activecell.value

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

如果您不想在宏中進行更改,請嘗試此鏈接https://support.office.com/en-ca/article/Format-a-date-the-way-you-want-8e10019e-d5d8-47a1- ba95-db95123d273e

您可以創建自定義日期格式,並使其成為這些單元格的默認格式。 雖然,我會說Sobigen有更好的答案為您的目的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM