VBA Concatenate | Paano Magkakasabay sa Mga Strings na Magkasama sa VBA?
Ang pagdudugtong ay nangangahulugang pagsali sa dalawang halaga o dalawang string na magkasama, katulad ng excel na ginagamit namin & o kilala rin bilang ampersand operator upang magsama, dalawang concatenate na dalawang string na ginagamit namin at operator tulad ng String 1 & String 2, ngayon ay may isang mahalagang bagay na dapat tandaan at ay habang ginagamit ang & operator na kailangan namin upang magbigay ng mga puwang o VBA ay isasaalang-alang ito hangga't.
VBA Concatenate Strings
Ang VBA Concatenate ay isa sa mga bagay na ginamit namin upang pagsamahin ang dalawa o higit pang mga halaga ng halaga ng cell na magkasama kung sinasabi ko sa simpleng wika na pinagsasama ito, pagsasama nito sa dalawa o higit pang mga halagang nagkakaroon ng buong halaga.
Mayroon kaming pagpapaandar na tinatawag na CONCATENATE sa excel na gagawin ang pagsasama-sama ng dalawa o higit pang mga halaga o dalawa o higit pang mga halaga ng cell na magkasama.
Ngunit sa VBA wala kaming built-in na pagpapaandar upang pagsamahin ang dalawa o higit pang mga halagang magkakasama. Sa katunayan, hindi namin na-access ang klase ng pag-andar ng worksheet upang ma-access ang function na VBA CONCATENATE bilang isang worksheet function.
Paano Magkonsulta sa Mga String sa VBA?
Kung wala kaming anumang uri ng built-in na pagpapaandar upang pagsamahin ang mga halaga at kahit na ang pag-andar ng worksheet ay hindi isinasama sa VBA. Ngayon ang hamon ay paano natin pinagsasama ang mga halaga?
Kahit na walang built-in na mga pag-andar maaari pa rin tayong pagsamahin sa VBA gamit ang simbolong "ampersand" (&).
Kung sinusundan mo ang aming mga post nang regular madalas naming ginagamit ang simbolo ng ampersand (&) sa aming pag-coding.
Halimbawa, kung mayroon kang unang pangalan at apelyido nang magkahiwalay maaari naming pagsamahin ang dalawang ito at gawin itong isang buong pangalan. Sundin ang mga hakbang sa ibaba upang isulat ang VBA macro code sa aming sarili.
Hakbang 1: Pumunta sa Visual Basic Editor at lumikha ng isang pamamaraan ng sub ng VBA.
Hakbang 2: Tukuyin ang tatlong mga variable bilang String.
Code:
Sub Concatenate_Example () I-dim First_Name Bilang String Dim Last_Name Bilang String Dim Full_Name Bilang String End Sub
Hakbang 3: Ngayon italaga ang unang pangalan at apelyido sa variable.
Code:
Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" End Sub
Hakbang 4: Pagsamahin ngayon ang dalawang pangalan na ito sa variable Buong pangalan gamit ang ampersand variable.
Code:
Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First_Name & Last_Name End Sub
Hakbang 5: Ipakita ngayon ang halaga ng variable na Full_Name sa kahon ng mensahe
Code:
Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First_Name & Last_Name MsgBox Full_Name End Sub
Patakbuhin ngayon ang code makakakuha kami ng buong pangalan sa kahon ng mensahe.
Ang problema sa buong pangalan na ito ay hindi namin naidagdag ang isang unang pangalan at apelyido ng separator space space, habang pinagsasama ang unang pangalan at apelyido, pagsamahin din ang space character.
Code:
Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First_Name & "" & Last_Name MsgBox Full_Name End Sub
Magbibigay ito ng wastong buong pangalan ngayon.
Tulad nito gamit ang simbolo ng ampersand, maaari nating pagsamahin ang mga halaga. Ngayon ay malulutas namin ang problema sa worksheet ng paglutas ng Unang Pangalan at Huling Pangalan nang sama-sama upang gawin itong isang buong pangalan.
Dahil kailangan naming pagsamahin ang maraming mga pangalan kailangan naming gumamit ng mga loop upang pagsamahin ang unang pangalan at apelyido. Ang code sa ibaba ang gagawa ng trabaho para sa iyo.
Code:
Sub Concatenate_Example1 () Dim i Bilang Integer Para sa i = 2 hanggang 9 Mga Cell (i, 3). Halaga = Mga Cell (i, 1) & "" & Mga Cell (i, 2) Susunod na Nagtatapos Ako sa Sub
Pagsasama-sama nito ang apelyido at apelyido tulad ng aming VBA concatenate function.
Karaniwang Pagkakamali sa Ampersand VBA Concatenation
Kung napansin mo ang aking mga code nagdagdag ako ng space character sa pagitan ng mga halagang isang simbolo ng ampersand. Mahalaga ito dahil sa likas na katangian ng programang VBA.
Hindi namin maaaring pagsamahin ang mga halaga at ampersand na simbolo na magkasama kung hindi makakakuha kami ng Compile Error tulad ng nasa ibaba.
Nakipagtulungan sa VBA Gamit ang SUMALI ng Pag-andar
Sa VBA maaari naming gamitin ang SUMALI ng pag-andar upang pagsamahin ang mga halaga. Una, tingnan ang VBA JOIN function syntax.
- Ang array ay walang anuman kundi isang array na humahawak sa aming mga halaga. Halimbawa kapwa unang pangalan at apelyido.
- Ang delimiter ay walang anuman kundi kung ano ang separator sa pagitan ng bawat halaga ng array, sa kasong ito, character na space.
Ipapakita ng code sa ibaba ang halimbawa ng pareho.
Code:
Sub Concatenate_Example2 () Madilim ang Aking mgaValues Bilang Variant Dim Full_Name As String MyValues = Array ("Sachin", "Tendulkar") Full_Name = Sumali (MyValues, "") MsgBox Full_Name End Sub