[ VBA ] 数値をゼロでパディングして桁数を揃える ( Right / Format )

Pocket

VBA で数値をゼロパディングして桁数を揃えるサンプルコードを掲載しています。Right 関数と Format 関数を使用したそれぞれのサンプルです。

スポンサーリンク


数値の桁数を0埋めして揃える

簡単な説明は後述してあります。まずは、サンプルコードを確認ください。

' Right 関数を使用て2桁に揃える方法
Dim num As Integer
num = 5
Right("0" & num, 2)

' Format 関数を使用して3桁に揃える方法
Dim str As String
str = Format(num, "000")

月や日の出力桁数を2桁に揃える

次に、需要の多いと思われる月や日の桁数を2桁に揃えるサンプルです。Right 関数を使用した場合は全く同じですが、Format 関数には日付専用の記述方法があらかじめ定義されています。月や日を2桁に揃えるとは、以下のようなよくあるパターンのことです。

2015年11月09日
2016年01月01日

' Right 関数を使用して出力を2桁に揃える
Right("0" & Month(Date), 2)

' Format 関数を使用して出力を2桁に揃える
Format(Date, "mm")

Month 関数で取得した月の先頭に0をつけて、さらに Right 関数で最後尾の2桁を取得する方法です。1月から9月までは、”01″ ~ “09” となり、Right 関数で最後尾の2桁を切り出しています。

例えば 12月の場合は、”0″ を加えることで3文字 “012” となりますが、最後尾2桁を切り出すので、先頭に付け足した “0” は結果的に切り取られることとなります。無駄な処理ですが、1月~9月と10月~12月を同じ方法(スクリプト)で処理するためのテクニックです。

良く使用される方法だと思います。覚えておいても損はないでしょう。

スポンサーリンク

Pocket

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>