String関数で同じ文字を繰り返します
今回紹介するのは String関数 です。この関数は
と記述して、[文字列] の先頭文字を指定した [数値] だけ繰り返すという、とてもシンプルな関数なのです。たとえば
'VBA String関数のサンプルコード
Sub Repeat_1()
Debug.Print String(3, "ABCDE")
End Sub
というマクロを実行すると
というように A という文字を 3 回繰り返して表示されます。2つめの引数には ASCIIコードまたは JISコードを指定することもできます。たとえば
'VBA ASCIIの66番に対応する文字列を表示
Sub Repeat_2()
Debug.Print String(5, 66)
End Sub
と書けば、ASCII で 66 に対応するアルファベット B が 5 個並びます。
もっと楽しいマクロを作ってみましょう。
'VBA ☆マークを並べます
Sub Star()
Dim mymsg As String
mymsg = "好きな数を入力してね"
x = Application.InputBox(prompt:=mymsg, Type:=1)
Debug.Print String(x, "☆")
End Sub
Star() を実行するとダイアログボックスで数字の入力を促されるので、たとえば「 5 」と入力すると
というように☆が 5 つ並びますよ。
次はもう少し実践的なマクロを作ってみましょう。
下のようなワークシートを用意してくださいな。
それぞれの営業担当者さんの売上が C 列に数値で入力されています、
これをわかりやすくチャートで表示させてみますよ。
'VBA 売上をチャートで表示させます
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 に入れたときに自動的に整数の値となりますよ。まあとにかく、Chart() を実行すると ...
売上がグラフで表示されましたね。それでは、また次回お会いしましょう。