Excel VBA: com substituir el text a la cadena (5 maneres efectives)

  • Comparteix Això
Hugh West

Si esteu buscant maneres de substituir text en una cadena mitjançant l'Excel VBA , aquest article us serà útil. Substituir una part de text determinada pot estalviar molt de temps en escriure les cadenes de text de nou. Per tant, entrem a l'article principal per conèixer els detalls sobre aquesta tasca de substitució.

Baixeu el llibre de treball

Substitueix el text a String.xlsm

5 maneres de substituir el text a la cadena mitjançant Excel VBA

Aquí tenim el següent conjunt de dades que conté alguns registres dels empleats amb els seus identificadors de correu electrònic. La nostra tasca és substituir els noms de domini antics pels nous. En els mètodes següents, treballarem amb aquest conjunt de dades juntament amb algunes cadenes de text aleatòries per substituir el text desitjat per codis VBA .

Hem utilitzat Versió de Microsoft Excel 365 aquí, podeu utilitzar qualsevol altra versió segons la vostra conveniència.

Mètode-01: Substituïu el text a partir de la n-esima posició d'una cadena aleatòria

Aquí, substituirem el text en una cadena de text aleatori per a diferents posicions inicials.

Pas-01 :

➤ Aneu a la pestanya Desenvolupador >> Codi Grup >> Opció Visual Basic.

A continuació, l' Editor de Visual Basic s'obrirà.

➤ Aneu a l'opció Insereix pestanya >> Mòdul Opció.

Després d'això, es crearà un Mòdul .

Pas-02 :

➤ Escriu el següentcodi

4674

Aquí hem declarat full_txt_str i updated_str com a String i després hem assignat full_txt_str a un text aleatori cadena- "Cent cotxes Cinquanta cotxes Deu cotxes" . A continuació, s'utilitza la funció REPLACE de VBA per substituir la part Cotxes d'aquesta cadena aleatòria per Bicicletes i 1 s'utilitzen aquí per iniciar la substitució des de la posició 1 d'aquesta cadena. Finalment, hem assignat aquesta nova cadena de text a updated_str i amb un quadre de missatge ( MsgBox ) veurem el resultat.

➤ Premeu F5 .

A continuació, apareixerà un quadre de missatge amb la cadena de text nova amb el text substituït Bicicletes .

➤ Per fer el procés de substitució des de la segona instància de Cotxes utilitzeu el codi següent.

9112

Aquí, hem utilitzat la posició inicial com a 14 perquè volem tenir la part de la cadena després de Cent cotxes i substituir el Cotxes aquí.

➤ Després d' executar el codi, tindrem el següent quadre de missatge amb la cadena de text a partir del text Cinquanta i amb Bicicletes en la posició de Cotxes .

➤ Per tenir només l'última part d'aquesta cadena estem aplicant el codi següent.

2240

Aquí hem utilitzat la posició inicial com a 25 perquè volem tenir la part de la cadena després de Cinquanta cotxes i substituir els Cotxes per Bicicletes aquí.

Finalment, tindrem un quadre de missatge amb la part desitjada de la cadena substituïda per Bicicletes .

Llegir més: Excel VBA: substituir el caràcter de la cadena per la posició (4 maneres efectives)

Mètode-02: Substituïu el text per l'enèsima aparició d'una cadena aleatòria mitjançant Excel VBA

En aquesta secció, substituirem un text en una cadena aleatòria per diferents nombres d'ocurrències amb l'ajuda d'un codi VBA.

Pasos :

➤ Seguiu el Pas-01 del Mètode-1 .

➤ Escriviu el codi següent.

9526

Aquí hem declarat full_txt_str i updated_str com a String i després assignat full_txt_str a una cadena de text aleatori: "Cent cotxes Cinquanta cotxes Deu cotxes" . Després d'això, la funció REPLACE s'utilitza per substituir la part Cotxes d'aquesta cadena aleatòria per Bicicletes , 1 s'utilitza aquí per iniciar la substitució des de la posició 1 d'aquesta cadena, i el 1 final és per comptar el nombre d'ocurrències. Si utilitzem 1 com a número de recompte, estem definint la substitució dels primers Cotxes només. Finalment, hem assignat aquesta nova cadena de text a updated_str i amb aquadre de missatge ( MsgBox ) veurem el resultat.

➤ Premeu F5 .

Després, apareixerà un quadre de missatge amb el text nou Bicicletes a la primera posició de Cotxes només.

➤ Per substituir les dues primeres instàncies de Cotxes per Bicicletes utilitza el codi següent.

2906

Aquí, 2 s'utilitza com a número de recompte per substituir les dues primeres instàncies de Cotxes amb Bicicletes .

Després d'executar el codi, tindreu la substitució dels dos primers textos Cotxes amb Bicicletes .

➤ Apliqueu el codi següent per substituir totes les instàncies del text Cotxes .

7762

Aquí, l'últim argument de la funció REPLACE és 3 que és el número de recompte que indica la substitució de tots els Cotxes per Bicicletes a la cadena de text.

➤ Premeu F5 .

Després, tingueu el següent quadre de missatge amb el text substituït Bicicletes a la cadena.

Lectures similars

  • Com substituir el text amb el retorn de carro a Excel (4 enfocaments suaus)
  • Excel VBA: com trobar i Substitueix el text al document de Word
  • Com reemplaçar el text després d'un caràcter específic a Excel (3 mètodes)
  • Substitueix el text d'unCel·la basada en la condició a Excel (5 mètodes fàcils)

Mètode-03: Substituïu el text en una cadena aleatòria amb InputBox

Aquí, substituirem un text determinat de una cadena aleatòria amb un text que l'usuari definirà amb l'ajuda de la funció VBA InputBox .

Pasos :

➤ Seguiu el Pas-01 del Mètode-1 .

➤ Escriviu el codi següent.

6691

Aquí hem declarat full_txt_str , new_txt i updated_str com a String i després assignat full_txt_str a una cadena de text aleatòria- "Cent cotxes Cinquanta cotxes Deu cotxes" . Per tenir l'entrada definida per l'usuari com a text que s'ha de substituir amb Cars a la cadena aleatòria, hem utilitzat la funció InputBox i després hem assignat aquest valor. a new_txt . A continuació, la funció REPLACE s'utilitza per substituir la part Cars d'aquesta cadena aleatòria per new_txt . Finalment, hem assignat aquesta nova cadena de text a updated_str i amb un quadre de missatge ( MsgBox ) veurem el resultat.

➤ Premeu F5 .

Després, apareixerà un Quadre d'entrada on podeu introduir qualsevol part de text que vulgueu tenir a la cadena nova.

➤ Escriviu Bicicletes o qualsevol altre text que vulgueu i, a continuació, premeu D'acord .

Finalment, tenir el resultat següent amb la cadena de text nova amb text nou Bicicletes inla posició de Cotxes .

Llegir més: Com reemplaçar el text a la fórmula d'Excel (7 maneres fàcils)

Mètode-04: Substituïu el text en un rang de cadenes amb Excel VBA

Aquí, substituirem la part gmail de els identificadors de correu electrònic amb els dominis de la columna Nou domini , i per acumular els nous identificadors de correu electrònic hem inserit una nova columna; Identificador de correu electrònic final .

Pasos :

➤ Seguiu el Pas-01 de Mètode-1 .

➤ Escriviu el codi següent.

1665

Aquí hem utilitzat el bucle FOR per executar l'operació des de Fila 4 a Fila 13 . Amb l'ajuda de la instrucció IF-THEN , hem comprovat si els identificadors de correu electrònic de la Columna D contenen “gmail” o no, i per complir aquest criteri, la part “gmail” de les identificacions de correu electrònic es substituirà pels nous dominis de la Columna E per crear els nous identificadors a la Columna F . En cas contrari, tindreu un espai en blanc a les cel·les corresponents de Columna F .

➤ Premeu F5 .

A continuació, tindreu els nous identificadors de correu electrònic a la columna Identificador de correu electrònic final .

Més informació: Excel VBA  per trobar i reemplaçar text en una columna (2 exemples)

Mètode-05: substituir el text en un rang de cadenes amb l'entrada de l'usuari per trobar text

Podeu substituir el següents identificadors de correu electrònic amb eldominis nous i declarar què substituir als identificadors anteriors es pot utilitzar una entrada d'usuari seguint aquest mètode.

Passos :

➤ Seguiu el Pas-01 del Mètode-1 .

➤ Escriviu el codi següent.

7486

Aquí hem definit text_parcial com a Cadena i després l'ha assignat a una cadena que l'usuari donarà a través del Caixa d'entrada .

Després, hem utilitzat el bucle FOR per executar l'operació de Fila 4 a Fila 13 i utilitzant la instrucció IF-THEN , vam comprovar si els identificadors de correu electrònic de la Columna D contenen “gmail” o no. I per complir aquest criteri, la part “gmail” dels identificadors de correu electrònic es substituirà pels nous dominis de la Columna E per crear els nous identificadors a Columna F . En cas contrari, tindreu un espai en blanc a les cel·les corresponents de Columna F .

➤ Premeu F5 .

Després d'això, tindreu un Quadre d'entrada on haureu d'escriure el text que voleu cercar en el rang d'identificadors de correu electrònic (aquí tenim introduït gmail ) i després premeu D'acord .

Finalment, tenim els nostres identificadors de correu electrònic actualitzats a la Final Columna d'identificador de correu electrònic .

Llegiu-ne més: cerqueu i substituïu un text en un rang amb Excel VBA (macro i formulari d'usuari)

Secció de pràctiques

Per fer la pràctica perus hem proporcionat una secció Pràctica com la següent en un full anomenat Pràctica . Si us plau, fes-ho tu mateix.

Conclusió

En aquest article, hem intentat cobrir les maneres de substituir el text en una cadena mitjançant Excel VBA . Espero que us sigui útil. Si teniu algun suggeriment o pregunta, no dubteu a compartir-los a la secció de comentaris.

Hugh West és un entrenador i analista d'Excel molt experimentat amb més de 10 anys d'experiència en el sector. És llicenciat en Comptabilitat i Finances i Màster en Administració i Direcció d'Empreses. Hugh té una passió per l'ensenyament i ha desenvolupat un enfocament pedagògic únic que és fàcil de seguir i entendre. El seu coneixement expert d'Excel ha ajudat a milers d'estudiants i professionals de tot el món a millorar les seves habilitats i a destacar en les seves carreres. A través del seu bloc, Hugh comparteix els seus coneixements amb el món, oferint tutorials d'Excel gratuïts i formació en línia per ajudar les persones i les empreses a assolir tot el seu potencial.