VBA連結| VBAで文字列を連結する方法は?

連結とは、2つの値または2つの文字列を結合することを意味します。これは、使用するExcelと同様に、連結するためのアンペアサンド演算子とも呼ばれます。2つの連結する2つの文字列と、String1とString2のような演算子です。覚えておくべき重要なことがあります。 &演算子を使用している間、スペースを提供する必要があります。そうしないと、VBAはそれを長く考慮します。

VBA連結文字列

VBA連結は、2つ以上の値のセル値を結合するために使用したものの1つです。簡単な言葉で言えば、結合すると、2つ以上の値を結合して完全な値になります。

2つ以上の値または2つ以上のセル値を結合するExcelのCONCATENATEという関数があります。

ただし、VBAには、2つ以上の値を連結するための組み込み関数はありません。実際、ワークシート関数クラスにアクセスして、ワークシート関数としてVBACONCATENATE関数にアクセスすることすらできません。

VBAで文字列を連結する方法は?

値を連結するための組み込み関数がなく、ワークシート関数でさえVBAと統合されていない場合。ここでの課題は、値をどのように組み合わせるかです。

組み込み関数はありませんが、「アンパサンド」(&)記号を使用してVBAで組み合わせることができます。

定期的に投稿をフォローしている場合は、コーディングでアンパサンド(&)記号を使用することがよくあります。

たとえば、姓と名が別々にある場合は、これら2つを組み合わせて、フルネームにすることができます。以下の手順に従って、VBAマクロコードを独自に記述します。

手順1: Visual Basic Editorに移動し、VBAサブプロシージャを作成します。

ステップ2: 3つの変数をStringとして定義します。

コード:

 Sub Concatenate_Example()Dim First_Name As String Dim Last_Name As String Dim Full_Name As String End Sub 

ステップ3:ここで姓と名を変数に割り当てます。

コード:

 Sub Concatenate_Example()Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" End Sub 

ステップ4:アンパサンド変数を使用して、これら2つの名前を変数Full_Nameに結合します。

コード:

 Sub Concatenate_Example()Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First_Name&Last_Name End Sub 

手順5:メッセージボックスに変数Full_Nameの値を表示します。

コード:

 Sub Concatenate_Example()Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First_Name&Last_Name MsgBox Full_Name End Sub 

ここでコードを実行すると、メッセージボックスにフルネームが表示されます。

このフルネームの問題は、姓と名の区切り文字スペースを追加していないことですが、姓と名を組み合わせて、スペース文字も組み合わせます。

コード:

 Sub Concatenate_Example()Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First_Name& ""&Last_Name MsgBox Full_Name End Sub 

これにより、適切なフルネームが付けられます。

このようにアンパサンド記号を使用すると、値を連結できます。次に、姓と名を一緒に解決してフルネームにするというワークシートの問題を解決します。

多くの名前を組み合わせる必要があるため、ループを使用して名と姓を組み合わせる必要があります。以下のコードはあなたのために仕事をします。

コード:

 Sub Concatenate_Example1()Dim i As Integer For i = 2 To 9 Cells(i、3).Value = Cells(i、1)& ""&Cells(i、2)Next i End Sub 

これにより、VBA連結関数と同じように、姓と名が結合されます。

Common Mistake in Ampersand VBA Concatenation

If you notice my codes I have added space character between values an ampersand symbol. This is essential because of the nature of VBA programming.

We cannot combine values and ampersand symbols together otherwise we will get Compile Error like the below.

VBA Concatenate Using JOIN Function

In VBA we can use JOIN function to combine values. First, look at VBA JOIN function syntax.

  • The array is nothing but an array that holds our values. For example both first name & last name.
  • The delimiter is nothing but what is the separator between each array value, in this case, space character.

The below code will show the example of the same.

Code:

 Sub Concatenate_Example2() Dim MyValues As Variant Dim Full_Name As String MyValues = Array("Sachin", "Tendulkar") Full_Name = Join(MyValues, " ") MsgBox Full_Name End Sub