ゼロ埋め番号を作る関数
調子に乗って関数化
こいつら
をもとに、最大数に応じてゼロ埋め数字の文字列を返す関数を作ってみた。
仕様
書式
createNumberFilledByZero(最大数 , 対象数)
第1引数「最大数」には、ゼロ埋めケタ数の基準になる最大の数を指定する。Long型。たとえば、「1000」を指定すると4ケタのゼロ埋め数字文字列を作ることになる。
第2引数「対象数」には、ゼロ埋めにしたい数字を指定する。Long型。たとえば、第1引数が「1000」のときに、第2引数に「15」を指定すると、「0015」が返ることになる。
返り値
String型。第2引数で指定した数字を、第1引数によって決まるケタ数のゼロ埋め数字文字列にしたものが返る。処理中にエラーがでた場合は、「""」を返す。
ソースコード
リスト1
Public Function createNumberFilledByZero(ByVal numberOf As Long, _
ByVal currentNumber As Long) As String
On Error GoTo errorHandler
Dim maxNum As Long
maxNum = numberOf
Dim objNumber As Long
objNumber = currentNumber
Dim formatString As String
Dim n As Integer
Dim i As Integer
n = Len(CStr(maxNum)) - 1
formatString = String(n, "0") & "#"
createNumberFilledByZero = Format(objNumber, formatString)
Exit Function
errorHandler:
createNumberFilledByZero = ""
End Function
イミディエイト・ウインドウで実行するために、アクセス修飾子は「Public」にしてあります。必要に応じて「Private」にしたら良いと思います。
実行結果
イミディエイト・ウインドウに、
?createNumberFilledByZero(10000,5)
及び、
?createNumberFilledByZero(1000,5)
と書いて実行した結果が、

コチラ。
ゼロ埋め番号ができている。
おわりに
何か意味あるんだろか、コレ???