HOME > 即効テクニック > Excel VBA > 文字列操作関連のテクニック > 指定した文字を繰り返す(String関数)

指定した文字を繰り返す(String関数)|Excel VBA

文字列操作関連のテクニック

指定した文字を繰り返す(String関数)

(Excel 2000/2002/2003/2007/2010/2013/2016)

引数Characterで指定した文字を引数Numberの数だけ繰り返して並べた文字列を、バリアント型(内部処理形式String)で返します。
引数Characterには文字コードと文字列式を指定できますが、2文字以上の文字列を指定した場合にはその先頭の文字だけを繰り返して返します。

構文 String(Number, Character)
設定項目 内容
Number 文字をいくつ並べるかを指定 [省略不可]
Character 文字コード(ASCII、シフトJIS)か文字列式を指定 [省略不可]

メッセージボックス内で改行を5回繰り返す場合、Chr関数や組込み定数を5つ並べる代わりにString関数を用いるとコードを簡略化できます。
また、特定の長さの空白をSpace関数で作るのと同様に、ある文字で特定の長さの文字列を作成するのにも便利です。

次のサンプルは、改行、「-(ハイフン)」、変数をそれぞれ5回繰り返すよう指定しています。

Sub Sample()
    Dim strRpt As String
    strRpt = "モーグ"
    
    MsgBox "改行を5回繰り返します:" & String(5, 13) & _
           """ - ""を5回繰り返します:" & String(5, "-") & vbCrLf & _
           "変数を5回繰り返します:" & String(5, strRpt)
End Sub

変数strRptは「モーグ」の3文字が格納されていますが、先頭の「モ」だけが5回繰り返されます。実行結果を確認してください。

●補足●

ワークシート関数のREPT関数を使うと、2文字以上の文字列を繰り返すことができます。

Sub Sample2()
    MsgBox "「モーグ」を5回繰り返します:" & _
              WorksheetFunction.Rept("モーグ", 5)
End Sub