VBA konkatenaat - Kuidas VBA-s keeli kokku siduda?

Lang L: none (table-of-contents)

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äärtuselemendi väärtuse ühendamiseks. Kui ma ütlen lihtsas keeles, siis see on kombineerimine, siis on see kahe või enama väärtuse ühendamine, et sellel oleks täielik väärtus.

Meil on Excelis funktsioon nimega 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, kuidas ühendame väärtusi?

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

Kui jälgite oma postitusi regulaarselt, kasutame kodeerimisel sageli ampersandi (&) sümbolit.

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:

Alamkoondamine_Example () Dim First_Name kui string Dim Last_Name as String Dim Full_Name String End Sub

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

Kood:

Alamkoondamine_Example () Dim First_Name kui string Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" End Sub

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

Kood:

Alamliitmõõt_näide () Mõõtke eesnimi nimena stringina Hiilgake perekonnanimi nimena stringina Täielik_nimi kui 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:

Alamliitmõõt_näide () Dim Esimese Nimi stringina Dim Perenimi kui string Dim Täielik_nimi As String Eesnimi = "Sachin" Perekonnanimi = "Tendulkar" Täielik Nimi = Eesnimi & Perenimi MsgBox Täisnimi Lõpp Alam

Nüüd käivitage kood; saame täisnime sõnumikasti.

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 Eesnimi = "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 levinud 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ärki koos ühendada; muidu 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 perekonnanime.
  • 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:

Alamliit_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 

Huvitavad Artiklid...