2012-11-12 41 views
0

我有以前impraoted到Excel中的數據,並希望將該數據自動放入正確的格式。VBA texttocolumns忽略一列

現在我的日期看起來像這樣:28122012這應該是28.12.2012 我的代碼與我在網上找到的一些資源放在一起,運行良好,除了一個障礙...它忽略列V:

Dim rngS As Range 
    For Each rngS In .Range("F:F,U:W").Columns 
     rngS.TextToColumns Destination:=rngS.Cells(1, 1), _ 
DataType:=xlFixedWidth, FieldInfo:=Array(0, 4) 
    Next 

我不確定它爲什麼這樣做。我已經試過寫出每一欄,但沒有去。列V保持原樣,而其周圍的所有內容均得到正確格式化。

任何想法,爲什麼這可能是?

謝謝!

+2

我試過你的代碼,它適用於我。如果您檢查V列中的單元格格式,是否與操作之前的其他列不同? –

+0

嗨,Olle。看起來該列中的具體日期已經被刪除。這是1122012 ...似乎並不需要。事實上,通過翻閱,我注意到它也發生在其他轉換的列中。那裏的日期保持舊格式。你如何獲得卓越的轉換?任何想法?謝謝你的提示! – rohrl77

回答

0

問題是它粘貼的字段將數值視爲數值。

唯一真正的補救措施是將類型設置爲文本,以便可能具有此類日期值的該列和其他列。然後01122012不會失去其起始零。

或者,您可以讓您的後續代碼或公式預計缺少的零並使用LEFT(),RIGHT()和類似函數回到日期值。