Notifications
Clear all

Macro para excluir linha inteira

3 Posts
3 Usuários
0 Reactions
1,671 Visualizações
(@gmendrib)
Posts: 24
Eminent Member
Topic starter
 

Boa tarde,

Gostaria que todas as linhas cuja célula da coluna "Quantidade" seja igual a 0 sejam inteiramente excluídas.

Isso deve funcionar apenas entre as linhas 18 e 68.

Se possível, explicar onde posso alterar no código a coluna e as linhas inicial e final do intervalo, pois farei para um conjunto de planilhas.

Segue planilha em anexo.

Obrigada.

 
Postado : 13/11/2018 1:29 pm
(@shoukzz)
Posts: 4
New Member
 

Boa Tarde,

Seria isso que você precisava?
OBS: eu criei essa macro e atribui a um botão na planilha, não sei pra você qual é o melhor momento para rodar ela...
Para alterar a coluna, substitua o 2 do "c=2" pela coluna desejada; Para alterar o limite da linha, substitua o 69 do "Do While x < 69" pela linha desejada...

Sub excluir_linhas()

Dim r, c, x

r = 18: c = 2
x = r
Do While x < 69
If Plan2.Cells(r, c) = "0" Then
Rows(r).Delete
r = r - 1
End If
r = r + 1
x = x + 1
Loop

End Sub

dúvidas estou a disposição.

att

 
Postado : 13/11/2018 2:41 pm
xlarruda
(@xlarruda)
Posts: 732
Honorable Member
 

Segue conforme pedido e com as devidas explicações:

Option Explicit

Sub Excluir()
Dim linha_inicio, linha_final, i As Long
Dim ws As Worksheet
Dim coluna As String
Dim valor_a_descartar As Long


Set ws = Sheets("Plan1") ' Nome da plan a se aplicar
linha_inicio = 18 'nº da linha inicial
linha_final = 68 'nº da linha final
coluna = "B" 'coluna onde estão os dados
valor_a_descartar = 0 'se houver esse valor, a linha será excluida


'loop
For i = linha_final To linha_inicio Step -1
   If ws.Range(coluna & i).Value = valor_a_descartar Then
        ws.Range(coluna & i).EntireRow.Delete
   End If
Next i

End Sub

___________________________________________________________________________________________
Se a resposta atendeu sua dúvida, por favor, clique no Gostei e marque o Tópico como [Resolvido].

Att.

André Arruda

 
Postado : 13/11/2018 3:09 pm