VBA Concatenate - Jak połączyć ciągi znaków razem w VBA?

Spisie treści

Konkatenacja oznacza łączenie dwóch wartości lub dwóch ciągów razem, podobnie jak w programie Excel, którego używamy & lub znamy również jako operator ampersand do łączenia, dwa łączone dwa ciągi, których używamy & operator, taki jak Ciąg 1 i Ciąg 2, teraz jest ważna rzecz do zapamiętania i że jest podczas korzystania z operatora &, musimy zapewnić spacje lub VBA uzna to za długie.

Ciągi konkatenacji VBA

VBA Concatenate to jedna z tych rzeczy, których używaliśmy do łączenia razem dwóch lub więcej wartości komórek wartości. Jeśli powiem prostym językiem, jest to łączenie, to łączenie razem dwóch lub więcej wartości, aby uzyskać pełną wartość.

W programie Excel mamy funkcję o nazwie CONCATENATE, która wykona połączenie razem dwóch lub więcej wartości lub dwóch lub więcej wartości komórek.

Ale w VBA nie mamy żadnej wbudowanej funkcji do łączenia dwóch lub więcej wartości razem. W rzeczywistości nie mamy nawet dostępu do klasy funkcji arkusza roboczego, aby uzyskać dostęp do funkcji VBA CONCATENATE jako funkcji arkusza.

Jak połączyć ciągi znaków w VBA?

Jeśli nie mamy żadnej wbudowanej funkcji do łączenia wartości, a nawet funkcja arkusza nie jest zintegrowana z VBA. Teraz wyzwanie brzmi: jak połączyć wartości?

Mimo że nie ma wbudowanych funkcji, nadal możemy łączyć w VBA za pomocą symbolu „ampersand” (&).

Jeśli regularnie śledzisz nasze posty, często używamy symbolu ampersand (&) w naszym kodowaniu.

Na przykład, jeśli masz osobno imię i nazwisko, możemy połączyć te dwa i nadać mu pełne imię i nazwisko. Wykonaj poniższe kroki, aby samodzielnie napisać kod makra VBA.

Krok 1: Przejdź do Edytora Visual Basic i utwórz podprocedurę VBA.

Krok 2: Zdefiniuj trzy zmienne jako ciąg .

Kod:

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

Krok 3: Teraz przypisz imię i nazwisko do zmiennej.

Kod:

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

Krok 4: Teraz połącz te dwie nazwy ze zmienną Full_Name, używając zmiennej ampersand.

Kod:

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 i Last_Name End Sub

Krok 5: Teraz pokaż wartość zmiennej Full_Name w oknie komunikatu.

Kod:

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 i Last_Name MsgBox Full_Name End Sub

Teraz uruchom kod; otrzymamy pełne imię i nazwisko w polu wiadomości.

Problem z tym pełnym imieniem polega na tym, że nie dodaliśmy separatora imienia i nazwiska, podczas gdy łączymy imię i nazwisko, łączymy również znak spacji.

Kod:

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

To da teraz prawidłowe imię i nazwisko.

W ten sposób, używając symbolu ampersand, możemy łączyć wartości. Teraz rozwiążemy problem arkusza roboczego polegający na wspólnym rozwiązywaniu imienia i nazwiska, aby nadać mu pełne imię i nazwisko.

Ponieważ musimy łączyć wiele imion, musimy użyć pętli, aby połączyć imię i nazwisko. Poniższy kod wykona zadanie za Ciebie.

Kod:

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

Spowoduje to połączenie imienia i nazwiska, tak jak nasza funkcja konkatenacji VBA.

Typowy błąd w konkatenacji Ampers i VBA

Jeśli zauważysz moje kody, dodałem znak spacji między wartościami symbol ampersand. Jest to istotne ze względu na naturę programowania w języku VBA.

Nie możemy łączyć razem wartości i symboli &; w przeciwnym razie otrzymamy błąd kompilacji, jak poniżej.

VBA Concatenate za pomocą funkcji JOIN

W VBA możemy użyć funkcji JOIN do łączenia wartości. Najpierw spójrz na składnię funkcji VBA JOIN.

  • Tablica to nic innego jak tablica przechowująca nasze wartości - na przykład imię i nazwisko.
  • Separator to nic innego jak separator między każdą wartością tablicy, w tym przypadku znak spacji.

Poniższy kod pokaże przykład tego samego.

Kod:

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 

Interesujące artykuły...