VBAで数値の0埋めをする方法!right関数を応用します!

こちらの記事では、right関数やleft関数を含む3つの関数の使い方を解説しました。

right関数やleft関数の応用的な使い方として、数値の0埋めができる方法があるんです。

例えば、5という数値を005としたいとか。

そこで本記事では、『right関数やleft関数を応用して数値の0埋めをする方法』について解説します。

1.right関数で数値の左側を0埋めするケース

こんにちは。エクセルマン・ブリーダーのしもむぎ(@re_znd13)です。

まずはright関数を使うケースを見ていきましょう。

right関数は、その名の通り、文字列の右側(後ろ側)を取り出すものです。

これを応用すると、数値の左側に0埋めをすることができます。

例えば、5という数値を005として扱いたい場合。

考え方としては、0をいくつかつなげた文字列(例えば0000)と、5という数値をくっつけて00005という文字列を作り、右から必要な桁数を取り出す、ということになります。

VBAコードと結果は以下のようになります。

Sub right0()
Dim num As Long
Dim str As String

num = 5
str = Right("0000" & num, 3)
MsgBox str

End Sub

right関数では左側の0埋めをするというのが肝ですね。

これは、肝心の数値の桁が変わった場合に0埋めがしやすいからですね。

試しに上のコードでnumを10としてみると・・・

無事0埋めをした10という数値ができました!

2.left関数で数値の右側を0埋めするケース

次に、left関数を使うケースを見ていきます。

left関数は、right関数とは逆に、文字列の左側(前側)を取り出すものです。

これを応用して数値の右側を0埋めしてみましょう。

VBAコードと結果は以下になります。

Sub left0()
Dim num As Long
Dim str As String

num = 5
str = left(num & "00000", 3)
MsgBox str

End Sub

3.おまけ編:セルの書式設定で対応するケース

最後に、セルの表示形式を変更して0埋めするケースを見てみますね。

セルの書式設定を開いて、表示形式のタブを選択します。

分類欄でユーザー定義を選択し、右の種類という欄に00#と入れます。

これで005や010という0埋めの3桁の数値を表示することが可能です。

0の数はお好みで。

こちらの方法も便利でよく使うものなので、お試しくださいね。

4.まとめ

本記事では、『right関数やleft関数を応用して数値の0埋めをする方法』について解説しましたが、いかがでしたか?

ワークシート上ではセルの書式設定をユーザー定義することでも対応可能ですので、どちらの方法もぜひ押さえておきましょうね。