Cuprins
Dacă sunteți în căutarea unor modalități de a înlocuirea textului dintr-un șir de caractere folosind Excel VBA , atunci acest articol vă va fi util. Înlocuirea unei anumite părți de text poate economisi mult timp pentru a tasta din nou șirurile de text. Așadar, haideți să intrăm în articolul principal pentru a afla detalii despre această sarcină de înlocuire.
Descărcați caietul de lucru
Înlocuirea textului în String.xlsm5 Modalități de înlocuire a textului în șir folosind Excel VBA
Aici, avem următorul set de date care conține câteva înregistrări ale angajaților cu ID-urile lor de e-mail. Sarcina noastră este de a înlocui vechile nume de domeniu cu cele noi. În următoarele metode, vom lucra cu acest set de date împreună cu câteva șiruri de text aleatorii pentru a înlocui textul dorit cu VBA coduri.
Am folosit Microsoft Excel 365 aici, puteți utiliza orice altă versiune în funcție de confortul dumneavoastră.
Method-01: Înlocuirea textului începând de la a n-a poziție a unui șir aleatoriu
Aici, vom înlocui textul într-un șir de text aleatoriu pentru diferite poziții de pornire.
Etapa-01 :
➤ Mergeți la Dezvoltator Tab>> Cod Grup>> Visual Basic Opțiune.
Apoi, se va trece la Editor Visual Basic se va deschide.
➤ Mergeți la Introduceți Tab>> Modul Opțiune.
După aceea, un Modul vor fi create.
Etapa-02 :
➤ Scrieți următorul cod
Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Hundred Cars Fifty Cars Fifty Cars Ten Cars" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1) MsgBox updated_str End Sub
Aici, am declarat full_txt_str și updated_str ca Șir de caractere și apoi atribuit full_txt_str la un șir de text aleatoriu. "O sută de mașini Cincizeci de mașini Zece mașini" . apoi VBA Funcția REPLACE este utilizat pentru a înlocui Mașini o parte din acest șir aleatoriu cu Biciclete și 1 este utilizat aici pentru a începe înlocuirea de la poziția 1 În cele din urmă, am atribuit acest nou șir de text la updated_str și cu o casetă de mesaje ( MsgBox ) vom vedea rezultatul.
➤ Presa F5 .
Atunci a caseta de mesaje va apărea cu noul șir de text cu textul înlocuit Biciclete .
➤ Pentru a efectua procesul de înlocuire de la a doua instanță de Mașini utilizați următorul cod.
Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Hundred Cars Fifty Cars Fifty Cars Ten Cars" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 14) MsgBox updated_str End Sub
Aici, am folosit poziția de pornire ca 14 pentru că vrem să avem partea de șir de caractere de după Sute de mașini și înlocuiți Mașini aici.
➤ După rulează codul, vom avea următoarele caseta de mesaje cu șir de text pornind de la text Cincizeci și cu Biciclete în poziția de Mașini .
➤ Pentru a avea doar ultima porțiune din acest șir de caractere, aplicăm următorul cod.
Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Hundred Cars Fifty Cars Fifty Cars Ten Cars" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 25) MsgBox updated_str End Sub
Aici, am folosit poziția de pornire ca 25 pentru că vrem să avem partea de șir de caractere de după Cincizeci de mașini și înlocuiți Mașini cu Biciclete aici.
În cele din urmă, vom avea un caseta de mesaje cu partea dorită a șirului având înlocuirea cu Biciclete .
Citește mai mult: Excel VBA: Înlocuiți caracterul din șirul de caractere în funcție de poziție (4 moduri eficiente)
Metoda-02: Înlocuiți textul pentru a n-a ocurență a unui șir aleatoriu utilizând Excel VBA
În această secțiune, vom înlocui un text într-un șir aleatoriu pentru diferite numere de apariții cu ajutorul unui VBA cod.
Pași :
➤ Urmăriți Etapa-01 de Metoda-1 .
➤ Introduceți următorul cod.
Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Hundred Cars Fifty Cars Fifty Cars Ten Cars" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 1) MsgBox updated_str End Sub
Aici, am declarat full_txt_str și updated_str ca Șir de caractere și apoi atribuit full_txt_str la un șir de text aleatoriu. "O sută de mașini Cincizeci de mașini Zece mașini" . după care, se va trece la Funcția REPLACE este utilizat pentru a înlocui Mașini o parte din acest șir aleatoriu cu Biciclete , 1 este utilizat aici pentru a începe înlocuirea de la poziția 1 a acestui șir, iar ultimul 1 este pentru a număra numărul de apariții. Prin utilizarea lui 1 ca număr de numărare, definim înlocuirea primului Mașini În cele din urmă, am atribuit acest nou șir de text la updated_str și cu o casetă de mesaje ( MsgBox ) vom vedea rezultatul.
➤ Presa F5 .
După aceea, un caseta de mesaje va apărea cu noul text Biciclete în prima poziție de Mașini numai.
➤ Pentru înlocuirea primelor două exemple de Mașini cu Biciclete utilizați următorul cod.
Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Hundred Cars Fifty Cars Fifty Cars Ten Cars" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 2) MsgBox updated_str End Sub
Aici, 2 este utilizat ca număr de numărare pentru a înlocui primele două cazuri de Mașini cu Biciclete .
După rularea codului, veți avea înlocuirea primelor două texte Mașini cu Biciclete .
➤ Aplicați următorul cod pentru a înlocui toate cazurile de text Mașini .
Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Hundred Cars Fifty Cars Fifty Cars Ten Cars" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 3) MsgBox updated_str End Sub
În acest caz, ultimul argument al funcției Funcția REPLACE este 3 care este numărul de numărare care indică înlocuirea tuturor Mașini cu Biciclete în șirul de text.
➤ Presa F5 .
După aceea, vom avea următoarele caseta de mesaje cu textul înlocuit Biciclete în șir.
Lecturi similare
- Cum să înlocuiți textul cu Carriage Return în Excel (4 abordări ușoare)
- Excel VBA: Cum să găsiți și să înlocuiți textul în documentul Word
- Cum să înlocuiți textul după un anumit caracter în Excel (3 metode)
- Înlocuiți textul unei celule pe baza unei condiții în Excel (5 metode simple)
Method-03: Înlocuiți textul într-un șir aleatoriu cu InputBox
Aici, vom înlocui un anumit text dintr-un șir aleatoriu cu un text care va fi definit de un utilizator cu ajutorul funcției Funcția VBA InputBox .
Pași :
➤ Urmăriți Etapa-01 de Metoda-1 .
➤ Introduceți următorul cod.
Sub substitution_of_text_3() Dim full_txt_str, new_txt, updated_str As String full_txt_str = "Hundred Cars Fifty Cars Ten Cars" new_txt = InputBox("Scrieți noul text de înlocuit") updated_str = Replace(full_txt_str, "Cars", new_txt) MsgBox updated_str End Sub
Aici, am declarat full_txt_str , new_txt , și updated_str ca Șir de caractere și apoi atribuit full_txt_str la un șir de text aleatoriu. "O sută de mașini Cincizeci de mașini Zece mașini" Pentru a avea intrarea definită de utilizator ca text care urmează să fie înlocuit cu textul Mașini în șirul aleatoriu, am folosit Funcția InputBox și apoi a atribuit această valoare la new_txt . apoi Funcția REPLACE este utilizat pentru a înlocui Mașini o parte din acest șir aleatoriu cu new_txt În cele din urmă, am atribuit acest nou șir de text la updated_str și cu o casetă de mesaje ( MsgBox ) vom vedea rezultatul.
➤ Presa F5 .
După aceea, un Caseta de intrare unde puteți introduce orice parte de text pe care doriți să o introduceți în noul șir.
➤ Tip Biciclete sau orice alt text pe care îl doriți și apoi apăsați OK .
În cele din urmă, veți avea următorul rezultat, cu noul șir de text având noul text Biciclete în poziția de Mașini .
Citiți mai mult: Cum să înlocuiți textul în formula Excel (7 moduri simple)
Metoda-04: Înlocuiți textul dintr-o gamă de șiruri de caractere cu Excel VBA
Aici, vom înlocui gmail parte a ID-urilor de e-mail cu domeniile din lista Domeniu nou iar pentru a acumula noile ID-uri de e-mail am introdus o nouă coloană; ID-ul final de e-mail .
Pași :
➤ Urmăriți Etapa-01 de Metoda-1 .
➤ Introduceți următorul cod.
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
În acest caz, am folosit Bucla FOR pentru a executa operațiunea din Rândul 4 la Rândul 13 . cu ajutorul IF-THEN am verificat dacă ID-urile de e-mail ale Coloana D conțin "gmail" sau nu, iar pentru a îndeplini acest criteriu, trebuie să se aplice "gmail" porțiunea din ID-urile de e-mail va fi înlocuită cu noile domenii de Coloana E pentru a crea noi id-uri în Coloana F În caz contrar, veți avea un spațiu gol în celulele corespunzătoare din Coloana F .
➤ Presa F5 .
Apoi, veți avea noile ID-uri de e-mail în ID-ul final de e-mail coloană.
Citiți mai mult: Excel VBA pentru a găsi și înlocui textul într-o coloană (2 exemple)
Method-05: Înlocuirea textului dintr-o gamă de șiruri de caractere cu introducerea utilizatorului pentru a găsi text
Puteți înlocui următoarele id-uri de e-mail cu noile domenii și puteți declara ce să înlocuiți în id-urile anterioare, o intrare a utilizatorului poate fi utilizată prin această metodă.
Pași :
➤ Urmăriți Etapa-01 de Metoda-1 .
➤ Introduceți următorul cod.
Sub substitution_of_text_5() Dim partial_text As String partial_text = Application.InputBox("Introduceți șirul de înlocuit") 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
Aici, am definit partial_text ca un Șir de caractere și apoi a fost atribuit unui șir de caractere care va fi dat de un utilizator prin intermediul aplicației Caseta de intrare .
După aceea, am folosit Bucla FOR pentru a executa operațiunea din Rândul 4 la Rândul 13 , și folosind IF-THEN am verificat dacă ID-urile de e-mail ale Coloana D conțin "gmail" sau nu. Și pentru a îndeplini acest criteriu, trebuie să se "gmail" porțiunea din ID-urile de e-mail va fi înlocuită cu noile domenii de Coloana E pentru a crea noi id-uri în Coloana F În caz contrar, veți avea un spațiu gol în celulele corespunzătoare din Coloana F .
➤ Presa F5 .
După aceea, veți avea un Caseta de intrare unde trebuie să introduceți textul pe care doriți să îl căutați în intervalul de ID-uri de e-mail (aici am introdus gmail ) și apoi apăsați OK .
În cele din urmă, avem ID-urile noastre de e-mail actualizate în fișierul ID-ul final de e-mail coloană.
Citiți mai mult: Găsiți și înlocuiți un text într-un interval cu Excel VBA (Macro și UserForm)
Secțiunea practică
Pentru a face practică de unul singur am pus la dispoziție un Practică ca mai jos, într-o foaie numită Practică Vă rog să o faceți singur.
Concluzie
În acest articol, am încercat să acoperim modalitățile de înlocuire a textului într-un șir de caractere folosind Excel VBA Dacă aveți sugestii sau întrebări, nu ezitați să le împărtășiți în secțiunea de comentarii.