桁数を揃えないといけない
エクセル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なのか判定する
コメント