Visual Basic para Aplicaciones - Reemplazar el contenido de una celda, que contiene texto

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Reemplazar el contenido de una celda, que contiene texto

Publicado por emmanuel (6 intervenciones) el 18/11/2016 20:45:00
Buen día banda

El día de hoy me encuentro atoradon y desesperado, el detalle es que dentro de un a columna busco la palabra catalogo, pero viene acompañada de mas texto, estoy ocupando este codigo:

1
2
3
4
5
6
7
8
Application.Goto Reference:="R1C11"
   ActiveCell.Columns("A:A").EntireColumn.Select
 
   Selection.Replace What:="%Catalogo%", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
   Selection.SpecialCells(xlCellTypeBlanks).Select
   Selection.EntireRow.Delete

necesito eliminar la fila completa en donde se encuentre la palabra catalogo, hasta el momento lo que puedo hacer es que elimine la palabra, el punto es que la palabra catalogo viene acompañada de otras cuatro palabras y viene en diferentes formatos y ubicaciones dentro del texto de la celda y no me deja la celda totalmente vacía, por lo tanto no elimina la fila , solo elimina la palabra y no el resto del texto.

Acepto todo tipo de sugerencias, no precisamente necesito que reemplace la palabra catalogo puede ser que ubique las celdas y elimine la fila o algo similar, necesito que elimine la fila completa en sonde se encuentre dicha palabra.

Pd. Si necesito que sea en macro no de manera manual.

Muchas gracias por su pronta ayuda.. :)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Reemplazar el contenido de una celda, que contiene texto

Publicado por JuanC (565 intervenciones) el 19/11/2016 00:53:52
algo sencillo que puede servirte de idea...

1
2
3
4
5
6
7
8
9
10
11
12
Dim cell As Range, i&
Dim col As New Collection
 
For Each cell In Range("A1:A10")
    If VBA.InStr(1, VBA.LCase(cell.Value), "catalogo") > 0 Then
       col.Add cell.Address
    End If
Next
 
For i = col.Count To 1 Step -1
    Range(col.Item(i)).EntireRow.Delete
Next
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar