Notifications
Clear all

EXCLUIR LINHAS VAZIAS

3 Posts
3 Usuários
0 Reactions
1,264 Visualizações
(@luisangy)
Posts: 21
Eminent Member
Topic starter
 

Boa tarde,

tenho uma planilha com 33 mil linhas e gostaria de excluir as linhas vazias com referencia na coluna C, se o valor da linha for vazio, exluir toda linha. Achei varias macros mas como minha planilha é muito pesada, todas demoram muito para executar. Teria um código mais rapido?

Testei esse código abaixo porém ele esta excluindo todas as linhas, não apenas as vazias:

Range(Range("C65000").End(xlUp), Range("C1")).SpecialCells(xlCellTypeBlanks).EntireRow.Delete

 
Postado : 10/10/2017 8:53 am
gfranco
(@wzxnet7)
Posts: 653
Honorable Member
 

Bom dia.
Eu faria diferente já que a base de dados é tão grande.
Adicionaria uma coluna de índice só para preservar a disposição das informações.
Depois classificaria a coluna que contém os registros vazios em ordem crescente (isso fará com que as linhas vazias fiquem no topo,
Excluiria as linhas do topo.
Depois classificaria pela coluna de indice novamente.
Ou se realmente precisar que seja via VBA pode experimentar desligar o cálculo automático da planilha antes da exclusão.

Resposta útil? Clique na mãozinha ao lado do botão Citar.

 
Postado : 10/10/2017 8:59 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Tente não usar Loop para isso, ou use um filtro ou faça sem o Loop.
Poste seu arquivo modelo!!

Tipo..................

Sub Del_Rows()
  Application.ScreenUpdating = False
  With Range("C1:C22000")
    .Formula = "=Formula"
    .Value = .Value
    .SpecialCells(xlBlanks).EntireRow.Delete
    .ClearContents
  End With
  Application.ScreenUpdating = True
End Sub

Att

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

 
Postado : 10/10/2017 1:41 pm