Hoe kinne jo string en fariabele gearfetsje yn Excel VBA (in detaillearre analyze)

  • Diel Dit
Hugh West

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.

Hugh West is in tige betûfte Excel-trainer en analist mei mear as 10 jier ûnderfining yn 'e yndustry. Hy hat in bachelorstitel yn boekhâlding en finânsjes en in masterstitel yn bedriuwsadministraasje. Hugh hat in passy foar lesjaan en hat in unike lesoanpak ûntwikkele dy't maklik te folgjen en te begripen is. Syn saakkundige kennis fan Excel hat tûzenen studinten en professionals wrâldwiid holpen har feardigens te ferbetterjen en útblinke yn har karriêre. Troch syn blog dielt Hugh syn kennis mei de wrâld, en biedt fergese Excel-tutorials en online training om partikulieren en bedriuwen te helpen har folsleine potensjeel te berikken.