Eliminar filas en VBA

Cerrado
Denunciar
Message postés
1
Date d'inscription
lunes, 6 de junio de 2016
Estatus
Miembro
Última intervención
lunes, 6 de junio de 2016
-
Hola,
Tengo una consulta respecto al comando que anoto más abajo. Quisiera saber cómo a partir de la celda que esté inmediatamente después de “País 1” elimine todas las filas y se detenga hasta encontrar “País 2". Hay que tener en cuenta que no para todos los libros se va a tener el mismo orden en la columna en la que se encuentran los nombres y no debe ser modificado, es por ello que excel debe detectar el contenido de las celdas y eliminar todo lo que esté entre ella.
He estado utilizando el comando InStr y OffSet para encontrar la coincidencia de texto y eliminar la fila que se encuentra inmediatamente abajo de ella y me funciona bien, el problema es que sólo lo hace en una fila y necesito que lo haga hasta encontrar la celda "País 2". También intenté con Do...Loop pero no pude estructurarlo de manera adecuada. Ojalá alguien pudiera ayudarme.
Los comandos que he utilizado son:

Sub test()
Dim Celda As Object
Dim rng As Range
Set rng = [b8:b37]
For Each Celda In rng
valor = Celda.Value
If InStr(1, valor, "País 1", vbTextCompare) Then Celda.Offset(1, 0).EntireRow.Delete
Next Celda
End Sub