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

Tabla de contenido

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 Sustituir 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 cambiarla a "Bharat".

Esto es posible usando 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. Por ejemplo, a continuación se muestra la cadena de expresión: "India es un país en desarrollo y la India en el país asiático".
  • Find String: Cuál es la cadena que estamos intentando reemplazar. Por ejemplo, en la cadena 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, debemos iniciar el proceso de reemplazo. Por ejemplo, si decimos 2, comenzará a reemplazar la palabra "India" desde la segunda posición en adelante.
  • (Recuento): si la cadena de búsqueda aparece varias veces en Expresión, entonces cuántas palabras debemos reemplazar.

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

¿Cómo reemplazar texto en una cadena usando 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 y la 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 teníamos 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, Buscar cadena y Reemplazar cadena, solo proporcionaremos 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

Assume you want to replace the word “India” only from the second position, then we need to use the Replace function parameter (“Start”). Look at the below code for your information.

Code:

Sub Replace_Example2() Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India is a developing country and India is the Asian Country" FindString = "India" ReplaceString = "Bharath" NewString = Replace(MyString, FindString, ReplaceString, Start:=34) MsgBox NewString End Sub

Only one extra thing we have added from the previous code is the “Start” parameter as 34. Now run the code and see the result.

Now we can see only string after the 34th character of the string with “India” replacing with “Bharath.”

Example #4

Now for an example, if we want to replace only the first occurrence of the word “India” with “Bharath,” then we need to use the (“Count”) parameter of the Replace function.

Below is the code for you.

Code:

Sub Replace_Example3() Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India is a developing country and India is the Asian Country" FindString = "India" ReplaceString = "Bharath" NewString = Replace(MyString, FindString, ReplaceString, Count:=1) MsgBox NewString End Sub

Run the code manually or through the F5 key and see the result.

As you can see above, it has replaced only the first occurrence of the word “India” to “Bharath,” and the second instance remains the same.

Things to Remember Here

  • Reemplazar es una familia de funciones de cadena en VBA.
  • En VBA, la función de reemplazo reemplaza todas las palabras proporcionadas con una cadena reemplazada si no se especifica el parámetro de recuento.
  • El parámetro de inicio eliminará el número de caracteres suministrados y mostrará el resultado restante.

Articulos interesantes...