ゼロ埋め番号文字列を作る関数を自作した
ゼロ埋め番号を作る関数
調子に乗って関数化
こいつら
をもとに、最大数に応じてゼロ埋め数字の文字列を返す関数を作ってみた。
仕様
書式
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)
と書いて実行した結果が、
コチラ。
ゼロ埋め番号ができている。
おわりに
何か意味あるんだろか、コレ???