1. AyudaExcel utiliza cookies. Si continuas utilizando AyudaExcel, estás aceptando la utilización de nuestras cookies. Más información.
  2. ¡Bienvenid@ a AyudaExcel! El foro más visitado sobre Excel en habla hispana.

    Si esta es tu primera visita, asegúrate de revisar los temas de la sección Utilización y Funcionamiento para familiarizarte con las funciones del foro. Si deseas publicar mensajes, será necesario que te Registres para que puedas dejar respuestas y crear tus propios mensajes, recuerda que es gratuito.

Solucionado Reemplazar Palabras;Símbolos ó Números

Tema publicado en 'Macros y programación VBA' iniciado por shivadonga, 23 Feb 2011.

Estado del tema:
Cerrado para nuevas respuestas
  1. shivadonga

    shivadonga Nuevo Usuario

    Registrado:
    23 Feb 2011
    Mensajes:
    4
    Me Gusta recibidos:
    0
    Hola a todas-os
    Mi excel que adjunto tiene una fila(D) con celdas con diferentes combinaciones de símbolos,palabras y números.
    Todas-os obedecen a unas normas gobernadas por una macro VBA creada por una persona.
    Por ejemplo *Paris y /Paris deben de ser coloreadas siempre en azul,*Amberes y /Amberes en rojo,etc.....
    Esto se cumple perféctamente bajo la norma de VBA.
    Lo que ahora necesito es añadir a el código la orden de reemplazar todas las palabras Paris de la columna D por Roma conservando el color de el resto de símbolos,palabras y números.
    Lo he intentado con un simple reemplazo creado en la celda E1(=REPLACE(D1;2;5;"Roma").
    pero quiero reemplazar no solo el paris de la celda D1,todos los paris D1:D46 por Roma.
    He colocado el cursor encima de la celda E1,ha aparecido en el extremo inferior derecho una cruz negra,he deslizado la celda hacia abajo y ha aparecido toda la fila E como copia de la D con todos los paris reemplazados por Roma(que es lo que necesito) pero sin conservar los colores originales asignados a las palabras,números y símbolos de la fila D.
    Se les ocurre algún código especial que lo consiga?
    Gracias
    Saludos

    Adjuntos:

  2. logroastur

    logroastur Incondicional de Ayuda Excel

    Registrado:
    10 Oct 2009
    Mensajes:
    2.522
    Me Gusta recibidos:
    295
    Buenas prueba con el siguiente codigo

    CÓDIGO:
    Sub Reemmplaze()
    Dim i As Long, x As Long
    Application.ScreenUpdating = False
    Range("D1").Select
    While ActiveCell.Row < Range("D" & Rows.Count).End(xlUp)(2).Row
        If ActiveCell <> "" Then
            ActiveCell.Offset(0, 2) = ActiveCell
            ActiveCell.Offset(0, 2) = WorksheetFunction.Replace(ActiveCell.Offset(0, 2), 2, 5, "Roma")
            For i = 2 To Len(ActiveCell)
                ActiveCell.Offset(0, 2).Characters(Start:=i - 1, Length:=1).Font.ColorIndex = ActiveCell.Characters(Start:=i, Length:=1).Font.ColorIndex
            Next i
            ActiveCell.Offset(1, 0).Select
        Else
            ActiveCell.Offset(1, 0).Select
        End If
    Wend
    Application.ScreenUpdating = True
    End Sub
    
    un saludo
  3. shivadonga

    shivadonga Nuevo Usuario

    Registrado:
    23 Feb 2011
    Mensajes:
    4
    Me Gusta recibidos:
    0
    Hola a todas-os
    Gracias por tu rápida ayuda logroastur
    El código que has creado lo pego en el Sheet1 (code) seguido del código anterior;detrás de Sub aplicarColorear()
    Me.colorear miRango End Sub? o debo pegarlo en otro lugar?
    Gracias
    Saludos
  4. logroastur

    logroastur Incondicional de Ayuda Excel

    Registrado:
    10 Oct 2009
    Mensajes:
    2.522
    Me Gusta recibidos:
    295
    Buenas lo puedes colocar donde te sea más comodo al ser una macro lo puedes colocar bien en el modulo de la hoja o en un modulo basico, lo único es que o bien colocas un botón para realizar la llamada a la macro o lo realizas atraves de la lista de macros, o realizas la llamada a traves de otro evento

    un saludo
  5. logroastur

    logroastur Incondicional de Ayuda Excel

    Registrado:
    10 Oct 2009
    Mensajes:
    2.522
    Me Gusta recibidos:
    295
    Buenas chequea archivo posees botón para ejecuatr el reemplazo y otro para borrar los datos, si colocas 1234 en la celda A1 se ejecutara tambien el evento de reemplazar

    un saludo

    Adjuntos:

  6. shivadonga

    shivadonga Nuevo Usuario

    Registrado:
    23 Feb 2011
    Mensajes:
    4
    Me Gusta recibidos:
    0
    Ahora mismo lo voy a comprobar
    Gracias de corazón Logroastur
    Saludos
  7. shivadonga

    shivadonga Nuevo Usuario

    Registrado:
    23 Feb 2011
    Mensajes:
    4
    Me Gusta recibidos:
    0
    Lo acabo de chequear;si pulso los botones no sucede nada,no responden; pero si escribo 1234 en la celda A1 se ejecuta perféctamente el evento de reemplazar.
    Muchas gracias Logroastur,me has regalado una gran ayuda.
    Saludos
Estado del tema:
Cerrado para nuevas respuestas

Compartir esta página