Notifications
Clear all

Eliminar linhas com valores zero ou nulo

6 Posts
2 Usuários
0 Reactions
2,296 Visualizações
 tttt
(@tttt)
Posts: 9
Active Member
Topic starter
 

Boa tarde,
tenho uma tabela assim:

______ A________ B_________C__________D
1____PARTE____QUANT______D1________D2
2____base_______2_________100________80
3____lateral______5_________120________40
4___travessa_____0__________13________23
5____união_______8__________30________5
6___prateleira___ __________12________80

onde, na coluna B, tiver valor zero ou nulo quero que toda a linha, até a coluna D, seja eliminada ficando assim:

______ A________ B_________C__________D
1____PARTE____QUANT______D1________D2
2____base_______2_________100________80
3____lateral______5_________120________40
4____união_______8__________30________5

Obs. a tabela com as linha eliminadas sera criada em outra para da planilha mantendo a original.

Desde já agradeço quem puder me ajudar.

 
Postado : 21/02/2013 5:26 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Com um pequeno ajuste em uma rotina postada pelo colega Edson você pode utilizar esta :
Excluir a célula em branco e organizar os dados [Resolvido]
viewtopic.php?f=10&t=5643&hilit=while

Sub Deleta_Cells()
    Dim ULinha, i
    
    ULinha = Range("A65536").End(xlUp).Row
    i = 2
    
    Do While i <= ULinha
        
        If Cells(i, 2) = 0 Or Cells(i, 2) = "" Then
            Range("A" & i & ":" & "D" & i).Delete Shift:=xlUp
      
            i = i - 1
            ULinha = ULinha - 1
        End If
        
        i = i + 1
    Loop

End Sub

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 21/02/2013 6:00 am
 tttt
(@tttt)
Posts: 9
Active Member
Topic starter
 

Perfeito Mauro!
Era isso que eu precisava.
Só mais uma coisa:
É possível atualizar essa tabela apenas clicando na aba da planilha que contém tal tabela?
De qualquer modo,
Muito obrigado Mauro!

 
Postado : 21/02/2013 6:48 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Utilize os Eventos das Abas :

Para o caso de executar só quando ativar a aba use :

Private Sub Worksheet_Activate()
    Dim ULinha, i
    
    ULinha = Range("A65536").End(xlUp).Row
    i = 2
    
    Do While i <= ULinha
        
        If Cells(i, 2) = 0 Or Cells(i, 2) = "" Then
            Range("A" & i & ":" & "D" & i).Delete Shift:=xlUp
      
            i = i - 1
            ULinha = ULinha - 1
        End If
        
        i = i + 1
    Loop

End Sub

Lembrando este código tem de colocar na Declaração da Aba, no editor do VBA de dois cliques na aba que pretende e cole esta rotina.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 21/02/2013 8:54 am
 tttt
(@tttt)
Posts: 9
Active Member
Topic starter
 

Exatamente isso que eu precisava.
Perfeito!
Muito obrigado Mauro.
Grande abraço.

 
Postado : 21/02/2013 11:19 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde ttt

Faltou você clicar na mãozinha para agradecer ao Mauro e dar o tópico como resolvido.

Veja no link como proceder:

viewtopic.php?f=7&t=3784

Um abraço.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 22/02/2013 12:29 pm