なんだかGoodVibes

日々の勉強メモです。

文字列として保存されている数値を数値形式に変換する

エクセルで出力したときに数値が文字列として
設定されてしまうことありますよね。
並び替えを行うとき、比較するときなど
数値が文字列として設定されてしまうと困ることが多々ありますよね。
今回は、このような場合の対策です。
以下、サンプルです。

Sub ChangeCellFormat()

    With Range(Cells(1, 1), Cells(5, 1))
        .NumberFormatLocal = "G/標準"
        .Value = .Value
    End With

End Sub

サンプルでは、指定範囲を表示形式の標準に変更しています。
NumberFormatLocal に設定できるものは他にもあります。
いくつか記載してみます。
以下は、対応する表示形式の初期値を記載しています。

設定値 表示形式の分類
"G/標準" 標準
"0_ " 数値(-1234)
"yyyy/m/d" 日付
"0%" パーセント

表示形式にはたくさん種類があり、
使用する場面によって同じ分類でも異なる書式の場合もあるので
マクロの記録を有効にして実際に設定してみるといいと思います。