Excel VBA: Hogyan cserélje ki a szöveget a karakterláncban (5 hatékony módja)

  • Ossza Meg Ezt
Hugh West

Ha azt keresi, hogyan lehet szöveg cseréje egy karakterláncban az Excel használatával VBA , akkor ezt a cikket hasznosnak fogja találni. Egy bizonyos szövegrész cseréje sok időt takaríthat meg a szövegrészek újbóli begépelésével. Tehát, nézzük a fő cikket, hogy megismerjük a cserével kapcsolatos részleteket.

Munkafüzet letöltése

Szöveg cseréje String.xlsm-ben

5 mód a szöveg cseréjére a karakterláncban az Excel VBA használatával

Itt van a következő adatkészlet, amely az alkalmazottak néhány rekordját tartalmazza az e-mail azonosítóikkal együtt. A feladatunk az, hogy a régi domain neveket az újakkal helyettesítsük. A következő módszerekben ezzel az adatkészlettel és néhány véletlenszerű szöveges karakterlánccal fogunk dolgozni, hogy a kívánt szöveget a következővel helyettesítsük. VBA kódok.

Használtuk Microsoft Excel 365 változatot itt, bármely más változatot is használhatsz, ha az neked megfelel.

Módszer-01: Szöveg cseréje egy véletlen karakterlánc n-edik pozíciójától kezdve

Itt a szöveget egy véletlenszerű szöveges karakterláncban fogjuk helyettesíteni különböző kezdőpozíciókban.

Step-01 :

➤ Menj a Fejlesztő Tab>> Kód: Csoport>> Visual Basic Opció.

Ezután a Visual Basic szerkesztő megnyílik.

➤ Menj a Beillesztés Tab>> Modul Opció.

Ezután egy Modul létrejön.

Step-02 :

➤ Írja a következő kódot

 Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Száz autó Ötven autó Tíz autó" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1) MsgBox updated_str End Sub 

Itt kijelentettük, hogy full_txt_str és updated_str mint String majd hozzárendelték full_txt_str egy véletlenszerű szöveges karakterláncra- "Száz autó Ötven autó Tíz autó" . Akkor a VBA REPLACE funkció a Autók része ennek a véletlenszerű karakterláncnak a Kerékpárok és 1 itt arra szolgál, hogy a cserét a 1 Végül ezt az új szöveges karakterláncot hozzárendeltük a updated_str és egy üzenőmezővel ( MsgBox ), látni fogjuk az eredményt.

➤ Sajtó F5 .

Akkor egy üzenőmező megjelenik az új szövegrészlet a kicserélt szöveggel. Kerékpárok .

➤ A cserefolyamat elvégzéséhez a második példányban a Autók használja a következő kódot.

 Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Száz autó Ötven autó Tíz autó" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 14) MsgBox updated_str End Sub 

Itt a kiindulási helyzetet úgy használtuk, mint 14 mert azt akarjuk, hogy a karakterláncnak az a része, ami a Száz autó és cserélje ki a Autók itt.

➤ Miután futó a kódot, a következő lesz üzenőmező a szöveges karakterlánc a szövegből kiindulva Ötven és a Kerékpárok a Autók .

➤ Ahhoz, hogy csak a karakterlánc utolsó része legyen meg, a következő kódot alkalmazzuk.

 Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Száz autó Ötven autó Tíz autó" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 25) MsgBox updated_str End Sub 

Itt a kiindulási helyzetet úgy használtuk, mint 25 mert azt akarjuk, hogy a karakterláncnak az a része, ami a Ötven autó és cserélje ki a Autók a címen Kerékpárok itt.

Végül, lesz egy üzenőmező a karakterlánc kívánt részével, amely a következővel van helyettesítve Kerékpárok .

További információ: Excel VBA: Karakterek cseréje a karakterláncban pozíció szerint (4 hatékony módszer)

Módszer-02: Szöveg helyettesítése egy véletlen karakterlánc n-edik előfordulásának Excel VBA használatával

Ebben a szakaszban egy szöveget fogunk helyettesíteni egy véletlenszerű karakterláncban különböző számú előfordulásra egy VBA kód.

Lépések :

➤ Follow Step-01 a Módszer-1 .

➤ Írja be a következő kódot.

 Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Száz autó Ötven autó Tíz autó" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 1) MsgBox updated_str End Sub 

Itt kijelentettük, hogy full_txt_str és updated_str mint String majd hozzárendelték full_txt_str egy véletlenszerű szöveges karakterláncra- "Száz autó Ötven autó Tíz autó" Ezután a REPLACE funkció a Autók része ennek a véletlenszerű karakterláncnak a Kerékpárok , 1 itt arra szolgál, hogy a cserét a 1 és a végső 1 az előfordulások számának számlálására szolgál. A 1 mint a számlálószámot határozzuk meg az első helyettesítését Autók Végül ezt az új szöveges karakterláncot hozzárendeltük a updated_str és egy üzenőmezővel ( MsgBox ), látni fogjuk az eredményt.

➤ Sajtó F5 .

Ezután egy üzenőmező az új szöveggel jelenik meg Kerékpárok a első pozíció a Autók csak.

➤ Az első két példány helyettesítésére a Autók a címen Kerékpárok használja a következő kódot.

 Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Száz autó Ötven autó Tíz autó" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 2) MsgBox updated_str End Sub 

Tessék, 2 a számlálószámként a Autók a címen Kerékpárok .

A kód futtatása után az első két szöveg helyettesítését kapja meg. Autók a címen Kerékpárok .

➤ Alkalmazza a következő kódot a szöveg összes példányának helyettesítésére Autók .

 Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Száz autó Ötven autó Tíz autó" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 3) MsgBox updated_str End Sub 

Itt az utolsó argumentum a REPLACE funkció a 3 amely a számolási szám, amely az összes Autók a címen Kerékpárok a szöveges karakterláncban.

➤ Sajtó F5 .

Ezután a következőket fogjuk tartani üzenőmező a helyettesített szöveggel Kerékpárok a karakterláncban.

Hasonló olvasmányok

  • Hogyan cserélje ki a szöveget az Excelben a Carriage Returnrel (4 sima megközelítés)
  • Excel VBA: Szöveg keresése és cseréje a Word dokumentumban
  • Hogyan cserélje ki a szöveget egy adott karakter után az Excelben (3 módszerek)
  • A cella szövegének cseréje az Excel feltételei alapján (5 egyszerű módszer)

Módszer-03: Szöveg cseréje egy véletlenszerű karakterláncban InputBox segítségével

Itt egy véletlenszerű karakterlánc egy bizonyos szövegét fogjuk helyettesíteni egy olyan szöveggel, amelyet a felhasználó határoz meg a VBA InputBox funkció .

Lépések :

➤ Follow Step-01 a Módszer-1 .

➤ Írja be a következő kódot.

 Sub sub substitution_of_text_3() Dim full_txt_str, new_txt, updated_str As String full_txt_str = "Száz autó Ötven autó Tíz autó" new_txt = InputBox("Írja le az új szöveget, amit helyettesíteni szeretne") updated_str = Replace(full_txt_str, "Cars", new_txt) MsgBox updated_str End Sub 

Itt kijelentettük, hogy full_txt_str , new_txt , és updated_str mint String majd hozzárendelték full_txt_str egy véletlenszerű szöveges karakterláncra- "Száz autó Ötven autó Tíz autó" A felhasználó által meghatározott bevitel a szöveg helyettesítendő szövegeként a Autók a véletlenszerű karakterláncban, a InputBox funkció majd ezt az értéket hozzárendelte a new_txt . Akkor a REPLACE funkció a Autók része ennek a véletlenszerű karakterláncnak a new_txt Végül ezt az új szöveges karakterláncot hozzárendeltük a updated_str és egy üzenőmezővel ( MsgBox ), látni fogjuk az eredményt.

➤ Sajtó F5 .

Ezután egy Beviteli doboz jelenik meg, ahol megadhat bármilyen szövegrészt, amelyet az új karakterláncban szeretne szerepeltetni.

➤ Típus Kerékpárok vagy bármilyen más szöveget, majd nyomja meg a OK .

Végül a következő eredményt kapja az új szöveges karakterlánc új szövegével Kerékpárok a Autók .

További információ: Hogyan cserélje ki a szöveget az Excel-képletben (7 egyszerű módja)

Módszer-04: Szöveg cseréje egy karakterlánc-tartományban az Excel VBA segítségével

Itt helyettesítjük a gmail része az e-mail azonosítóknak a tartományokkal a Új tartomány oszlopot, és az új e-mail azonosítók összegyűjtéséhez egy új oszlopot illesztettünk be; Végleges e-mail azonosító .

Lépések :

➤ Follow Step-01 a Módszer-1 .

➤ Írja be a következő kódot.

 Sub sub substitution_of_text_4() For i = 4 To 13 If InStr(1, Cells(i, 4).Value, "gmail")> 0 Then Cells(i, 6).Value = Replace(Cells(i, 4).Value, "gmail", Cells(i, 5).Value) Else Cells(i, 6).Value = "" End If Next i End Sub 

Itt a FOR ciklus a művelet végrehajtásához a 4. sor a címre. 13. sor . A segítségére van a IF-THEN utasítással ellenőriztük, hogy az e-mail azonosítók a D oszlop tartalmaznak "gmail" vagy sem, és ennek a kritériumnak a teljesítéséhez a "gmail" az e-mail azonosítók részének helyébe az új domainek lépnek, a E oszlop az új azonosítók létrehozásához a F oszlop Ellenkező esetben a megfelelő cellákban üres marad a F oszlop .

➤ Sajtó F5 .

Ezután az új e-mail azonosítókat a Végleges e-mail azonosító oszlop.

További információ: Excel VBA szöveg keresése és helyettesítése egy oszlopban (2 példa)

Módszer-05: Szöveghelyettesítés a karakterláncok tartományában felhasználói bevitellel a szöveg kereséséhez

A következő e-mail azonosítók helyettesíthetők az új domainekkel, és kijelentheti, hogy mit kell helyettesíteni az előző azonosítókban egy felhasználói bevitelt lehet használni a következő módszerrel.

Lépések :

➤ Follow Step-01 a Módszer-1 .

➤ Írja be a következő kódot.

 Sub substitution_of_text_5() Dim partial_text As String partial_text = Application.InputBox("Enter the string to be replaced") For i = 4 To 13 If InStr(1, Cells(i, 4).Value, LCase(partial_text))> 0 Then Cells(i, 6).Value = Replace(Cells(i, 4).Value, LCase(partial_text), Cells(i, 5).Value) Else Cells(i, 6).Value = "" End If Next i End Sub 

Itt a következőket határoztuk meg partial_text mint String majd hozzárendeltük egy karakterlánchoz, amelyet a felhasználó ad meg a Beviteli doboz .

Ezt követően a FOR ciklus a művelet végrehajtásához a 4. sor a címre. 13. sor , és a IF-THEN utasítással ellenőriztük, hogy az e-mail azonosítók a D oszlop tartalmaznak "gmail" vagy sem. És ennek a kritériumnak a teljesítéséhez a "gmail" az e-mail azonosítók részének helyébe az új domainek lépnek, a E oszlop az új azonosítók létrehozásához a F oszlop Ellenkező esetben a megfelelő cellákban üres marad a F oszlop .

➤ Sajtó F5 .

Ezután lesz egy Beviteli doboz ahol be kell írni a szöveget, amit keresni akarunk az e-mail azonosítók között (itt beírtuk, hogy gmail ), majd nyomja meg a OK .

Végül, a frissített e-mail azonosítóinkat a Végleges e-mail azonosító oszlop.

További információ: Szöveg keresése és cseréje egy tartományban az Excel VBA-val (makró és UserForm)

Gyakorlati szekció

A saját magad általi gyakorláshoz biztosítottunk egy Gyakorlat szakasz az alábbi módon egy lapon, amelynek neve Gyakorlat Kérem, tegye meg egyedül.

Következtetés

Ebben a cikkben megpróbáltuk lefedni a szöveg cseréjének módjait egy karakterláncban az Excel használatával. VBA Remélem, hasznosnak találja majd. Ha bármilyen javaslata vagy kérdése van, nyugodtan ossza meg velünk a megjegyzés rovatban.

Hugh West nagy tapasztalattal rendelkező Excel-oktató és elemző, több mint 10 éves tapasztalattal az iparágban. Számvitel és pénzügy szakos alapdiplomát, valamint üzleti adminisztrációból mesterképzést szerzett. Hugh szenvedélye a tanítás, és egyedülálló tanítási megközelítést dolgozott ki, amely könnyen követhető és érthető. Az Excelben szerzett szakértői tudása világszerte több ezer diáknak és szakembernek segített abban, hogy készségeiket és karrierjüket kiválóan teljesítsék. Hugh blogján keresztül megosztja tudását a világgal, ingyenes Excel-oktatóanyagokat és online képzéseket kínálva, hogy segítse az egyéneket és a vállalkozásokat teljes potenciáljuk kibontakoztatásában.