String関数の使い方は文字を指定した数だけ並べることが出来る

VBAStringeyecatch

エクセルVBA String関数の使い方についてです。
「文字を指定した数だけ並べることが出来る」という機能の関数です。
この関数を使えば簡潔なコード記述で実行することが出来ます。

 

こんにちは、じゅんぱ店長(@junpa33)です。

 

今回は、指定した文字を指定した数だけ並べるString関数についてです。

 

どういった時に使えるかというと、たとえば、いろんな利用法があると思いますが、

獲得点数をグループ全体の中で、比較参照しやすくする時に使うとか・・・。

ちょっと知ってると便利な関数です。

 

String関数はどういう関数、どう使う?

 

よく何かを採点するときに「★3っつ」とか「トリプルA」とか使う時があります。

このString関数はそのような「同じ文字を並べる」時に最適な関数です。

つまり「文字を指定した数だけ並べることが出来る」関数なのです。

 

String関数の構文

 

String関数の構文

  • String(「反復数」,「反復文字」)

 

「反復数」は必ず指定しなければなりません。長整数型
正の整数値で指定します。

「反復文字」は必ず指定しなければなりません。バリアント型
文字、文字列(先頭文字優先)、文字コード(ASCII 、シフト JIS)で指定します。

 

String関数の使用例

 

使用例の設定条件

 

例題として、10個の製品の評価点を一覧表にしています。

評価欄にA,B,C,D,Eランク分けで一目で評価結果を認識しやすくします。

同ランク内ではシングル~トリプルまでの3段階設定とします。

vbastring001a

 

String関数のサンプルコード

 

String関数のコードサンプル

 

設定した変数

  • データ行数のループ変数・・・i

 

コード

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

【実行結果】

評価欄に記号が表示されました。

得点ごとに評価記号を細かく区別表示することが出来ました。

vbastring002a

 

MEMO

条件分岐させるコードについては

Select Caseステートメントを利用しています。

Select Caseステートメントについてはこの記事が参考になります。

エクセルVBA Select Case 条件分岐 ステートメントの使い方の基本

 

String関数の使い方のまとめ

 

String関数は、扱いもそんなに難しくはないと思います。

また頻度的にも頻繁に使う関数ではありませんが、知っておくと便利な関数です。

今回の例題は得点による条件分岐が多くありましたので、

Select Case ステートメントを利用しました。

コードの行数は増えましたが、基本的に簡単なコードで作成することが出来ました。

このように簡単に使えますので、String関数を、また何かのケースで使ってみてください。

 

今回の記事はここまでです。

最後までご覧いただき有難うございました。

 

一人で出来るエクセルVBAの勉強法

 

パソコンプログラムの勉強を始める。というと、

直ぐにパソコン塾、プログラミングスクール、など思い浮かべます。

教師から学ぶことが習熟のための一番確実な方法でしょう。

でもその前に自己学習で、基礎知識ぐらいは知っておくことが習熟を早めるためには大切なことです。

 

エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。
エクセルVBAの独習で良質な参考書を7冊選ぶ。良書との出会いは大切です

 

エクセルVBAの独習には動画学習という方法もあります。 目と耳両方を使って学習することでさらに勉強効率を上げることもできると思います。
エクセルVBA初級者がUdemyで動画学習する講座おすすめ5選と無料講座の上手な使い方。

 

「VBA最速理解」の記事一覧を開く

 

今回の記事はここまでです。   最後までご覧いただき有難うございました。

 

<記事内容についての告知>VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。