桁数を揃えないといけない
エクセルVBAを使用し、桁数を揃えたい場合があります。
数値のゼロで埋める事が多く、その場合ゼロ埋め(ゼロパディング、ゼロフィル)といいます。
■例
・会員番号(顧客番号)の桁数を揃えるため、数字の前に0をつけたい
・商品コードの桁数揃えるため、数字の左側に0をつけたい
・会員番号(顧客番号)の桁数を揃えるため、数字の前に0をつけたい
・商品コードの桁数揃えるため、数字の左側に0をつけたい
桁数を揃えるサンプルコード
Format関数もしくはRight関数を使用しゼロ埋めして、表示桁を合わせます。
コードサンプル
'■指定した番号を0埋めする(ゼロパディング、ゼロフィル)
Public Sub sample()
'■Right関数の場合
MsgBox Right("00000" & 2, 5) '→00002
MsgBox Right("00000" & 10, 5) '→00010
'■Right関数と変数を上手く使う場合
Dim str As String
str = "00000"
MsgBox Right(str & 100, 5) '→00100
'■Format関数を使用する場合
MsgBox Format(2, "00000") '→00002
MsgBox Format(10, "00000") '→00010
'■Right関数と変数を上手く使う場合
str = "00000"
MsgBox Format(100, str) '→00100
End Sub
注意事項
Cells(1,1)=Format(2, “00000”)のように、セルに値を反映するコードの場合は注意必要です。
セルの表示形式によって0がカットされてしまうため、0埋め出来ない場合があります。
■エラー回避方法
1.シングルクォーテーションを前に挿入して強制的に文字列にする
2.セルの表示形式を文字列形式に変更しましょう。
※オススメは2です。
1の場合他システムとの連携時、シングルクォーテーションが読み込めなく、
エラーが発生可能性があるため
1.シングルクォーテーションを前に挿入して強制的に文字列にする
2.セルの表示形式を文字列形式に変更しましょう。
※オススメは2です。
1の場合他システムとの連携時、シングルクォーテーションが読み込めなく、
エラーが発生可能性があるため
関連記事
- 0埋めした文字列の0を削除する【Val関数応用】
- 文字列の前後を空白埋めで 桁数を揃える【Space関数/Right関数】
- 空白埋めした文字列の空白を削除する【LTrim関数】
- セル文字が空白(empty)か0なのか判定する



コメント