VBA Palitan ang String | Paano Palitan ang Teksto sa String gamit ang VBA?

Palitan ang String ng Excel VBA

Ang kapalit ay parehong pag-andar ng Worksheet pati na rin ang pagpapaandar ng VBA. Tinutulungan kami ng pagpapaandar na ito na palitan ang partikular na salita mula sa string gamit ang isa pang string. Gumagawa ito katulad ng pagpapaandar ng Kapalit sa VBA.

Habang ang pagharap sa mga pagsubok na halaga ng data ng string o teksto ay isang halatang bagay na papalitan o kapalit ng isang bagay sa iba pa, pagsali sa dalawang data ng cell sa isa o paghahati ng isang data ng cell sa maraming bagay. Ito ang lahat ng mga karaniwang gawain na ginagawa namin araw-araw sa aming lugar ng trabaho.

Kaya, paano natin papalitan ang isang salita sa string ng isa pang salita? Halimbawa, kung ang string ay "India ay isang umuunlad na bansa at India sa Bansang Asyano", mula sa string na ito kailangan nating palitan ang salitang "India" at binago sa "Bharath".

Posible ito sa pamamagitan ng paggamit ng function na Palitan. Sa artikulong ito, ipapakita namin sa iyo kung paano palitan ang mga string sa VBA coding.

Palitan ang Pag-andar

  • Pagpapahayag: Ito ay walang iba kundi ang orihinal na halaga ng string na kung saan sinusubukan naming palitan ang isang bagay ng isang bagay. Halimbawa sa ibaba ay ang expression string - "Ang India ay isang umuunlad na bansa at India sa Bansang Asyano"
  • Maghanap ng String: Ano ang string na sinusubukan naming palitan. Halimbawa ang sa Pagpapahayag sinusubukan naming palitan ang salitang "India".
  • Palitan ang String: Ano ang kapalit na string na pinapalitan namin ng Maghanap ng String kasama? Kaya, sa kasong ito, sinusubukan naming palitan ang salitang "India" ng "Bharath".
  • [Simula]: Ito ay isang opsyonal na parameter. Sa string sa itaas (Pagpapahayag) mayroon kaming dalawang mga salitang "India" kaya mula sa aling posisyon ng Maghanap ng String kailangan nating simulan ang proseso ng kapalit. Halimbawa, kung sasabihin nating 2 magsisimula itong palitan ang salitang "India" mula sa pangalawang posisyon pasulong.
  • [Bilangin]: Kung ang Maghanap ng String lumilitaw ng maraming beses sa Pagpapahayag kung gayon kung gaano karaming mga salita ang kailangan nating palitan.

Halimbawa, kung ang salitang "India" ay lumilitaw ng 5 beses at kung ibibigay mo ang bilang bilang 3 pagkatapos ay papalitan lamang nito ang unang 3 mga salitang "India".

Paano Palitan ang Teksto sa String gamit ang VBA?

Maaari mong i-download ang Template ng VBA Change String Excel na ito dito - VBA Palitan ang Template ng String Excel

Halimbawa # 1

Ngayon ay susubukan naming palitan ang salitang "India" ng "Bharath" mula sa halaga ng string sa ibaba.

"Ang India ay isang umuunlad na bansa at India sa Bansang Asyano"

Una, simulan ang excel macro na pamamaraan ngayon.

Code:

 Sub Change_Example () Tapusin ang Sub 

Tukuyin ang variable ng VBA bilang String.

Code:

 Sub Change_Example () Madilim ang NewString Bilang String End Sub 

Sa variable na ito, magpapakita kami ng bagong halaga ng string pagkatapos palitan ang salitang "India" ng "Bharath". Para sa variable na ito buksan ang Palitan function.

Ang unang argumento ng pagpapaandar na ito ay "Ekspresyon" ibig sabihin mula sa aling string na sinusubukan naming palitan ang isang salita, kaya kopyahin at i-paste ang string na "Ang India ay isang umuunlad na bansa at India sa Bansang Asyano".

Ang susunod na argumento ay "Find String" ibig sabihin aling mga salita ang kailangan nating palitan ibig sabihin ay "India".

Ang susunod na argumento ay "Palitan ang String" ibig sabihin sa aling string ang kailangan nating palitan ang salitang "India" ibig sabihin ay "Bharath".

Ok, hanggang ngayon ay huwag pansinin ang natitirang mga argumento. Ipakita ngayon ang resulta sa kahon ng mensahe.

Code:

 Sub Change_Example () Dim NewString Bilang String NewString = Palitan ("Ang India ay isang umuunlad na bansa at ang India ay ang Bansang Asyano", "India", "Bharath") MsgBox NewString End Sub 

Patakbuhin natin ang code gamit ang F5 key o manu-mano at makita ang bagong resulta ng string.

Ok, tingnan ang resulta sa itaas saan man tayo nagkaroon ng salitang "India" pinalitan ito ng salitang "Bharath".

Halimbawa # 2

Ngayon makikita natin kung paano gamitin ang parehong code sa mga variable. Tingnan ang code sa ibaba.

Code:

 Sub Change_Example1 () Dim NewString Bilang String Dim MyString Bilang String Dim FindString Bilang String Dim ChangeString As String MyString = "Ang India ay isang umuunlad na bansa at ang India ay ang Bansang Asyano" FindString = "India" ChangeString = "Bharath" NewString = Change (MyString , FindString, ChangeString) MsgBox NewString End Sub 

Sa code sa itaas, naideklara ko ang labis na tatlong mga variable.

 Madilim ang MyString Bilang String Dim Dim FindString Bilang String Dim PinalitanString Bilang String 

Para sa mga variable na ito nakatalaga ako ng mga halaga, sa halip na ibigay ang Expression String, Find String, at Palitan ang String ibabahagi lamang namin ang variable sa pagpapaandar na Palitan.

Nagbibigay din ang code na ito ng parehong resulta ngunit ang pagkakaiba lamang ay gumamit kami ng mga variable sa halip na direktang pagbibigay ng mga halaga sa pagpapaandar.

Halimbawa # 3

Ipagpalagay na nais mong palitan ang salitang "India" lamang mula sa pangalawang posisyon pagkatapos ay kailangan naming gamitin ang parameter na Palitan ang pag-andar [“Magsimula”]. Tingnan ang code sa ibaba para sa iyong impormasyon.

Code:

 Sub Change_Example2 () Dim NewString Bilang String Dim MyString Bilang String Dim FindString Bilang String Dim ChangeString As String MyString = "Ang India ay isang umuunlad na bansa at ang India ay ang Bansang Asyano" FindString = "India" ChangeString = "Bharath" NewString = Change (MyString , FindString, ChangeString, Start: = 34) MsgBox NewString End Sub 

Isang dagdag na bagay lamang ang naidagdag namin mula sa nakaraang code ay ang parameter na "Start" bilang 34. Ngayon patakbuhin ang code at tingnan ang resulta.

Ngayon lamang namin makikita ang string pagkatapos ng ika-34 na character ng string na may "India" na papalit sa "Bharath".

Halimbawa # 4

Ngayon bilang isang halimbawa, kung nais naming palitan lamang ang unang paglitaw ng salitang "India" sa "Bharath" pagkatapos ay kailangan nating gamitin ["Bilang"] parameter ng pagpapaandar na Palitan.

Nasa ibaba ang code para sa iyo.

Code:

 Sub Change_Example3 () Dim NewString Bilang String Dim MyString Bilang String Dim FindString Bilang String Dim ChangeString As String MyString = "Ang India ay isang umuunlad na bansa at ang India ay ang Asyanong Bansa" FindString = "India" ChangeString = "Bharath" NewString = Change (MyString , FindString, ChangeString, Count: = 1) MsgBox NewString End Sub 

Manu-manong patakbuhin ang code o sa pamamagitan ng F5 key at tingnan ang resulta.

Tulad ng nakikita mo sa itaas pinalitan lamang nito ang unang paglitaw ng salitang "India" sa "Bharath" at ang pangalawang pagkakataon ay nananatiling pareho.

Mga Bagay na Dapat Tandaan

  • Ang kapalit ay isang pamilya ng pag-andar ng string sa VBA.
  • Sa VBA, ang function na palitan ay pinapalitan ang lahat ng mga naibigay na salita na may pinalitan na string kung ang bilang ng parameter ay hindi tinukoy.
  • Tatanggalin ng parameter ng pagsisimula ang bilang ng mga character na ibinigay at ipapakita ang natitirang resulta.