0

以前にExcelに取り込まれたデータがあり、そのデータを自動的に適切な形式に変換したいと考えています。

現在、私の日付は次のようになっています。28122012これは28.12.2012であるはずです。オンラインで見つけたいくつかのソースと一緒にまとめた私のコードは、1つの障害を除いてうまく機能します...列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はそのままですが、その周りのすべてが適切にフォーマットされます。

なぜこれができるのか、何か考えはありますか?

ありがとう!

4

1 に答える 1

0

問題は、貼り付け先のフィールドが値を数値として扱っていることです。

唯一の実際の解決策は、そのような日付値を持つ可能性のあるその列と他の列のタイプをテキストに設定することです。その後、01122012は開始ゼロを失うことはありません。

LEFT()または、フォローアップコードまたは数式で欠落しているゼロを予測し、関数などを使用して日付値に戻すこともできますRIGHT()

于 2012-11-12T13:37:33.480 に答える