[VBA] String関数で同じ文字を繰り返します

String関数で同じ文字を繰り返します

 今回紹介するのは String関数 です。この関数は

String(数値,文字列)

と記述して、[文字列] の先頭文字を指定した [数値] だけ繰り返すという、とてもシンプルな関数なのです。たとえば

 Sub RepeatA()

  Debug.Print String(3, "ABCDE")

 End Sub

というマクロを実行すると

AAA

というように A という文字を 3 回繰り返して表示されます。2つめの引数には ASCIIコードまたは JISコードを指定することもできます。たとえば

 Sub RepeatB()

  Debug.Print String(5, 66)

 End Sub

と書けば、ASCII で 66 に対応するアルファベット B が 5 個並びます。
 

☆マークを並べます

 もっと楽しいマクロを作ってみましょー♪

 '☆マークを並べます

 Sub Star()

 Dim mymsg As String

 mymsg = "好きな数を入力してね"

 x = Application.InputBox(prompt:=mymsg, Type:=1)

 Debug.Print String(x, "☆")

 End Sub

 マクロを実行するとダイアログボックスで数字の入力を促されるので、たとえば「 5 」と入力すると

☆☆☆☆☆

というように☆が 5 つ並びますよ。面白いのねー♪
 

売上をチャートで表示させます

 次はもう少し実践的なマクロを作ってみましょー♪
 下のようなワークシートを用意してくださいな。

 VBAのString関数売上チャートA

 それぞれの営業担当者さんの売上が C 列に数値で入力されています、
 これをわかりやすくチャートで表示させてみますよ。

 '売上をチャートで表示させます

 Sub Chart()

 Dim j As Integer
 Dim x As Integer

 For j = 3 To 7

  x = Cells(j, 3).Value / 20

  Cells(j, 4) = String(x, "■")

 Next j

 End Sub

 売上 20 ごとに ■ 1 個が表示されるようにしています。
 変数 x を整数型で宣言してあるので、割り算した数値が小数であっても、x に入れたときに自動的に整数の値となりますよ。まあとにかく、このマクロを実行すると ......

 VBAのString関数売上チャートB

 売上がグラフで表示されましたねー。それでは、また次回お会いしましょー。

スポンサードリンク
末尾大型広告
末尾大型広告

コメントをどうぞ

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)