VBA aizstāt virkni - Kā aizstāt tekstu virknē, izmantojot VBA?

Satura rādītājs

Excel VBA aizstāt virkni

Aizstāt ir gan darblapas funkcija, gan arī VBA funkcija. Šī funkcija palīdz mums aizstāt konkrēto vārdu no virknes ar citu virkni. Tas darbojas līdzīgi funkcijai Aizstāšana VBA.

Strādājot ar testa virknes vai teksta datu vērtībām, ir acīmredzama lieta kaut ko aizstāt vai aizstāt ar kaut ko citu, apvienojot divus šūnu datus vienā vai sadalot vienu šūnu datus vairākās lietās. Tie ir visi kopīgie uzdevumi, kurus mēs katru dienu veicam savā darba vietā.

Tātad, kā mēs aizstājam vienu virknes vārdu ar citu vārdu? Piemēram, ja no šīs virknes ir “Indija ir jaunattīstības valsts un Indija Āzijas valstī”, mums jāaizstāj vārds “Indija” un jāmaina uz “Bharath”.

Tas ir iespējams, izmantojot funkciju Aizstāt. Šajā rakstā mēs parādīsim, kā aizstāt virknes VBA kodēšanā.

Aizstāt funkciju

  • Izteiksme: tas nav nekas cits kā sākotnējā virknes vērtība, no kuras mēs cenšamies kaut ko aizstāt ar kaut ko. Piemēram, zemāk ir izteiksmes virkne - “Indija ir jaunattīstības valsts un Indija Āzijas valstī”.
  • Atrast virkni: kāda ir virkne, kuru mēs mēģinām nomainīt. Piemēram, virknē Expression mēs mēģinām aizstāt vārdu “India”.
  • Aizstāt virkni: ar ko aizstājam virkni, ar kuru mēs aizstājam virkni Atrast ? Tātad šajā gadījumā mēs cenšamies vārdu “Indija” aizstāt ar “Bharath”.
  • (Sākt): Šis ir izvēles parametrs. Iepriekš minētajā virknē (izteiksme) mums ir divi vārdi “Indija”, tāpēc no kuras virknes Atrast pozīcijas mums jāsāk nomaiņas process. Piemēram, ja mēs sakām 2, tas sāks aizstāt vārdu “Indija”, sākot no otrās pozīcijas.
  • (Skaits): Ja izteiksmes rindā meklēšanas vaicājums tiek parādīts vairākas reizes , tad cik vārdu mums ir jāaizstāj.

Piemēram, ja vārds “Indija” parādās 5 reizes un ja skaitli norādāt kā 3, tas aizstās tikai pirmos 3 vārdus “Indija”.

Kā aizstāt tekstu virknē, izmantojot VBA?

1. piemērs

Tagad mēs mēģināsim aizstāt vārdu “Indija” ar “Bharath” no zemāk esošās virknes vērtības.

"Indija ir jaunattīstības valsts un Indija Āzijas valstī."

Vispirms sāciet Excel makro procedūru tūlīt.

Kods:

Sub Replace_Example () End Sub

Definējiet VBA mainīgo kā virkni.

Kods:

Sub Replace_Example () Dim NewString kā virknes beigu apakšsadaļa

Pēc mainīgā vārda “India” aizstāšanas ar “Bharath” mēs parādīsim jaunu virknes vērtību. Šim mainīgajam atveriet funkciju Aizstāt.

Pirmais šīs funkcijas arguments ir “izteiksme”, ti, no kuras virknes mēs mēģinām aizstāt vārdu, tāpēc kopējiet un ielīmējiet virkni “Indija ir jaunattīstības valsts un Indija Āzijas valstī”.

Nākamais arguments ir “Atrast virkni”, ti, kurš vārds mums jāaizstāj, ti, “Indija”.

Nākamais arguments ir “Aizstāt virkni”, ti, ar kuru virkni mums jāaizstāj vārds “Indija”, ti, “Bharath”.

Labi, kā tagad, ignorējiet atlikušos argumentus. Tagad parādiet rezultātu ziņojumu lodziņā.

Kods:

Sub Replace_Example () Dim NewString kā virkne NewString = Replace ("Indija ir jaunattīstības valsts un Indija ir Āzijas valsts", "Indija", "Bharath") MsgBox NewString End Sub

Palaidīsim kodu, izmantojot F5 taustiņu vai manuāli, un redzēsim jauno virknes rezultātu.

Labi, apskatiet iepriekš minēto rezultātu. Visur, kur mums bija vārds “Indija”, tas ir aizstāts ar vārdu “Bharath”.

2. piemērs

Tagad mēs redzēsim, kā to pašu kodu izmantot ar mainīgajiem. Apskatiet zemāk esošo kodu.

Kods:

Sub Replace_Example1 () Dim NewString kā virkne Dim MyString kā virkne Dim FindString kā virkne Dim ReplaceString As String MyString = "Indija ir jaunattīstības valsts, un Indija ir Āzijas valsts" FindString = "India" ReplaceString = "Bharath" NewString = Aizstāt (MyString , FindString, ReplaceString) MsgBox NewString End Sub

Iepriekš minētajā kodā esmu deklarējis papildu trīs mainīgos.

Dim MyString kā virkne Dim FindString kā virkne Dim ReplaceString kā virkne

Šiem mainīgajiem lielumiem esmu piešķīris vērtības. Tā vietā, lai piegādātu izteiksmes virkni, atrast virkni un aizstātu virkni, mēs piegādāsim tikai mainīgo funkcijai Aizstāt.

Šis kods dod arī tādu pašu rezultātu, bet vienīgā atšķirība ir tā, ka mēs esam izmantojuši mainīgos, nevis funkciju tiešo vērtību piegādi.

3. piemērs

Pieņemsim, ka vārdu “Indija” vēlaties aizstāt tikai no otrās pozīcijas, tad mums jāizmanto parametra Aizstāt funkcija (“Sākt”). Lai iegūtu informāciju, skatiet zemāk esošo kodu.

Kods:

Sub Replace_Example2 () Dim NewString kā virkne Dim MyString kā virkne Dim FindString kā virkne Dim ReplaceString As String MyString = "Indija ir jaunattīstības valsts, un Indija ir Āzijas valsts" FindString = "India" ReplaceString = "Bharath" NewString = Aizstāt (MyString , FindString, ReplaceString, Start: = 34) MsgBox NewString End Sub

Tikai viena papildu lieta, ko esam pievienojuši no iepriekšējā koda, ir parametrs “Start” kā 34. Tagad palaidiet kodu un skatiet rezultātu.

Tagad mēs varam redzēt tikai string pēc 34 th rakstzīmju virknes ar "Indija" aizstājot ar "Bharath."

4. piemērs

Now for an example, if we want to replace only the first occurrence of the word “India” with “Bharath,” then we need to use the (“Count”) parameter of the Replace function.

Below is the code for you.

Code:

Sub Replace_Example3() Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India is a developing country and India is the Asian Country" FindString = "India" ReplaceString = "Bharath" NewString = Replace(MyString, FindString, ReplaceString, Count:=1) MsgBox NewString End Sub

Run the code manually or through the F5 key and see the result.

As you can see above, it has replaced only the first occurrence of the word “India” to “Bharath,” and the second instance remains the same.

Things to Remember Here

  • Replace ir virknes funkciju saime VBA.
  • VBA gadījumā aizstāšanas funkcija aizstāj visus piegādātos vārdus ar aizstātu virkni, ja skaitītāja parametrs nav norādīts.
  • Sākuma parametrs izdzēsīs piegādāto rakstzīmju skaitu un parādīs atlikušo rezultātu.

Interesanti raksti...