関数を使用しないで数値を表示した場合
通常の方法でセルに数値を代入するVBAです。
Sub MyFormat1()
Range("B2") = 9
Range("B3") = 98
Range("B4") = 987
End Sub
実行結果です。
Excelは数値と認識し右揃えで表示しています。
Format関数で0埋めを指定した場合
Format(数値, "00000")を使用し、5桁以下の場合は先頭に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埋めされた文字列として表示できます。
Format関数で0埋めできない場合の対処方法
Format関数の書式設定に「'(シングルクォート)」を追加したVBA
「'」を追加しましたが、先に「NumberFormatLocal="@"」を実行し文字列に書式設定してもOKです。
Sub MyFormat3()
Range("B2") = Format(9, "
'00000")
Range("B3") = Format(98, "
'00000")
Range("B4") = Format("987", "
'00000")
End Sub
実行結果です。
0埋めで桁揃えができました。
数値のように右揃えで表示するには
1.揃えるセルを選択します
2.リボンの[ホーム]~配置グループの[右揃え]をクリックします。
これで数値のように表示され見易くなります。