エクセルVBA 文字列操作のString関数の使い方についてです。
「文字を指定した数だけ並べることが出来る」という機能の関数です。
この関数を使えば簡潔なコード記述で実行することが出来ます。
こんにちは、じゅんぱ店長(@junpa33)です。
今回は、指定した文字を指定した数だけ並べるString関数についてです。
どういった時に使えるかというと、たとえば、いろんな利用法があると思いますが、
獲得点数をグループ全体の中で、比較参照しやすくする時に使うとか・・・。
ちょっと知ってると便利な関数です。
コンテンツ
String関数はどういう関数、どう使う?
よく何かを採点するときに「★3っつ」とか「トリプルA」とか使う時があります。
このString関数はそのような「同じ文字を並べる」時に最適な関数です。
つまり「文字を指定した数だけ並べることが出来る」関数なのです。
String関数の構文
String関数の構文
- String(「反復数」,「反復文字」)
「反復数」は必ず指定しなければなりません。長整数型
正の整数値で指定します。
「反復文字」は必ず指定しなければなりません。バリアント型
文字、文字列(先頭文字優先)、文字コード(ASCII 、シフト JIS)で指定します。
String関数の使用例
使用例の設定条件
例題として、10個の製品の評価点を一覧表にしています。
評価欄にA,B,C,D,Eランク分けで一目で評価結果を認識しやすくします。
同ランク内ではシングル~トリプルまでの3段階設定とします。
String関数のサンプルコード
- データ行数のループ変数・・・i
Option Explicit
Sub String関数Test()
Dim i As Long
'行数分のループ処理
For i = 2 To 11
'Select Caseで条件分岐を行う
Select Case Range("B" & i)
Case 90 To 94
'「A」を1回繰り返し
Range("C" & i) = String(1, "A")
Case 95 To 97
'「A」を2回繰り返し
Range("C" & i) = String(2, "A")
Case Is > 97
'「A」を3回繰り返し
Range("C" & i) = String(3, "A")
Case 80 To 84
Range("C" & i) = String(1, "B")
Case 85 To 87
Range("C" & i) = String(2, "B")
Case Is > 87
Range("C" & i) = String(3, "B")
Case 70 To 74
Range("C" & i) = String(1, "C")
Case 75 To 77
Range("C" & i) = String(2, "C")
Case Is > 77
Range("C" & i) = String(3, "C")
Case 60 To 64
Range("C" & i) = String(1, "D")
Case 65 To 67
Range("C" & i) = String(2, "D")
Case Is > 67
Range("C" & i) = String(3, "D")
Case Is < 60
Range("C" & i) = String(1, "E")
End Select
Next i
End Sub
【実行結果】
評価欄に記号が表示されました。
得点ごとに評価記号を細かく区別表示することが出来ました。
- Select Caseステートメントについてはこの記事が参考になります。
String関数の使い方のまとめ
String関数は、扱いもそんなに難しくはないと思います。
また頻度的にも頻繁に使う関数ではありませんが、知っておくと便利な関数です。
今回の例題は得点による条件分岐が多くありましたので、
Select Case ステートメントを利用しました。
コードの行数は増えましたが、基本的に簡単なコードで作成することが出来ました。
このように簡単に使えますので、String関数を、また何かのケースで使ってみてください。
エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。
エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です今回の記事はここまでです。 最後までご覧いただき有難うございました。
<記事内容についての告知>
VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。
アンケートでポイ活しよう!!
アンケートに答えれば答えるほど ”使える” ポイントがたまります。