指定した文字を繰り返す(String関数)|Excel VBA |
引数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