Excel VBA: como substituír texto en cadea (5 formas efectivas)

  • Comparte Isto
Hugh West

Se estás a buscar formas de substituír texto nunha cadea usando Excel VBA , atoparás este artigo útil. A substitución dunha determinada parte de texto pode aforrar moito tempo ao escribir de novo as cadeas de texto. Entón, imos entrar no artigo principal para coñecer os detalles sobre esta tarefa de substitución.

Descargar libro de traballo

Substituír texto en String.xlsm

5 xeitos de substituír texto en cadea usando Excel VBA

Aquí temos o seguinte conxunto de datos que contén algúns rexistros dos empregados cos seus ID de correo electrónico. A nosa tarefa é substituír os antigos nomes de dominio polos novos. Nos seguintes métodos, traballaremos con este conxunto de datos xunto con algunhas cadeas de texto aleatorias para substituír o texto desexado por códigos VBA .

Utilizamos Versión de Microsoft Excel 365 aquí, podes usar calquera outra versión segundo a túa conveniencia.

Método-01: Substitúe o texto a partir da posición n-ésima dunha cadea aleatoria

Aquí, substituiremos o texto nunha cadea de texto aleatoria para diferentes posicións de inicio.

Paso-01 :

➤ Vaia á pestana Desenvolvedor >> Código Agrupar >> Opción de Visual Basic.

A continuación, o Editor de Visual Basic abrirase.

➤ Vaia á opción Inserir pestana >> Módulo Opción.

Despois diso, crearase un Módulo .

Paso-02 :

➤ Escribe o seguintecode

6920

Aquí, declaramos full_txt_str e updated_str como String e despois asignamos full_txt_str a un texto aleatorio cadea- "Cen coches Cincuenta coches Ten coches" . Despois, a VBA función REPLACE úsase para substituír a Cars parte desta cadea aleatoria por Bicicletas e 1 úsanse aquí para comezar a substitución desde a posición 1 desta cadea. Finalmente, asignamos esta nova cadea de texto a updated_str e cun cadro de mensaxe ( MsgBox ) veremos o resultado.

➤ Prema F5 .

Entón aparecerá unha caixa de mensaxe coa nova cadea de texto co texto substituído Bicicletas .

➤ Para realizar o proceso de substitución desde a segunda instancia de Coches utiliza o seguinte código.

7476

Aquí utilizamos a posición inicial como 14 porque queremos ter a parte da cadea despois de Cen coches e substituír o Coches aquí.

➤ Despois de executar o código, teremos a seguinte caixa de mensaxe coa cadea de texto a partir do texto Cincuenta e con Bicicletas na posición de Coches .

➤ Por ter só a última parte desta cadea estamos aplicando o seguinte código.

7319

Aquí utilizamos a posición inicial como 25 porque queremos ter a parte da corda despois de Cincuenta coches e substituír os Coches por Bicicletas aquí.

Finalmente, teremos unha caixa de mensaxe coa nosa parte desexada da cadea substituíndoa por Bicicletas .

Ler máis: Excel VBA: Substitúe o carácter na cadea por posición (4 xeitos efectivos)

Método-02: Substituír o texto por n-ésima aparición dunha cadea aleatoria usando Excel VBA

Nesta sección, substituiremos un texto nunha cadea aleatoria por diferentes números de ocorrencias coa axuda dun código VBA .

Pasos :

➤ Siga o Paso-01 de Método-1 .

➤ Escriba o seguinte código.

6459

Aquí declaramos full_txt_str e updated_str como String e despois asignouse full_txt_str a unha cadea de texto aleatoria: "Cen coches Cincuenta coches Ten coches" . Despois diso, a función REPLACE úsase para substituír a parte Coches desta cadea aleatoria por Bicicletas , 1 úsase aquí para comezar a substitución desde a posición 1 desta cadea, e o 1 final é para contar o número de ocorrencias. Usando 1 como número de reconto estamos definindo a substitución dos primeiros Coches só. Finalmente, asignamos esta nova cadea de texto a updated_str e con acaixa de mensaxe ( MsgBox ) veremos o resultado.

➤ Prema F5 .

Despois, aparecerá un cadro de mensaxe co novo texto Bicicletas na primeira posición de Coches só.

➤ Para substituír as dúas primeiras instancias de Coches por Bicicletas use o seguinte código.

5944

Aquí, 2 utilízase como número de conta para substituír as dúas primeiras instancias de Coches con Bicicletas .

Despois de executar o código, terás a substitución dos dous primeiros textos Coches con Bicicletas .

➤ Aplica o seguinte código para substituír todas as instancias do texto Coches .

4540

Aquí, o último argumento da función REPLACE é 3 que é o número de reconto que indica a substitución de todos os Coches por Bicicletas na cadea de texto.

➤ Prema F5 .

Despois, ten a seguinte caixa de mensaxes co texto substituído Bicicletas na cadea.

Lecturas similares

  • Como substituír texto con retorno de carro en Excel (4 enfoques suaves)
  • Excel VBA: como atopar e Substituír texto nun documento de Word
  • Como substituír texto despois dun carácter específico en Excel (3 métodos)
  • Substituír texto dunCela baseada na condición en Excel (5 métodos sinxelos)

Método-03: Substitúe o texto nunha cadea aleatoria con InputBox

Aquí substituiremos un determinado texto de unha cadea aleatoria cun texto que será definido por un usuario coa axuda da función VBA InputBox .

Pasos :

➤ Siga o Paso-01 de Método-1 .

➤ Escriba o seguinte código.

6694

Aquí declaramos full_txt_str , new_txt e updated_str como String e despois asignáronse full_txt_str a unha cadea de texto aleatoria- "Cen coches Cincuenta coches Ten coches" . Para ter a entrada definida polo usuario como texto a substituír polo Coches na cadea aleatoria, utilizamos a función InputBox e despois asignamos este valor a new_txt . Despois, a función REPLACE úsase para substituír a Cars parte desta cadea aleatoria por new_txt . Finalmente, asignamos esta nova cadea de texto a updated_str e cunha caixa de mensaxe ( MsgBox ) veremos o resultado.

➤ Prema F5 .

Despois diso, aparecerá unha Caixa de entrada onde podes introducir calquera parte de texto que queiras ter na nova cadea.

➤ Escriba Bicicletas ou calquera outro texto que desexe e prema Aceptar .

Finalmente, ter o seguinte resultado coa nova cadea de texto con novo texto Bicicletas ena posición de Coches .

Ler máis: Como substituír texto na fórmula de Excel (7 xeitos sinxelos)

Método-04: Substitúe o texto nun intervalo de cadeas por Excel VBA

Aquí substituiremos a parte de gmail os ID de correo electrónico cos dominios da columna Novo dominio , e para acumular os novos ID de correo inserimos unha nova columna; Id. de correo electrónico final .

Pasos :

➤ Siga o Paso-01 de Método-1 .

➤ Escriba o seguinte código.

3286

Aquí usamos o bucle FOR para executar a operación desde Fila 4 a Fila 13 . Coa axuda da instrución IF-THEN , comprobamos se os ID de correo electrónico da Columna D conteñen “gmail” ou non, e para cumprir este criterio a porción “gmail” dos ID de correo electrónico substituirase polos novos dominios da Columna E para crear os novos ID na Columna F . En caso contrario, terá un espazo en branco nas celas correspondentes da Columna F .

➤ Prema F5 .

Entón, terá os novos ID de correo electrónico na columna Id. de correo electrónico final .

Ler máis: Excel VBA  para atopar e substituír texto nunha columna (2 exemplos)

Método-05: Substitúe o texto nun intervalo de cadeas coa entrada do usuario para atopar texto

Podes substituír o seguintes ID de correo electrónico conovos dominios e declarar que substituír nos ids anteriores pódese utilizar unha entrada de usuario seguindo este método.

Pasos :

➤ Siga o Paso-01 de Método-1 .

➤ Escriba o seguinte código.

6697

Aquí definimos texto_parcial como Cadea e, a continuación, asignouno a unha cadea que lle dará un usuario a través da Caixa de entrada .

Despois, usamos o bucle FOR para executar a operación de Fila 4 ata Fila 13 e usando a instrucción IF-THEN , comprobamos se os ID de correo electrónico da Columna D conteñen “gmail” ou non. E para cumprir este criterio, a parte “gmail” dos ID de correo electrónico substituirase polos novos dominios da Columna E para crear os novos ID na Columna F . En caso contrario, terá un espazo en branco nas celas correspondentes da Columna F .

➤ Prema F5 .

Despois diso, terás unha Caixa de entrada onde tes que escribir o texto que queres buscar no rango de ID de correo electrónico (aquí temos introduciu gmail ) e despois preme Aceptar .

Finalmente, temos os nosos ID de correo electrónico actualizados na Final Id. de correo electrónico columna.

Ler máis: Buscar e substituír un texto nun intervalo con Excel VBA (Macro e formulario de usuario)

Sección de práctica

Para practicarproporcionamos unha sección Práctica como a continuación nunha folla chamada Práctica . Faino por ti mesmo.

Conclusión

Neste artigo intentamos cubrir as formas de substituír texto nunha cadea usando Excel VBA . Espero que che resulte útil. Se tes algunha suxestión ou dúbida, non dubides en compartilas na sección de comentarios.

Hugh West é un adestrador e analista de Excel altamente experimentado con máis de 10 anos de experiencia na industria. É Licenciado en Contabilidade e Finanzas e Máster en Administración de Empresas. Hugh ten unha paixón polo ensino e desenvolveu un enfoque docente único que é fácil de seguir e comprender. O seu coñecemento experto de Excel axudou a miles de estudantes e profesionais de todo o mundo a mellorar as súas habilidades e a destacar nas súas carreiras. A través do seu blog, Hugh comparte os seus coñecementos co mundo, ofrecendo titoriais de Excel gratuítos e formación en liña para axudar ás persoas e ás empresas a alcanzar todo o seu potencial.