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 todosSub 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 todosSub 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 todosSub 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 todosSub 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.