Jak używać Concatenate w Excelu VBA (4 metody)

  • Udostępnij To
Hugh West

W programie Excel konkatenacja to proces łączenia dwóch ciągów znaków w jeden ciąg znaków. Mówiąc wprost, jeśli mamy tabelę z imionami w jednej kolumnie i nazwiskami w drugiej, możemy użyć procedury konkatenacji, aby w ułamku sekundy połączyć je w jednej komórce. W programie Excel mamy funkcję o nazwie CONCATENATE () który pozwala nam na wykonanie tej konkatenacji. Jednak w VBA , ten typ funkcji jest niedozwolony.Nie możemy użyć CONCATENATE () w kodzie VBA, ponieważ to nie zadziała. Ponieważ VBA nie ma wbudowanych funkcji i nie możemy korzystać z funkcji arkusza kalkulacyjnego. Dlatego w tej lekcji pokażemy, jak używać VBA concatenate do łączenia wielu komórek, kolumn i wierszy w programie Excel.

Pobierz Zeszyt ćwiczeń

Pobierz ten zeszyt ćwiczeń, aby ćwiczyć podczas czytania tego artykułu.

VBA Concatenate Function.xlsm

Wprowadzenie do funkcji VBA Concatenate

Jak już wspomnieliśmy Excel nie ma żadnej wbudowanej funkcji dla VBA Concatenate, ale możemy sprawić, że będzie ona działać jako funkcja łącząc różne ciągi znaków za pomocą operatorów. Tutaj używamy ampersandu (&) jako naszego operatora.

⟴ Składnia

String1 = " Tekst pierwszy"

String2 = " Tekst drugi"

⟴ Wartość zwrotna

Return_value =. String1 & String2

4 Różne zastosowania funkcji VBA Concatenate w Excelu

Tutaj użyjemy 4 różnych podejść do wykonania procesu konkatenacji. Zastosujemy różne operatory w połączeniu z VBA kod, aby to osiągnąć.

1. użycie operatora ampersand (&) do łączenia komórek w VBA Łączenie

Jak widać na poniższym zrzucie ekranu, mamy dwukolumnową kolekcję danych z imionami w jednej kolumnie i nazwiskami w drugiej. Łącząc te dwie kolumny, możemy teraz uzyskać całe nazwiska. ponieważ VBA nie posiada żadnych wbudowanych metod do konkatenacji, użyjemy ampersandu (&) operatora w sposób opisany w poniższej instrukcji.

Krok 1:

  • Po pierwsze, naciśnij Alt + F11 aby otworzyć Macro-Enabled Worksheet.
  • Następnie należy kliknąć
  • Wybierz Moduł .

Krok 2:

  • Aby połączyć dwie komórki w jedną, skopiuj i wklej następujące elementy VBA
 Sub Concatenate2() Dim String1 As String Dim String2 As String Dim full_string As String1 = Cells(5, 2).Value String2 = Cells(5, 3).Value Cells(5, 5).Value = String1 & String2 MsgBox (full_string) End Sub 

Tutaj,

  • String1 = Cells(5, 2).Value jest lokalizacją pierwszej komórki B5 , rząd 5, i kolumna 2 .
  • String2 = Cells(5, 3).Value to druga lokalizacja komórki C5 , rząd 5, i kolumna 3 .
  • Cells(5, 5).Value = String1 & String2 jest lokalizacją komórki wynikowej E5 , rząd 5 i kolumna 5 .
  • String1 & String2 to dwa ciągi połączone ampersandem (&)

Krok 3:

  • Zapisz i naciśnij F5 aby uruchomić program.

W związku z tym, otrzymasz wynik w E5 komórka bieżącego arkusza.

Krok 4:

  • Wykonaj i powtórz kroki dla pozostałych komórek i uzyskaj wyniki jak na poniższym obrazku.

Uwaga. Aby uruchomić VBA kod, za każdym razem upewnij się, że plik Excela jest zapisany w Excelu Arkusz z włączonymi makrami (xlsm.) format.

Read More: Jak używać VBA StrComp w Excelu (5 typowych przykładów)

2. użycie operatora plusa (+) do łączenia komórek w VBA Łączenie

Jak opisano w poprzednim rozdziale, użyliśmy znaku ampersand (&) Można uzyskać ten sam rezultat stosując operator plusa do łączenia łańcuchów komórek. (+) zamiast znaku ampersand (&) Operator. Aby to zrobić, wykonaj następujące kroki.

Krok 1:

  • Aby otworzyć Makro w programie Excel, naciśnij Alt + F11 .
  • Kliknij Wkładka i wybrać
  • Po otwarciu strony programu należy wkleić VBA
 Sub Concatenate2() Dim String1 As String Dim String2 As String Dim full_string As String1 = Cells(5, 2).Value String2 = Cells(5, 3).Value Cells(5, 5).Value = String1 + String2 MsgBox (full_string) End Sub 

Tutaj,

  • Cells(5, 5).Value = String1 + String2 to ta linia, której używamy plus (+) zamiast znaku ampersand (&)

Krok 2:

  • Po wklejeniu zapisz i naciśnij F5 aby uruchomić program. W rezultacie zobaczysz zmianę w komórce E5 .

  • Aby uzyskać ostateczne wyniki, wypełnij wymagane komórki, wykonując ponownie poprzednie kroki.

Read More: Jak używać funkcji VBA StrConv (5 przykładów)

Podobne Lektury:

  • Jak wywołać Sub w VBA w Excelu (4 przykłady)
  • Zwracanie wartości w funkcji VBA (zarówno wartości tablicowe jak i nie tablicowe)
  • Jak używać funkcji VBA DIR w Excelu (7 przykładów)
  • Użyj funkcji VBA UCASE w Excelu (4 przykłady)
  • Jak używać funkcji InStr w VBA (3 przykłady)

3. dodawanie wielu kolumn za pomocą VBA Łączenie

W poprzednich dwóch podejściach omawialiśmy jak połączyć dwie komórki. Jednak jeśli chcemy zastosować to do całej kolumny, dodawanie po kolei zajmie nam dużo czasu. Nauczymy Cię jak dodać wiele kolumn łącznie za pomocą VBA kod do tego.

Krok 1:

  • Po pierwsze, aby otworzyć Makro naciśnij Alt + F11
  • Wybierz Moduł od Wkładka zakładka
  • Następnie wklej następujące elementy VBA
 Sub ConcatCols() 'konkatenacja kolumn B & C w kolumnie E Dim LastRow As Long With Worksheets("Sheet3") LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row With .Range("E5:E" & LastRow) .Formula = "=B5&C5" .Value = .Value End With End Sub. 

Tutaj,

  • With Worksheets("Sheet3") to nazwa Twojego aktualnego arkusza.
  • LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row jest nazwą pierwszej kolumny.
  • With .Range("E5:E" & LastRow) jest zakresem komórek zwracanych w wyniku.
  • .Formula = "=B5&C5" to formuła dołączenia do pierwszej komórki zakresu.

Krok 2:

  • Następnie, na koniec, zapisz i naciśnij F5 aby uruchomić program.

W rezultacie otrzymasz wyniki w całości w kolumnie.

Read More: Jak używać VBA Rnd w Excelu (4 metody)

4. łączenie wielu wierszy za pomocą VBA złączenie

Oprócz dodania wielu kolumn, możemy również zastosować VBA Kod do łączenia wielu wierszy w jeden. Jak pokazano na poniższym zrzucie ekranu, chcemy połączyć trzy wiersze w jeden. Aby połączyć wiersze, wykonaj proste kroki poniżej.

Krok 1:

  • Do aktywacji Makro w programie Excel, naciśnij Alt + F11 .
  • Następnie należy wybrać Moduł od Wkładka
  • Aby połączyć wiersze, należy wkleić znak VBA
 Sub vba_concatenate() Dim rng As Range Dim i As String Dim SourceRange As Range Set SourceRange = Range("B5:D5") For Each rng In SourceRange i = i & rng & " " Next rng Range("B8").Value = Trim(i) End Sub 

Tutaj,

  • Set SourceRange = Range("B5:D5") to zakres komórek źródłowych.
  • Range("B8").Value = Trim(i) to numer komórki zwrotnej.

Krok 2:

  • Na koniec zapisz program i naciśnij F5 do uruchomienia.

W związku z tym ostateczny wynik konkatenacji trzech wierszy będzie widoczny w komórce B8 .

Read More: Jak ukryć górne wiersze w programie Excel (7 metod)

Wniosek

Podsumowując, mam nadzieję, że ten post dostarczył jasnych instrukcji jak wykorzystać VBA konkatenacja w Excelu na różne sposoby. Wszystkie te techniki warto poznać i wykorzystać na swoich danych. Zapoznaj się z książką ćwiczeń i wykorzystaj nowo zdobytą wiedzę. Dzięki Waszemu wsparciu mamy motywację do dalszego tworzenia takich warsztatów jak ten.

Prosimy o kontakt z nami w razie jakichkolwiek pytań. Daj nam znać, co myślisz, w obszarze komentarzy poniżej.

Na stronie Exceldemy Zespół będzie na bieżąco odpowiadał na Twoje pytania.

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.