Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Función Replace

| 19 comentarios

Aplicación

La función Replace devuelve una cadena (palabra) en la que la subcadena (sílaba, letras contiguas) especificada se reemplaza  por otra subcadena.

Síntaxis

Replace ( string1, find, replacement, [start, [count, [compare]]] )

Donde:

string1 es la cadena  a modificar

find es la subcadena que se buscara en la string1, y que será remplazada por otro contenido.

replacement el nuevo contenido que remplazará a find en la string1.

start es opcional.  Esta es la posición de string1 para comenzar la búsqueda. Si se omite este parámetro, la función REPLACE comenzará la búsqueda en la posición 1.

count es opcional.  Este es el número de ocurrencias de reemplazar. Si se omite este parámetro, la función REPLACE reemplazará todas las ocurrencias de encontrar con replacement

compare es opcional. Puede ser cualquiera de lo siguieentes valores

Parámetro Descripción
vbBinaryCompare Comparación Binaria
vbTextCompare Comparación Textual
vbDatabaseCompare Realiza una comparación basada en la información de sus database

Ejemplo de la Función

Replace("hola","ho","lo") te devolverá "lola"

Sintaxis en VBA

Sub ejemplo()
ojo = Replace("hola", "ho", "lo")
Range("a1").Value = ojo
MsgBox ("La nueva palabra es:" & ojo)
End Sub

Respuesta del Excel

Ejemplo Replace

(Para mayor visualización de la imagen, hacer click en la misma)

Elaborado por: Raúl Grey

19 comentarios

  1. Buenas

    La función remplaze es muy interesante, sobre todo si se necesita hacer cambios masivos en celdas de texto.

    Saludos

    Alberto Leiva

  2. me resulta útil cuando tengo que reemplazar códigos mal escritos en un listado generado desde una base de datos

  3. Tengo una BD que tiene una columna con celdas en formato texto, y en cada uno de estas debe existir un codigo que debe tener un LARGO de 4 caracteres, como lograr con una macro VBA que esto ocurra, anteponiendole uno, dos o tres ceros, segun corresponda, a cada celda que no completa los 4 caracteres.
    No se si esta funcion combinada con otra, tal vez pueda brindar la solucion a este problema planteado.
    Mil gracias a tod@s.
    Jorge Luis Rojas Silva

    • Hola Jorge.
      Para tu problema habrán muchas soluciones, por eso quiero colaborar con una que quizás haga lo que buscas.
      Los códigos son:
      Sub ponerceros()
      dato = ActiveCell.Value
      nuevodato = "000" & dato
      dato = Right(nuevodato, 4)
      ActiveCell.Value = dato
      MsgBox dato
      End Sub

      Nos vemos.
      Suerte en tu solución.

  4. La función Replace tiene muchas opciones para aplicarse.
    Por ejemplo, estos códigos reemplazan las vocales minúsculas, previamente convertidas con la función Lcase, en vocales mayúsculas.
    Sub vocales()
    palabra = LCase(ActiveCell.Value)
    palabra = Replace(palabra, "a", "A")
    palabra = Replace(palabra, "e", "E")
    palabra = Replace(palabra, "i", "I")
    palabra = Replace(palabra, "o", "O")
    palabra = Replace(palabra, "u", "U")
    ActiveCell.Value = palabra
    MsgBox palabra
    End Sub

  5. Esta función se ve muy practica y útil ya que permite reemplazar datos especificando los valores. Ademas facilita el trabajo para las grandes bases de datos.

  6. Escribi lo siguiente en el excel; sin embargo, no me dio resultado, ya que aparece error. Me gustaría saber a que se debe.
    Sub ejemplo()
    ojo = Replace(“hola”, “ho”, “lo”)
    Range(“a1″).Value = ojo
    MsgBox (“La nueva palabra es:” & ojo)
    End Sub

    Gracias

  7. Interesante función; en una base de datos con gran cantidad de datos sería muy útil, si se desa hacer los cambios a minúsculas de un grupo de palabras.

  8. Replace es una función muy útil para realizar cambios en una larga lista de inventarios en donde se busca actualizar los códigos de los ítems debido a cambios en el año, lo cual manualmente es poco práctico y tedioso.

  9. Permite corregir cualquier dato en grandes cantidades o modificar lo según las condiciones que se desea programar. Su utilización es muy amplia en cualquier ámbito laboral.

  10. ¿Cómo puedo reemplazar todos los datos encontrados o como puedo reemplazar una cantidad definida por nosotros para reemplazar?

  11. ¿Como haría para reemplazar una cadena de caracteres seguidos en un cadena de texto por ejemplo:

    sofia,de la crüz./mariela*estefania

    los caracteres son "," "." " / " "*" comas,puntos,signo de multiplicacion y el slach

    • Podrias aplicar replace de forma sucesiva para todos los casos a controlar, siempre que la lista de caracteres sea conocida y no cambie, sino podrías crear una función que reciba el texto, y evalue los caracteres uno por uno, si el caracter revisado esta dentro del rango que permites lo vas acumulando, al final esa función retorna solo lo acumulado.

  12. Creo que esta aplicación resume lo que se haría con BuscarV o BuscarH y luego reemplazar, como cuando se reemplaza N/A por ceros.

    Gracias por los códigos.

  13. Esta función es muy útil para automatizar tu hoja de datos. Por ejemplo cuando queremos realizar un cambio en toda la hoja, se puede realizar mediante esta función sin necesidad de realizar el cambio uno por uno. Otro ejemplo útil de uso para este tipo de función es por ejemplo cuando queremos interpretar nuestros números de otra forma; por ejemplo, podemos cambiar un cero por "falta datos".

  14. Hola, favor indicar cuál sería el código de macro Excel para restaurar la configuración por defecto cuando se hace una búsqueda. Es que por ejemplo, cuando se hace una búsqueda activando "Coincidir con el contenido de toda la celda", cuando se termina la macro, sigue activada dicha opción y necesito que antes de salir de la macro se desactive dicha opción y quede con la configuración por defecto.

  15. consulta necesito reemplazar un valor de una columna por otro numero

    Ejemplo:

    en una celda colocar el 2 y en otra el 5, que la formula de macro busque en la lista que describo abajo y lo reemplace, podrian ayudarme por favor.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

  16. Buen dia estimados Amigos, una pregunta como hago para convertir un numero a string, ejemplo 1,511.25 convertirlo a cadena 151125

  17. Hola podría usarse para sustituir un apartado de texto por una imagen con el tamaño que tiene el la otra hoja.
    Cells.Replace What:="", Replacement:=MODELO, LookAt:=xlPart, SearchOrder:=xlByRows

    que tendria que hacer?

Deja una respuesta

Los campos requeridos estan marcados con *.