Notifications
Clear all

Como excluir dados entre uma linha e outra usando if?

2 Posts
2 Usuários
0 Reactions
898 Visualizações
 ti02
(@ti02)
Posts: 34
Eminent Member
Topic starter
 

Tenho a seguinte planilha

Preciso excluir tudo o que tiver dentro deste intervalo entre o primeiro e o último A

Então pensei no seguinte código

Range("A1").Select
x = 0
Dim xx As Integer
xx = 0
Do
If ActiveCell.Offset(0, 0).Value = "a" Then 'Se a letra for a
Do While ActiveCell.Offset(1, 0) <> "a"  'delete as linhas até a linha de baixo conter a
Rows(ActiveCell.Row).Delete
Loop
End If
ActiveCell.Offset(1, 0).Select
Loop Until IsEmpty(ActiveCell.Offset(0, 2)) And IsEmpty(ActiveCell.Offset(1, 2)) And IsEmpty(ActiveCell.Offset(2, 2)) And IsEmpty(ActiveCell.Offset(3, 2)) And IsEmpty(ActiveCell.Offset(4, 2))

Porém estou tomando loop infinito, não sei por qual motivo...
Não posso usar A1 e A10 como parametros, pois quero fazer isso dinamicamente, em uma lista muito maior aonde não dá pra ficar localizando manualmente.
Ajuda!

 
Postado : 15/03/2017 1:32 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Tente esse


Sub Excluir()


Dim W As Worksheet
Dim lin As Long

Set W = Sheets("Plan1")

lin = 1

Do While W.Cells(lin, 1).Value <> ""

If W.Cells(lin, 1).Value <> "a" Then

W.Rows(lin).Delete


Else

lin = lin + 1

End If

Loop

End Sub


Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 15/03/2017 3:30 pm