2017-03-08 52 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谢谢 - 看到更正。 –