2015-03-02 92 views
0

我在下面發佈的代碼(記錄的宏)使用文本列來更改六位數的日期(mm/dd/yy)至八列(mm/dd/yyyy)。代碼保留在同一列中。Excel將多個文本轉換爲列將六位數日期(mm/dd/yy)轉換爲八(mm/dd/yyyy)

Sub ConvertYears() 
Range("Table_Wholesale8[Proceed_ECD]").Select 
    Selection.TextToColumns Destination:=Range("J2"), DataType:=xlDelimited, _ 
     TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _ 
     Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _ 
     :=Array(1, 3), TrailingMinusNumbers:=True 
End Sub 

我的問題是,我需要這樣做到一次多個列。可能有幫助的解決方案是讓該宏循環遍歷列並轉換日期格式或列中的列(J:AT)。

請注意,我對VBA很新。

回答

0

循環的代碼看起來是這樣的:(對於j列數爲10,AT 46)

Sub ConvertYears() 
    Dim i as integer 
    For i = 10 to 46 
     Range(chr(i+64) & "2").Select 
     Selection.TextToColumns Destination:=Cells(2, i), DataType:=xlDelimited, _ 
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _ 
    Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _ 
    :=Array(1, 3), TrailingMinusNumbers:=True 
    Next i 
End Sub 
+0

我收到「運行時錯誤‘1004’:的「方法‘範圍’ object_Global'失敗 – user4581436 2015-03-02 21:21:13

+0

我修正了發生錯誤的那一行,現在試試看看是否解決了這個問題,如果沒有,請告訴我 – 2015-03-02 21:26:50

+0

t現在突出顯示第5,6,7和8列。是:範圍類的TexttoCoulmns方法失敗 – user4581436 2015-03-02 21:59:42