VBA Reemplazar cadena

Excel VBA Reemplazar cadena

Reemplazar es tanto la función Hoja de trabajo como la función VBA. Esta función nos ayuda a reemplazar la palabra particular de la cadena con otra cadena. Funciona de manera similar a la función Substitute en VBA.

Al tratar con valores de datos de texto o cadenas de prueba, es obvio reemplazar o sustituir algo por otra cosa, uniendo dos datos de celda en uno o dividiendo los datos de una celda en varias cosas. Todas estas son tareas comunes que hacemos todos los días en nuestro lugar de trabajo.

Entonces, ¿cómo reemplazamos una palabra en la cadena con otra palabra? Por ejemplo, si la cadena es "India es un país en desarrollo e India en el país asiático", de esta cadena debemos reemplazar la palabra "India" y cambiar a "Bharat".

Esto es posible utilizando la función Reemplazar. En este artículo, le mostraremos cómo reemplazar cadenas en la codificación VBA.

Reemplazar función

  • Expresión: esto no es más que el valor de cadena original del cual estamos tratando de reemplazar algo con algo. A continuación se muestra un ejemplo de la cadena de expresión: "India es un país en desarrollo e India en el país asiático".
  • Find String: Cuál es la cadena que estamos intentando reemplazar. Por ejemplo, en la cadena de expresión estamos intentando reemplazar la palabra "India".
  • Reemplazar cadena: ¿Cuál es la cadena sustituta con la que reemplazamos la cadena de búsqueda ? Entonces, en este caso, estamos tratando de reemplazar la palabra "India" por "Bharat".
  • [Inicio]: este es un parámetro opcional. En la cadena anterior (Expresión) tenemos dos palabras "India", por lo que desde qué posición de la Cadena de búsqueda necesitamos comenzar el proceso de reemplazo. Por ejemplo, si decimos 2, comenzará a reemplazar la palabra "India" a partir de la segunda posición.
  • [Recuento]: si la cadena de búsqueda aparece varias veces en Expresión , ¿cuántas palabras debemos reemplazar?

Por ejemplo, si la palabra "India" aparece 5 veces y proporciona el recuento como 3, solo reemplazará las primeras 3 palabras "India".

¿Cómo reemplazar texto en una cadena usando VBA?

Puede descargar esta plantilla de Excel de cadena de reemplazo de VBA aquí - Plantilla de Excel de cadena de reemplazo de VBA

Ejemplo 1

Ahora intentaremos reemplazar la palabra "India" con "Bharat" del valor de cadena a continuación.

"India es un país en desarrollo e India en el país asiático"

Primero, inicie ahora el procedimiento de macro de Excel.

Código:

 Sub Replace_Example () End Sub 

Defina la variable VBA como String.

Código:

 Sub Replace_Example () Dim NewString As String End Sub 

En esta variable, mostraremos un nuevo valor de cadena después de reemplazar la palabra "India" por "Bharat". Para esta variable, abra la función Reemplazar.

El primer argumento de esta función es "Expresión", es decir, de qué cadena estamos tratando de reemplazar una palabra, así que copie y pegue la cadena "India es un país en desarrollo e India en el país asiático".

El siguiente argumento es "Buscar cadena", es decir, qué palabra debemos reemplazar, es decir, "India".

El siguiente argumento es "Reemplazar cadena", es decir, con qué cadena debemos reemplazar la palabra "India", es decir, "Bharat".

Ok, a partir de ahora ignore los argumentos restantes. Ahora muestre el resultado en el cuadro de mensaje.

Código:

 Sub Replace_Example () Dim NewString As String NewString = Replace ("India es un país en desarrollo e India es el país asiático", "India", "Bharath") MsgBox NewString End Sub 

Ejecutemos el código usando la tecla F5 o manualmente y veamos el resultado de la nueva cadena.

Ok, mira el resultado anterior dondequiera que tuviéramos la palabra "India", ha sido reemplazada por la palabra "Bharat".

Ejemplo # 2

Ahora veremos cómo usar el mismo código con variables. Mira el siguiente código.

Código:

 Sub Replace_Example1 () Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India es un país en desarrollo e India es el país asiático" FindString = "India" ReplaceString = "Bharath" NewString = Reemplazar (MyString , FindString, ReplaceString) MsgBox NewString End Sub 

En el código anterior, he declarado tres variables adicionales.

 Dim MyString como cadena Dim FindString como cadena Dim ReplaceString como cadena 

Para estas variables he asignado valores, en lugar de proporcionar la Cadena de expresión, la Cadena de búsqueda y la Cadena de reemplazo , solo proporcionaremos la variable a la función Reemplazar.

Este código también da el mismo resultado, pero la única diferencia es que hemos utilizado variables en lugar del suministro directo de valores a la función.

Ejemplo # 3

Supongamos que desea reemplazar la palabra "India" solo desde la segunda posición, entonces necesitamos usar el parámetro de función Reemplazar ["Inicio"]. Mire el código a continuación para obtener su información.

Código:

 Sub Replace_Example2 () Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India es un país en desarrollo e India es el país asiático" FindString = "India" ReplaceString = "Bharath" NewString = Reemplazar (MyString , FindString, ReplaceString, Start: = 34) MsgBox NewString End Sub 

Solo una cosa adicional que hemos agregado del código anterior es el parámetro "Inicio" como 34. Ahora ejecute el código y vea el resultado.

Ahora solo podemos ver la cadena después del 34º carácter de la cadena con "India" reemplazando por "Bharat".

Ejemplo # 4

Ahora, por ejemplo, si queremos reemplazar solo la primera aparición de la palabra "India" por "Bharat", entonces necesitamos usar el parámetro ["Recuento"] de la función Reemplazar.

A continuación se muestra el código para usted.

Código:

 Sub Replace_Example3 () Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India es un país en desarrollo e India es el país asiático" FindString = "India" ReplaceString = "Bharath" NewString = Reemplazar (MyString , FindString, ReplaceString, Count: = 1) MsgBox NewString End Sub 

Ejecute el código manualmente o mediante la tecla F5 y vea el resultado.

Como puede ver arriba, ha reemplazado solo la primera aparición de la palabra "India" por "Bharat" y la segunda instancia permanece igual.

Cosas para recordar aquí

  • Replace is a string function family in VBA.
  • In VBA, the replace function replaces all the supplied words with replaced string if the count parameter is not specified.
  • The start parameter will delete the number of characters supplied and show the remaining result.