VBA konkatenaat | Kuidas VBA-s keeli kokku siduda?

Liitmine tähendab kahe väärtuse või kahe stringi ühendamist, sarnaselt exceliga, mida liitmiseks kasutame & või mida tuntakse ka kui ampersandioperaatorit, kaks liidetavat kahte stringi, mida kasutame, ja operaatorit nagu stringid 1 ja string 2, nüüd on oluline meeles pidada ja et & operaatori kasutamisel peame andma ruumid või VBA kaalub seda nii kaua.

VBA konkatenaadi keeled

VBA konkatenaat on üks neist asjadest, mida me kasutasime kahe või enama väärtuse lahtriväärtuse kombineerimiseks, kui ma ütlen lihtsas keeles, et see ühendab, see on kahe või enama väärtuse ühendamine, et saavutada täielik väärtus.

Meil on Excelis funktsioon CONCATENATE, mis ühendab omavahel kaks või enam väärtust või kaks või enam lahtriväärtust.

Kuid VBA-s pole meil ühtegi sisseehitatud funktsiooni kahe või enama väärtuse ühendamiseks. Tegelikult ei pääse me töölehe funktsiooniklassi juurde, et töölehe funktsioonina juurde pääseda funktsioonile VBA CONCATENATE.

Kuidas VBA-s keeli siduda?

Kui meil pole väärtuste liitmiseks mingit sisseehitatud funktsiooni ja isegi töölehe funktsioon pole VBA-ga integreeritud. Nüüd on väljakutse see, kuidas väärtusi ühendada?

Ehkki sisseehitatud funktsioone pole, saame VBA-s kombineerida sümbolit „ampersand” (&).

Kui jälgite meie postitusi regulaarselt, kasutame kodeerimisel sageli tähte ampersand (&).

Näiteks kui teil on ees- ja perekonnanimi eraldi, võime need kaks ühendada ja teha sellest täisnimi. Järgige alltoodud samme, et kirjutada VBA makrokood iseseisvalt.

1. samm: minge Visual Basic Editori ja looge VBA alamprotseduur.

2. samm: määratlege kolm muutujat stringina .

Kood:

 Alamliitmõõt_näide () Dim Esimese Nimi stringina Dim Perenimi nimega String Dim Täielik Nimi Stringi lõpuna Alam 

3. samm: määrake nüüd muutujale ees- ja perekonnanimi .

Kood:

 Alamliit_Näide () Hämardage eesnimi nimena stringina Dim perenimi kui string Hämardage täisnimi nimega String Eesnimi = "Sachin" Perekonnanimi = "Tendulkar" Lõpp alam 

4. samm: ühendage nüüd need kaks nime muutujaga Full_Name, kasutades muutujad ampersand.

Kood:

 Alamliitmõõt_näide () Mõõtke eesnimi nimena stringina Hiilgake perekonnanimi nimena stringina Täielik_nimi nagu string string_nimi = "Sachin" perekonnanimi = "Tendulkar" täisnimi = eesnimi ja perekonnanimi lõpp alam 

5. samm: kuvage nüüd sõnumikastis muutuja Full_Name väärtus .

Kood:

 Alamliit_Näide () Dim First_Name nimega string Dim Last_Name as String Dim Full_Name As String Eesnimi = "Sachin" Perekonnanimi = "Tendulkar" Täisnimi = Eesnimi ja perekonnanimi MsgBox Täisnimi Lõpp alam 

Nüüd käivitage kood, mille me saame sõnumikasti täisnime.

Selle täisnime probleem on see, et me pole lisanud eesnime ja perekonnanime eraldaja tähemärki. Eesnime ja perekonnanime kombineerimisel kombineerige ka tühimärk.

Kood:

 Alamliit_näide () Hämardage eesnimi nimena stringina Hiilgake perekonnanimi nimena stringina Täielik_nimi kui string Esinimi = "Sachin" Perenimi = "Tendulkar" Täielik_nimi = Eesnimi & "" & Perenimi MsgBox Täielik_nimi Lõpp alam 

See annab nüüd õige täisnime.

Nii kasutades tähte ampersand, saame väärtused kokku liita. Nüüd lahendame töölehe ülesande Eesnimi ja perekonnanimi lahendamine koos, et muuta see täisnimeks.

Kuna peame ühendama paljusid nimesid, peame eesnime ja perekonnanime ühendamiseks kasutama silmuseid. Allolev kood teeb selle töö teie eest ära.

Kood:

 Alamliit_näide1 () Mõõtke i täisarvuna = 2 kuni 9 lahtrit (i, 3). Väärtus = Lahtrid (i, 1) & "" & Lahtrid (i, 2) Järgmine i lõpp Alam 

See ühendab ees- ja perekonnanime täpselt nagu meie VBA liitumisfunktsioon.

Ampersandi VBA liitmise tavaline viga

Kui märkate minu koode, olen väärtuste vahele lisanud tühiku märgi ja tähise. See on VBA programmeerimise olemuse tõttu hädavajalik.

Me ei saa väärtusi ja tähemärke kombineerida, vastasel juhul saame kompileerimisvea nagu allpool.

VBA liitmine funktsiooni JOIN abil

VBA-s saame väärtuste ühendamiseks kasutada funktsiooni JOIN. Kõigepealt vaadake funktsiooni VBA JOIN süntaksit.

  • Massiiv pole muud kui massiiv, mis hoiab meie väärtusi. Näiteks nii ees- kui ka perekonnanimi.
  • Piiraja pole midagi muud kui see, mis on eraldaja iga massiivi väärtuse, antud juhul tühiku tähemärgi vahel.

Allpool olev kood näitab sama näite.

Kood:

 Alamliitmik_näide2 () Hämarda minu väärtused teisendina Hämarda täisnimi kui string MyValues ​​= Massiiv ("Sachin", "Tendulkar") Täisnimi = Liitu (MinuVäärtused, "") MsgBoxi täisnimi Lõpp alam