2017-03-08 48 views
0

我需要清理數據表以最終爲NCAA男子籃球創建支架佈局。不幸的是,我獲得的一些數據已將記錄(即10-20)改變爲10月20日,而大多數其他記錄仍以Win-Loss格式(即20-10)保存。任何人都可以提供關於如何將日期格式(10月20日)轉換回VBA工作表的預期雙贏格式(10-20)的建議?Excel VBA-數據清理 - 日期到字符串

任何幫助將不勝感激,因爲我是新手,並且必須使用VBA來解決這個問題。

+0

萬分感謝!只要把它工作。 – Wombat

回答

2

選擇要轉換並運行此短宏小區:

Sub fixdata() 
    Dim v As Variant 

    For Each r In Intersect(ActiveSheet.UsedRange, Selection) 
     v = r.Value 
     If v <> "" And IsDate(v) Then 
      r.Value = "'" & Day(v) & "-" & Month(v) 
     End If 
    Next r 
End Sub 

前:

enter image description here

後:

enter image description here

編輯# 1:

更正:

Sub fixdata() 
    Dim v As Variant 

    For Each r In Intersect(ActiveSheet.UsedRange, Selection) 
     v = r.Value 
     If v <> "" And IsDate(v) Then 
      r.Value = "'" & Month(v) & "-" & Day(v) 
     End If 
    Next r 
End Sub 
+0

是否應該將10月20日的入門轉換爲10-20而不是20-10,並將6月的入門轉換爲4-6而不是6-4?從這個問題聽起來像月日是必需的,而不是日月 – barrowc

+1

@barrowc謝謝 - 看到更正。 –