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

 この記事では、VBA の String 関数の使い方を解説します。

【VBA】String

 VBA の String

String(数値,文字列)

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

'[VBA] String関数のサンプルコード
Sub String_Test_1()
  Debug.Print String(3, "ABCDE")
End Sub

を実行すると

AAA

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

'[VBA] ASCIIの66番に対応する文字列を表示
Sub String_Test_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 つ並びますよ。
 

チャートの作成

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

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

 それぞれの営業担当者さんの売上が 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のString関数売上チャートB

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

コメント

タイトルとURLをコピーしました