Eliminar celdas a partir de una condición

Experto, disculpa que te moleste tanto, pero ahora me surgió otro problema, resulta que necesito eliminar filas, pero según cierta condición.
Por ejemplo
Necesito eliminar las filas a a partir de una celda que diga hola hacia arriba y a partir de una celda que diga chao hacia abajo.
.....
.....
....
....
....
HOLA
123344
12344
1233445
123334
123334
CHAO
....
.....
....
....
....
Necesito eliminar desde que encuentre la palabra hola en la columna A hacia arriba y desde que encuentre la palabra chao en la columna A hacia abajo. Aplicándolo al ejemplo si eliminara quedaría solo
123344
12344
1233445
123334
123334
Existe alguna forma de condicionar eso por medio de una macro??
Quedo atenta a tus respuestas,
Muchas gracias.

1 Respuesta

Respuesta
1
¿Quieres eliminar la palabra hola y la palabra chao o quieres eliminar lo que halla entremedio de ellas.?
Quiero eliminar todo lo que hay hacia arriba desde la palabra hola y todo lo que hay hacia abajo desde la palabra hola. Es como lo del siguiente ejemplo:
343435
FGDFGDF
DFDFGFD
HOLA
HOLA
HOLA
123456789
2345667
435454
64565645
45645645
4545666
CHAO
CHAO
CHAO
CHAO
3453
SDFDF
3445
FDFF
Deseo eliminar todas las filas que están sobre la palabra HOLA (incluyendo la palabra hola, porque puede aparecer hacia arriba más de una vez) y también eliminar todas las filas que están bajo la palabra CHAO (incluyendo la palabra chao porque igual puede estar más de una vez)
Si lo aplico al ejemplo que te doy solo me debería quedar en la planilla esto:
123456789
2345667
435454
64565645
45645645
4545666
Intenta con esto
Sub elimina()
Range("A2").Select
Do While Not IsEmpty(ActiveCell)
If ActiveCell.Row <= 2 Then
ActiveCell.Delete shift:=xlUp
End If
If ActiveCell = "HOLA " Then
ActiveCell.Offset(-1, 0).Select
ActiveCell.Delete shift:=xlUp
ElseIf ActiveCell = "CHAO " And ActiveCell.Offset(1, 0) <> Empty Then
ActiveCell.Offset(1, 0).Select
ActiveCell.Delete shift:=xlUp
ActiveCell.Offset(-1, 0).Select
If ActiveCell.Offset(1, 0) = Empty Then
ActiveCell.Delete shift:=xlUp
End If
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas