Sadržaj
U Excelu, spajanje je proces spajanja dva niza zajedno kako bi se formirao jedan niz. Jednostavno rečeno, ako imamo tablicu s imenima u jednoj koloni i prezimenima u drugoj, možemo koristiti proceduru spajanja da ih spojimo i kombiniramo u jednoj ćeliji u djeliću sekunde. U Excelu imamo funkciju pod nazivom CONCATENATE () koja nam omogućava da izvršimo ovu konkatenaciju. Međutim, u VBA , ova vrsta funkcije nije dozvoljena. Ne možemo koristiti CONCATENATE () u VBA kodu jer neće raditi. Zato što VBA nedostaju ugrađene funkcije i ne možemo koristiti funkcije proračunske tablice. Dakle, ova lekcija će vam pokazati kako koristiti VBA konkatenaciju za kombiniranje više ćelija, stupaca i redova u Excelu.
Preuzmite radnu svesku za vježbe
Preuzmite ovu radnu svesku vježbati dok čitate ovaj članak.
VBA Concatenate Function.xlsm
Uvod u VBA Concatenate Function
Kao što imamo spomenuo je da Excel nema ugrađenu funkciju za VBA konkatenaciju, ali možemo učiniti da radi kao funkcija kombinovanjem različitih stringova sa operatorima. Ovdje koristimo ampersand (&) kao naš operator.
⟴ Sintaksa
String1 = “ Prvi tekst”
String2 = “ Drugi tekst”
⟴ Povratna vrijednost
Povratna_vrijednost = String1 & String2
4 različite upotrebe VBA konkatenacijeFunkcija u Excelu
Ovdje ćemo koristiti 4 različita pristupa za izvođenje procesa spajanja. Primijenit ćemo različite operatore u kombinaciji sa VBA kodom da to postignemo.
1. Koristite operator Ampersand (&) za spajanje ćelija u VBA konkatenaciju
Kao što je prikazano u na slici ispod, imamo kolekciju podataka u dvije kolone sa imenima u jednoj koloni i prezimenima u drugoj. Spajanjem dvije kolone sada možemo dobiti cijela imena. Budući da VBA nema ugrađene metode za konkatenaciju, koristit ćemo ampersand (&) operator kako je detaljno opisano u uputama ispod.
Korak 1:
- Prvo, pritisnite Alt + F11 da otvorite Radni list s omogućenim makroima.
- Zatim kliknite
- Odaberi Modul .
Korak 2:
- Da biste spojili dvije ćelije u jednu, kopirajte i zalijepite sljedeće VBA
7016
Ovdje,
- String1 = Cells(5, 2).Vrijednost je prva lokacija ćelije B5 , red 5, i stupac 2 .
- Niz2 = Ćelije(5, 3).Vrijednost je lokacija druge ćelije C5 , red 5, i stupac 3 .
- Ćelije(5, 5).Vrijednost = String1 & String2 je lokacija rezultat ćelije E5 , red 5 i stupac 5 .
- String1 & String2 su dva niza spojena ampersandom (&)
Korak3:
- Sačuvaj i pritisnite F5 da pokrenete program.
Zbog toga ćete dobiti rezultat u E5 ćelija vašeg trenutnog radnog lista.
4. korak:
- Slijedite i ponovite korake za ostatak ćelija i dobijte rezultate kao što je prikazano na donjoj slici.
Napomena. Za pokretanje VBA koda, svaki put uvjerite se da je vaša Excel datoteka spremljena u formatu Excel Macro-Enabled Worksheet (xlsm.) .
Pročitajte više: Kako koristiti VBA StrComp u Excelu ( 5 uobičajenih primjera)
2. Koristite plus (+) operator za spajanje ćelija u VBA konkatenaciju
Kao što je opisano u prethodnom dijelu, koristili smo ampersand (& ;) operator za spajanje nizova ćelija. Isti rezultat možete dobiti primjenom znaka plus (+) umjesto operatora ampersand (&) . Da biste to učinili, slijedite ove korake.
Korak 1:
- Da otvorite Makro u Excelu, pritisnite Alt + F11 .
- Kliknite Insert i odaberite
- Nakon što otvorite stranicu programa, zalijepite sljedeći VBA
1135
Ovdje,
- Ćelije(5, 5).Vrijednost = String1 + String2 je ovaj red koristimo znak plus (+) umjesto znaka ampersanda (&)
Korak 2 :
- Nakon lijepljenja, sačuvajte i pritisnite F5 da pokrenete program. Shodno tome, vidjet ćete promjenu u ćeliji E5 .
- Da biste dobili konačne rezultate, popunite tražene ćelije ponovnim izvođenjem prethodnih koraka.
Pročitajte više: Kako koristiti VBA StrConv funkciju (5 primjera)
Slično Čitanja:
- Kako pozvati sub u VBA u Excelu (4 primjera)
- Vrati vrijednost u VBA funkciji (oba Niz i vrijednosti koje nisu nizovi)
- Kako koristiti VBA DIR funkciju u Excelu (7 primjera)
- Koristiti VBA UCASE funkciju u Excelu ( 4 primjera)
- Kako koristiti InStr funkciju u VBA (3 primjera)
3. Dodajte više kolona pomoću VBA konkatenacije
U prethodna dva pristupa, raspravljali smo o tome kako kombinirati dvije ćelije. Međutim, ako želimo da ga primenimo na celu kolonu, dodavanje jednog po jednog će potrajati. Naučit ćemo vas kako dodati više stupaca u potpunosti pomoću VBA koda za ovo.
Korak 1:
- Prvo, da otvorite Makro pritisnite Alt + F11
- Izaberite Modul iz Umetnite tab
- Zatim zalijepite sljedeće VBA
8086
Ovdje,
- Sa Worksheets(“Sheet3”) je naziv vašeg trenutnog radnog lista.
- LastRow = .Cells(.Rows.Count, “B”).End(xlUp).Row je naziv prvog stupca.
- Sa .Range(“E5:E” & LastRow) je raspon ćelija povratnog rezultata.
- .Formula = “= B5&C5” je formula za pridruživanjeprva ćelija raspona.
Korak 2:
- Zatim, konačno, sačuvajte i pritisnite F5 za pokretanje programa.
Kao rezultat, dobit ćete rezultate u potpunosti u stupcu.
Pročitajte više: Kako koristiti VBA Rnd u Excelu (4 metode)
4. Spojite više redova pomoću VBA konkatenacije
Osim dodavanja više kolona, možemo primijeniti i VBA kod za spajanje više redova u jedan. Kao što je prikazano na slici ispod, želimo da spojimo tri reda u jedan. Da spojite redove, slijedite jednostavne korake u nastavku.
Korak 1:
- Za aktiviranje Makroa u Excelu, pritisnite Alt + F11 .
- Zatim odaberite Modul iz Insert
- Za spajanje redove, zalijepite VBA
5756
Ovdje,
- Postavite SourceRange = Range(“B5:D5”) je raspon izvornih ćelija.
- Raspon(“B8”).Vrijednost = Trim(i) je broj povratne ćelije.
Korak 2:
- Konačno, snimite program i pritisnite F5 da biste ga pokrenuli.
Na taj način , konačni rezultat spajanja tri reda će biti prikazan u ćeliji B8 .
Pročitajte više: Kako Otkrij gornje redove u Excelu (7 metoda)
Zaključak
Da rezimiramo, nadam se da je ovaj post pružio jasne upute o tome kako koristiti VBA konkatenaciju u Excel na razne načine. Sveove tehnike treba naučiti i koristiti na vašim podacima. Pregledajte priručnik i iskoristite svoje novostečeno znanje. Zbog vaše ljubazne podrške, motivirani smo da nastavimo sa kreiranjem ovakvih radionica.
Ne ustručavajte se kontaktirati nas ako imate bilo kakvih pitanja. Recite nam šta mislite u području za komentare ispod.
Tim Exceldemy će stalno odgovarati na vaša pitanja.