2015年12月13日日曜日

Excel:指数表示にされてしまった数値を一気に直すマクロ

Excelで指数表示にされてしまった数値は、区切り位置指定ウィザードを使えば列ごと直せるのに気づいたのはもうずいぶん前のことです。


今は同じことをマクロでやっています。


Selection.TextToColumns DataType:=xlDelimited, FieldInfo:=Array(1, xlTextFormat)


マクロを使う利点は、特に複数列を処理する場合にあります。手作業では1列ずつしかできないからです。


Dim r As Range

For Each r In Selection.Columns
         r.TextToColumns DataType:=xlDelimited, FieldInfo:=Array(1, xlTextFormat)
Next


仕事でCSV形式のデータを扱うことが多く、今だに頻繁に使っています。

ついでにおまけです。
YYYYMMDD形式の日付データをYYYY/MM/DD形式に変換したい時、昔は関数を使って年・月・日の文字列を取り出して・・・なんてことをやってました。これも上の方法でデータ形式を指定すれば、列ごと変換できます。


Selection.TextToColumns DataType:=xlDelimited, FieldInfo:=Array(1, xlYMDFormat)


なぜか数式バーの表示が変わっていませんが、セルを選択し直すなどすれば更新されます。


これも便利な機能です。

0 件のコメント:

コメントを投稿