この記事では、VBA の String 関数の基本的な使い方をサンプルコード付きで解説します。記事の後半では、String 関数を使って簡単なチャートを作成してみます。
【VBA】String
VBA の String は
String(数値,文字列)
と記述して、引数として渡した文字列の先頭文字を指定回数だけ繰り返すシンプルな関数です。たとえば
'[VBA] String関数のサンプルコード Sub StringTest_1() Debug.Print String(3, "ABCDE") End Sub
を実行すると「AAA」というように文字列 “A” を 3 回繰り返して表示されます。2つめの引数に ASCII コードまたは JIS コードを指定することもできます。たとえば
'[VBA] ASCIIの66番に対応する文字列を表示 Sub StringTest_2() Debug.Print String(5, 66) End Sub
と書けば、ASCII で 66 に対応するアルファベット B が 5 個並びます。
String関数を使って楽しいマクロを作ってみましょう。
'[VBA] ☆マークを並べます Sub Star() Dim mymsg As String mymsg = "好きな数を入力してね" x = Application.InputBox(prompt:=mymsg, Type:=1) Debug.Print String(x, "☆") End Sub
Star() を実行するとダイアログボックスで数字の入力を促されるので、たとえば「 5 」と入力すると「☆☆☆☆☆」というように☆が 5 つ並びます。
Stringでチャートを作成します
もう少し実践的なマクロを作ってみましょう。
下のようなワークシートを用意してくださいな。
それぞれの営業担当者さんの売上が 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() を実行すると …
売上がグラフで表示されましたね。それでは、また次回お会いしましょう。
≫【VBA】Lenで文字数をカウント
コメント