ユーザー定義関数を作成して文字列を結合する Excel 2013 マクロ講座 45回

ユーザー定義関数で文字列結合

ユーザー定義関数の作り方を徹底的にマスターしましょう。それには何度も反復するのが一番です。
今回は、指定範囲の文字列を結合するユーザー定義関数です。
ユーザー定義関数
(サンプルファイルは、こちらから マクロ45回サンプルデータ

文字列を結合するユーザ定義関数

ユーザ定義関数を作るには、VBEエディターを起動し、Functionプロシージャの構文にそってコードを入力します。
ユーザー定義関数
マクロや関数を使わずに、簡単に文字列を結合するには、&を使ってセルを結合することで表示したいセルに結合して文字列を表示できます。
指定範囲の文字列を結合するユーザー定義マクロ1
ユーザー定義関数も、同じように&(アンパサンド)を利用して、セルの値を結合しましょう。
プロシージャ名は任意ですが、ここでは MergeStringsという名前にして、引数の型は、Stringにします。
セル範囲の文字列を&でつなぐという操作は、For Eachで行います。
指定範囲の文字列を結合するユーザー定義マクロ2
引数名は、わかりやすくセル範囲と日本語にしていますが、 理解できたら、単純にセルを意味するcとかにしても良いかと思います。 また結合してできた文字列をtempStrという変数に宣言しています。
Function MergeStrings(セル範囲 As Range) As String
    Dim tempStr As String
    For Each セル範囲 In セル範囲
        tempStr = tempStr & セル範囲.Value
    Next セル範囲
    MergeStrings = tempStr
End Function
    
関数ですから、好きなところで利用できるのがメリットです。
指定範囲の文字列を結合するユーザー定義マクロ3
結合する文字列の間にスペースを入れると、
        tempStr = tempStr & セル範囲.Value & " "
    
名前を結合するなどに利用できます。
指定範囲の文字列を結合するユーザー定義マクロ4
スポンサーリンク
スポンサーリンク