Notifications
Clear all

Procurar palavra e ao encontrar, excluir linha inteira

5 Posts
3 Usuários
0 Reactions
1,231 Visualizações
(@belan_)
Posts: 30
Eminent Member
Topic starter
 

Bom dia.
Estou com um relatorio extraido de um sistema da empresa onde trabalho que nele todos os dados vem com cabeçalho(legenda) repetidos a cada informação, ou seja, existe cabeçalhos repetidos até o fim da planilha. Estou querendo montar um codigo para excluir para procurar a partir da segunda linha e excluir a linha inteira que tiver igual a primeira. (obviamente, a primeira ficará).
Em anexo tem um ARQUIVO modelo, justamente pq não posso mandar a tabela original aqui..

Tentei utilizando um for para percorrer só a primeira coluna e ir descendo, se encontrar a palavras "nome" a partir da segunda linha, ele deleta a linha toda.. mas não foi

For i = 3 To cells.Rows.Count
If Cells(i, 1) = "Nome" Then
Range("Ai:Vi").Select
Selection.Delete Shift:=xlUp
End If
Next i

Obrigado desde já.

 
Postado : 04/11/2015 8:49 am
(@nelson-s)
Posts: 96
Trusted Member
 

Teste esta rotina e veja se resolve...

 
Postado : 04/11/2015 9:45 am
 vbah
(@vbah)
Posts: 12
Active Member
 

Assim vai funcionar:

Sub Deleta_hr()
    Dim i As Long

    For i = 3 To Cells.Rows.Count
        If Cells(i, 1) = "Nome" Then
            Range("A" & i, "V" & i).Select
            Selection.Delete Shift:=xlUp
        End If
    Next i
End Sub

Sds,

Henrique

 
Postado : 04/11/2015 9:56 am
 vbah
(@vbah)
Posts: 12
Active Member
 

Se quiser a linha inteira ao invés da seleção então:

Sub Deleta_hr()
    Dim i As Long

    For i = 3 To Cells.Rows.Count
        If Cells(i, 1) = "Nome" Then
            Rows(i).Select
            Selection.Delete 
        End If
    Next i
End Sub
 
Postado : 04/11/2015 10:03 am
(@belan_)
Posts: 30
Eminent Member
Topic starter
 

Tanto o código do Nelson quanto o do Henrique deram certo.. o do Henrique foi bem mais simples conforme estava pensando.. eu tinha errado a sintaxe.

obrigado mesmo, a todos!!

 
Postado : 04/11/2015 10:21 am