Excel VBA:Format関数で0埋めを行い表示桁を揃える

Excel VBAでFormat関数を使用し0埋めを行う方法を掲載します。

数値の前に0を付けて表示桁を揃えて表示したい場合があります。

その場合Format関数を使うのが簡単ですが、0を指定しても揃わない場合があります。

その時の対処方法についても掲載します。


Homeに戻る > Excel 文字列関数のTipsへ



関数を使用しないで数値を表示した場合

通常の方法でセルに数値を代入するVBAです。
セルに数値を代入するVBA

Sub MyFormat1()
    Range("B2") = 9
    Range("B3") = 98
    Range("B4") = 987
End Sub

実行結果です。
Excelは数値と認識し右揃えで表示しています。
Excelは数値と認識し右揃えで表示

Format関数で0埋めを指定した場合

Format(数値, "00000")を使用し、5桁以下の場合は先頭に0を追加し表示させるVBAです。
先頭に0を追加し表示させるVBA

Sub MyFormat2()
    Range("B2") = Format(9, "00000")
    Range("B3") = Format(98, "00000")
    Range("B4") = Format(987, "00000")
End Sub

実行結果です。
Excelは数値の判定し、0埋めした0を削除してしまいました。
この場合、事前にセルの書式設定で文字列に設定しておけば0埋めされた文字列として表示できます。
Excelは数値の判定し、0埋めした0を削除した

Format関数で0埋めできない場合の対処方法

Format関数の書式設定に「'(シングルクォート)」を追加したVBA
Format関数の書式設定に「'(シングルクォート)」を追加したVBA

「'」を追加しましたが、先に「NumberFormatLocal="@"」を実行し文字列に書式設定してもOKです。

Sub MyFormat3()
    Range("B2") = Format(9, "'00000")
    Range("B3") = Format(98, "'00000")
    Range("B4") = Format("987", "'00000")
End Sub

実行結果です。
0埋めで桁揃えができました。
0埋めで桁揃えができた

数値のように右揃えで表示するには

1.揃えるセルを選択します
2.リボンの[ホーム]~配置グループの[右揃え]をクリックします。
配置グループの[右揃え]をクリック

これで数値のように表示され見易くなります。
数値のように表示された

Homeに戻る > Excel 文字列関数のTipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved