Página 1 de 1

VBA deletar linhas em branco conforme critério

Enviado: 28 Nov 2016 às 13:38
por Suenne
Boa tarde,

Quero excluir as linhas em branco do range A11:K3000 toda vez que possuir linhas em branco neste intervalo.

Criei um botão limpar dados e inseri o seguinte código:
Código: Selecionar todos
Sub Exclusao()

Plan1.Range("A11:K3000").SpecialCells(xlCellTypeBlanks).Delete
End Sub
Porém não consegui o resultado esperado.

Onde estou errando?

Obrigada.

Re: VBA deletar linhas em branco conforme critério

Enviado: 28 Nov 2016 às 13:59
por gfranco
Boa tarde
Tente:
Código: Selecionar todos
Sub exclusao()
Plan1.Range("a11:a3000").SpecialCells(xlCellTypeBlanks).EntireRow.Delete

End Sub

Re: VBA deletar linhas em branco conforme critério

Enviado: 28 Nov 2016 às 14:00
por alexandrevba
Boa tarde!!

Eu não tive problemas com o código.

O que acontece, gera uma mensagem de erro, se sim, qual ?
Ou o que pretende fazer?

Att

Re: VBA deletar linhas em branco conforme critério

Enviado: 28 Nov 2016 às 14:04
por Suenne
Quando eu utilizo mais de uma vez ela da erro 1004.

Segue em anexo.

Re: VBA deletar linhas em branco conforme critério

Enviado: 28 Nov 2016 às 14:29
por gfranco
Esse código ocupa temporariamente a coluna "M" da plan1 para dar suporte ao método specialcells ( que é bem mais rápido que bater um laço FOR rodando pelas 3000 linhas. Nota... a planilha não pode estar protegida senão o delete vai falhar, então, se essa for uma das planilhas protegidas terá que usar aquela técnica de desproteger antes de efetuar a ação e proteger novamente à seguir
Veja se te ajuda...
Código: Selecionar todos
Sub exclusao()

'A11:K3000
Plan1.Range("m11").FormulaLocal = "=SE(CONT.VALORES(A11:K11)=0;""apagar"";1)"
Plan1.Range("m11").Copy Range("m12:m30000")
Plan1.Range("m11:m3000").SpecialCells(xlCellTypeFormulas, 2).EntireRow.Delete
Plan1.Columns(13).EntireColumn.ClearContents


End Sub
At
gfranco

Re: VBA deletar linhas em branco conforme critério

Enviado: 07 Dez 2016 às 21:03
por Niltoncsp
Você quer excluir as linhas que estão completamente vazias? Ou seja, vazias da coluna "A" até a coluna "K"?

Ou quer excluir linhas que possuem pelo menos uma célula vazia?


Niltoncsp

Re: VBA deletar linhas em branco conforme critério

Enviado: 08 Dez 2016 às 05:11
por DJunqueira
Diria q o ideal é usar o conceito de tabela nomeada ao invés de intervalo, desta forma vc sempre vai apagar estritamente dentro do espaço desejado.

O código apaga a linha levando em consideração se a coluna [PAVIMENTO] não tem dados e não faz nada se não houver mais linhas em branco.
Código: Selecionar todos
Sub exclusao()
' Apagar linhas q estejam em branco na coluna [PAVIMENTO] da Tabela7
' 8/12/2016 DJunqueira fórum gurudoexcel
'
Dim Trng As Range

On Error Resume Next
Set Trng = Range("Tabela7[PAVIMENTO]").SpecialCells(xlCellTypeBlanks)
On Error GoTo 0
  
If Not Trng Is Nothing Then
    Trng.Delete Shift:=xlUp
End If

VBA deletar linhas em branco conforme critério

Enviado: 08 Dez 2016 às 23:58
por AdrianoVdP
Bom dia,

DJunqueira, por favor uma duvida,
Desta forma só é eliminada qdo nao conta nada na coluna selecionada, como fica a macro se na linha da tabela hove uma fórmula para retornar palavra "Excluir" ou vazia "".

Obrigado.

VBA deletar linhas em branco conforme critério

Enviado: 09 Dez 2016 às 02:29
por DJunqueira
Olá AdrianoVdP

Essa linha com formula será excluída sem problema, até pq qq adição de novos dados a fórmula será reinserida.