Ynhâldsopjefte
Wylst wurkje mei VBA yn Excel, moatte wy faak tekenrige (s) en fariabele (s) yn in wurkblêd gearfoegje. It gearfoegjen fan tekenrige (s) en fariabele (s) wurdt in soad brûkt yn hast alle sektoaren yn ús wurken, begjinnend fan it gearfetten fan de resultaten fan studinten oant it analysearjen fan in kompleks bedriuw. Yn dit artikel sil ik jo sjen litte hoe't jo tekenrige (s) en fariabele (s) yn in wurkblêd kinne gearfetsje mei VBA yn Excel. Ik sil de dingen útlizze mei juste foarbylden en yllustraasjes.
String (s) en fariabele (s) gearfetsje yn Excel VBA (Quick View)
Download Practice Workbook
Download dit oefenwurkboek om te oefenjen wylst jo dit artikel lêze.
Concatenate String and Variable.xlsm
String (s) en fariabele (s) gearfoegje yn Excel VBA (stap foar stap analyse)
Litte wy earst sjen hoe't wy tekenrige (s) kinne gearfoegje en fariabele (s) yn VBA stap foar stap.
⧪ Konkatenearjende tekenrige (s):
Om twa of mear tekenrige te ferbinen yn VBA , kinne jo sawol it aritmetyske tafoegingssymboal (+) as it ampersand (& )-symboal brûke.
Bygelyks om oan te keppeljen de snaren “Grutte ferwachtings” en “In ferhaal fan twa stêden” mei in komma , kinne jo brûke:
4347
Of,
3102
Rin ien fan 'e boppesteande koades út. It sil de gearfoege útfier werjaan, Grutte ferwachtings,A Tale of Two Cities .
⧪ Konkatenearjende fariabele(s)
As alle fariabelen tekenrigewearden befetsje, dan kinne jo sawol it aritmetyske optelsymboal (+) as it ampersand (&) symboal brûke.
Mar as se dat net dogge, dan kinne jo gebrûk meitsje fan allinnich it ampersand (&) symboal om te keppeljen.
Litte wy bygelyks twa fariabelen hawwe, A en B .
A befettet in tekenrige, “A Tale of Two Cities” , en B befettet in oare tekenrige, “The Forty Rules of Love” .
Jo kinne sawol it tafoegingssymboal (+) as it ampersand (&) symboal brûke om se te ferbinen.
7157
Of,
8598
Yn beide gefallen jouwe se de gearfoege tekenrige werom.
Mar as A in tekenrige is ( “A Tale of Two Cities” ) en B in hiel getal is ( 27 ), moatte jo it ampersand (&) -symboal brûke om te ferbinen.
2018
It sil de gearfoege útfier werombringe .
Foarbylden foar Concat Stringen en fariabelen oanmeitsje yn Excel VBA (mei makro, UDF en UserForm)
Wy hawwe leard om tekenrige (s) en fariabele (s) te ferbinen mei VBA yn Excel . Dizze kear sille wy wat foarbylden ûndersykje wêrby't gearhingjende tekenrige (s) en fariabele (s) mei VBA binne.
Foarbyld 1: In makro ûntwikkelje om tekenrige (s) en te ferbinen fariabele (s) yn Excel VBA
Wy hawwe leardferbine snaren en fariabelen mei VBA . Dizze kear sille wy in Makro ûntwikkelje om stringen en fariabelen fan meardere kolommen yn in wurkblêd te ferbinen.
Hjir hawwe wy in gegevensset mei boeknammen , auteurs , en prizen fan guon boeken fan in boekhannel mei de namme Martin Bookstore.
Litte wy in Makro<2 ûntwikkelje> om de kolommen 1, 2, en 3 fan de gegevensset B4:D14 yn sel F4 te keppeljen.
De VBA -koade sil wêze:
⧭ VBA-koade:
8409
⧭ Utfier :
Dizze koade útfiere. Jo krije de 3 kolommen gearfoege yn it berik F4:F14.
Lês mear: Macro to Meitsje meardere kolommen yn Excel (mei UDF en UserForm)
Foarbyld 2: In troch brûkers definieare funksje oanmeitsje om tekenrige (s) en fariabele (s) yn Excel VBA te ferbinen
Wy hawwe leard om in Makro te ûntwikkeljen om meardere kolommen fan in gegevensset te ferbinen. Dizze kear meitsje wy in User-Defined funksje om stringen of fariabelen yn Excel te ferbinen.
De folsleine VBA -koade sil wêze:
⧭ VBA-koade:
5380
⧭ Utfier:
Selektearje de kolom wêryn jo de berik en fier dizze formule yn:
=ConcatenateValues("She","H. Rider Haggard",", ")
It sil She, H. Rider Haggard weromjaan as de útfier.
Fier nochris de formule yn:
=ConcatenateValues(B4:B14,30,", ")
[ Array Formule . Dus ferjit netdruk op CTRL + SHIFT + ENTER útsein as jo yn Office 365 binne.]
It sil 30 gearfoegje mei alle wearden fan it berik B4:B14 .
Fier as lêste yn:
=ConcatenateValues(B4:B14,C4:C14,", ")
[Opnij Array Formule . Ferjit dus net CTRL + SHIFT + ENTER te drukken, útsein as jo yn Office 365 binne.]
It sil alle wearden fan it berik B4 gearfoegje: B14 mei dy fan C4:C14 .
Lês mear: Hoe kinne jo yn Excel ferbine (3 geskikte manieren)
Gelykbere lêzings:
- Hoe kinne jo tekst fan twa of mear sellen kombinearje yn ien sel yn Excel (5 metoaden)
- Rijen kombinearje yn ien sel yn Excel
- Nûmers gearfoegje yn Excel (4 rappe formules)
- Tekst kombinearje yn Excel (8 geskikte manieren)
- Hoe kinne jo apostrof yn Excel ferbine (6 maklike manieren)
Foarbyld 3: Untwikkeljen fan in UserForm om tekenrige (s) en fariabele (s) te ferbinen yn in oar wurkblêd yn Excel VBA
Wy hawwe leard om in Macro en in User-Defined funksje om stringen en wearden te ferbinen. Uteinlik sille wy in UserForm ûntwikkelje om stringen en wearden te ferbinen oan de winske lokaasje fan it winske wurkblêd.
⧪ Stap 1: It UserForm ynfoegje
Gean nei de Ynfoegje > UserForm opsje yn de VBA arkbalke om in nij UserForm yn te foegjen.
⧪ Stap 2: Slepen Tools oanit UserForm
In UserForm neamd UserForm1 sil iepene wurde, tegearre mei in Toolbox neamd Control .
Bewege de mûs oer de e Toolbox en sleep 2 ListBoxes, 5 TextBoxes, 7 Labels and1 CommanButtons yn it UserForm .
Feroarje de werjeften fan de Labels lykas werjûn yn de figuer.
Feroarje op deselde manier de werjefte fan de Opdrachtknop nei OK .
⧪ Stap 3: Koade skriuwe foar TextBox1
Dûbelklik op TextBox1 . In Private subproseduere mei de namme TextBox1_Change sil iepenje. Fier dêr de folgjende koade yn.
9810
⧪ Stap 4: Koade skriuwe foar TextBox3
Lyksa dûbelklikje op Tekstfak3 . In oare Privee subproseduere mei de namme TextBox3_Change sil iepenje. Fier dêr de folgjende koade yn.
5307
⧪ Stap 5: Koade skriuwe foar TextBox4
Dûbelklik ek op Tekstfak3 . In oare Privee subproseduere mei de namme TextBox3_Change sil iepenje. Fier dêr de folgjende koade yn.
7716
⧪ Stap 6: Koade skriuwe foar ListBox2
Dûbelklik dan op ListBox2 . As de Private Subproseduere mei de namme ListBox2_Click iepenet, fier dan dizze koade dêr yn.
5117
⧪ Stap 7: Koade skriuwe foar CommanButton1
Dûbelklik ek op CommandButton1 . Nei de Private subproseduere neamd CommandButton1_Change iepent, foegje dêr de folgjende koade yn.
5986
⧪ Stap 7: Koade skriuwe foar it útfieren fan it brûkersformulier
No is de lêste stap. Foegje in nije Module yn fan de VBA arkbalke en ynfoegje de folgjende koade.
8069
⧪ Stap 8: Running it UserForm
Jo UserForm is no klear om te brûken. Om it út te fieren, selektearje de gegevensset út it wurkblêd (ynklusyf de Headers ) en fier de Macro mei de namme Run_UserForm .
De UserForm sil laden mei alle opsjes. It selektearre berikadres sil werjûn wurde op Tekstfak1 ( B3:D4 hjir). As jo wolle, kinne jo it feroarje. It selektearre berik yn it wurkblêd sil feroarje.
Selektearje de kolommen dy't jo gearfoegje wolle út de Kolommen nei Concat ListBox. Hjir haw ik Boeknamme en Priis selektearre.
Fier de skiedingsteken yn . Hjir haw ik in komma ( , ) ynfierd.
Selektearje de wurkblêdnamme wêr't jo it gearfoege berik pleatse wolle út de Concatenated In listbox. Hjir haw ik Sheet3 ynfierd.
(Op it momint dat jo it blêd selektearje, wurdt it aktivearre, sels as it net it aktive is.)
Dan ynfoegje de Utfierlokaasje . It is de selreferinsje fan 'e earste sel fan it gearfoege berik. Hjir haw ik B3 pleatst.
(It momint dat jo de Utfierlokaasje ynfiere, sil it útfierberik selektearre wurde).
En as lêste , ynfiere denamme fan de Utfierkop (Header fan it útfierberik). Hjir haw ik Concatenated Range pleatst.
(It momint dat jo de Utfierkop sette, sil de koptekst fan 'e útfierkolom ynsteld wurde.)
Klik op OK . Jo krije de winske útfier op 'e winske lokaasje.
Lês mear: Hoe kinne jo string en ynteger ferbine mei VBA
Konklúzje
Dat binne dus in pear foarbylden wêryn jo Excel VBA brûke kinne om stringen en fariabelen te ferbinen. Hoopje de foarbylden makken alles moai dúdlik foar jo. Hawwe jo noch fragen? Freegje it ús frij. En ferjit net om ús side ExcelWIKI te besykjen foar mear berjochten en updates.