EXCEL、VBA

【VBA】0埋めをする

 

0埋めをする構文

0埋めをする方法は結構単純です。

例えば8桁で前0埋めしたい時は、前に8桁分”0″をつけ右から8桁取得するとできます。

'8桁で前0にする文
Right("00000000" & 文字列, 8)

'10桁で前0にする文
Right("0000000000" & 文字列, 10)

'実行例
Right("0000000000" & "123", 8)    ' 00000123
Right("0000000000" & "12345", 10) ' 0000012345

 

 

0埋めをする関数

0埋めをする関数です。コピーして使用することができます。

引数① Target:0埋めする文字

引数② digit:0埋めして何桁にするか

戻り値:0埋めした結果の文字列

Public Function zeroPadding(ByVal Target As String, ByVal digit As Long) As String
    Dim zero As String
    For i = 1 To digit
        zero = zero & "0"
    Next
    '0埋め処理
    zeroPadding = Right(zero & Target, digit)
End Function

 

実行結果

上の関数を実行した例です。

Debug.Print zeroPadding("1", 2)  ' "1"を前0の2桁にする
' 01

Debug.Print zeroPadding("7", 5)  ' "7"を前0の5桁にする
' 00007

※Debug.Print:実行結果(返り値)をイミディエイトウィンドウに表示する文です