[英]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.