Notifications
Clear all

Excluir linha com determinado valor.

5 Posts
3 Usuários
0 Reactions
846 Visualizações
(@carlosrgs)
Posts: 0
New Member
Topic starter
 

Boa tarde Pessoal.

Achei esse código na internet.

Sub Oculta_Linha()
Dim faixa As Range
Dim celula As Range
Set faixa = Range("A1:A50")
For Each celula In faixa
      Rows(celula.Row).Select
    Selection.EntireRow.Hidden = (celula.Value = "X")
Next
End Sub

Só por curiosidade eu tentei em vez de ocultar excluir as linhas deixando o código assim:

Sub Oculta_Linha()
Dim faixa As Range
Dim celula As Range
Set faixa = Range("A1:A50")
For Each celula In faixa
      Rows(celula.Row).Select
    Selection.Delete Shift:=xlUp = (celula.Value = "X")
Next
End Sub

Quase da certo, eu coloquei na seleção de A1 até A50, deixei 30 células com o Valor "X", e a macro exclui somente uns 8, nunca exclui a mesma quantidade.

Alguém sabe o porque ?

Obrigado!

 
Postado : 13/10/2015 2:41 pm
(@messiasmbm)
Posts: 0
New Member
 

Bacana o usuário acima manda o userform vazia kkkkkkk...

 
Postado : 13/10/2015 3:59 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Não se trata de Userform.
Eu faria assim:

Sub Oculta_Linha()
Dim faixa As Range
Dim celula As Range
For x = 50 To 1 Step -1
    If UCase(Cells(x, 1).Value) = UCase("x") Then
        Rows(x & ":" & x).Select
        Selection.Delete Shift:=xlUp ' = (celula.Value = "X")
    End If
Next
End Sub
 
Postado : 13/10/2015 4:26 pm
(@carlosrgs)
Posts: 0
New Member
Topic starter
 

Legal Reinaldo.

Valeu.

 
Postado : 14/10/2015 5:04 am
(@carlosrgs)
Posts: 0
New Member
Topic starter
 

Bacana o usuário acima manda o userform vazia kkkkkkk...

???

 
Postado : 14/10/2015 5:04 am