Rotina VBA: Eliminar Linhas em Branco no Excel! - Exceldriven

Neste artigo vais aprender como podes criar uma rotina em VBA para eliminar as linhas em branco na tua folha de trabalho do Microsoft Excel. Vamos lá?

Existem certos processos que necessitamos de executar com alguma regularidade... e estou certo de que, muito provavelmente, já se deparou com a necessidade de eliminar linhas em branco Excel!

Sempre que existe essa necessidade de automatização, é sempre útil utilizar uma rotina de VBA. Neste caso, vou mostrar como podes criar uma rotina que permite eliminar todas as linhas em branco num determinado intervalo de dados.

Imaginando, então, um cenário em que tens uma tabela com diversos registos e que, por vezes, alguns utilizadores podem eliminar registos sem eliminarem a linha. Neste caso, o ficheiro acaba por ter vários registos em branco. O que, numa lógica de analise de dados, essas linhas em branco podem, em alguns casos, afetar os dados que obténs.

Não percas aqui todo o processo passo-a-passo e aprende a criar uma rotina para eliminares linhas em branco, de forma automática, no Microsoft Excel. Alguma dúvida envia-nos a tua mensagem... ficamos à tua espera!



Criar a rotina em VBA para eliminar as linhas em branco.

1.jpg

 

Vamos então iniciar a criação da rotina recorrendo a código VBA.

Acedemos ao menu Programador [Developer] e ao Visual Basic Editor.

2.jpg

Já no Visual Basic Editor, vamos criar um módulo onde vamos inserir a nossa rotina.

3.jpg

E criar a sub-rotina…

4.jpg

Definir o código para a rotina: As variáveis

Para executar o código vamos definir 3 variáveis do tipo Long que permitem armazenar a informação numérica dos registos de linhas. Neste caso são definidas como Long pois podem receber valores acima por exemplo de 32,767 (Integer).

5.jpg

Definir o código para a rotina: Performance do código

Para que o ciclo que vai ser gerado, que corre todas as linhas do intervalo de dados ativo possa ser executado mais rapidamente, podemos desabilitar a atualização do ecrã sempre que o ciclo [Loop] é executado. Este processo pode ser habilitado novamente no final da rotina.

6.jpg

Definir o código para a rotina: Encontrar o valor à última linha.

A última linha é calculada determinando o número de linhas do intervalo [UsedRange]. Após obtermos este valor podemos adicionar a primeira linha desse mesmo intervalo [UsedRange]. Esta adição deve ser feita apenas para assegurares que eliminas as linhas em branco que possam existir antes do intervalo.

ActiveSheet.UsedRange.Rows.Count

Conta as linhas do intervalo ativo [Used range]

ActiveSheet.UsedRange.Rows(1).Row

Define a primeira linha do intervalo ativo [Used range]

ActiveSheet.UsedRange.Rows.Count + ActiveSheet.UsedRange.Rows(1).Row – 1

A soma dos 2 valores permite obter o início e o final, do intervalo ativo.

7.jpg

Definir o código para a rotina: Criar o ciclo [Loop] para verificar as linhas em branco.

Agora para definir as linhas em branco a eliminar, basta executarmos um ciclo for… next que vai verificar as linhas do intervalo e depois eliminá-las. A Variável Total permite armazenar as linhas que são eliminadas para informar o utilizador.

A contagem das linhas é feita recorrendo à função COUNTA (CONTAR.VALOR) que pode ser executada pelo VBA através da expressão Application.WorksheetFunction.

8.jpg

Para terminar informamos o utilizador do número de linhas eliminadas com a função MsgBox.

9.jpg

Executar o código da Rotina.

Através de um botão ou mesmo acedendo à execução das macros podemos executar a rotina.

10.jpg

E verificar o código executado pela mensagem de informação ao utilizador:

11.jpg

O código completo da rotina pode ser copiado aqui:

Sub EliminarLinhas()

    Dim UltimaLinha As Long     'Variável para armazenar o número da última linha

    Dim Linha As Long           'Variável para armazenar o valor da linha atual

    Dim Total As Long           'Variável para armazenar o total de linhas

   

    Application.ScreenUpdating = False

UltimaLinha = ActiveSheet.UsedRange.Rows.Count + ActiveSheet.UsedRange.Rows(1).Row - 1

       For Linha = UltimaLinha To 1 Step -1

   If Application.WorksheetFunction.CountA(Rows(Linha)) = 0 Then

             Rows(Linha).Delete

             Total = Total + 1

          End If

       Next Linha

    Application.ScreenUpdating = True

   

    MsgBox Prompt:=Total & " linhas em branco foram eliminadas"

End Sub

Consulte outros conteúdos relevantes:

Como eliminar linhas em branco com rotina VBA?

Como eliminar linhas em branco com rotina VBA?

Neste novo vídeo vais aprender como podes criar uma rotina em VBA para eliminar as linhas em branco na tua folha de trabalho do Microsoft Excel. Vamos lá?

Continuar a ler...

Ferramenta Goal Seek - Potencie-a com a ajuda do VBA!

Ferramenta Goal Seek - Potencie-a com a ajuda do VBA!

Conhece, ou já alguma vez utilizou a ferramenta Goal Seek? Se não, fique a saber que é uma ferramenta bastante útil, na gestão...

Continuar a ler...

 

Pesquisar


Consulte aqui os últimos artigos publicados no nosso blog!

Aceda aqui ao nosso blog!


Consulte aqui os últimos vídeos publicados no nosso canal do Youtube!

Aceda aqui ao nosso arquivo!

Assista, ouça, pratique e aprenda!

Na nossa oferta, disponibilizamos cursos intensivos que lhe dão um conhecimento alargado dos programas, dependendo dos seus objetivos e nível de conhecimento. Para além disso, dispomos também de cursos on-demand que tem, entre outros aspetos, têm como principal objetivo ajudá-lo a resolver problemas específicos do dia-a-dia, sem ter necessidade de assistir a um curso completo.

Aprenda a maximizar o seu tempo e aumente a sua produtividade com a ferramenta mais utilizada em todo o mundo – o Microsoft Excel! Conheça a nossa oferta formação especializada e Ferramentas de Business Intelligence! Vamos lá?!

Microsoft Excel

Fique a conhecer as principais funcionalidades do Microsoft Excel, e ser autónomo no seu trabalho, temos um conjunto de cursos que o podem ajudar a chegar ao seu objetivo!

Veja aqui aos cursos disponíveis!

Business Intelligence

Passe ao próximo nível e conheça a nossa oferta de cursos especializados utilizando as potencialidades de Business Intelligence do Microsoft Excel, ou utilizando o Power Bi Desktop.

Veja aqui os cursos disponíveis!

VBA (Visual Basic for Applications)

Estenda as capacidades do Microsoft Excel, e controle quase a totalidade dos aspetos da aplicação, utilizando o VBA! Uma linguagem de programação à disposição de todos os utilizadores.

Veja aqui os cursos disponíveis!

Subscreva as nossas notícias e novidades!

Tem uma dúvida que gostava de ver esclarecida?

Entre em contacto connosco.

Pretendemos ajudá-lo a trabalhar, de forma eficiente, o Microsoft Excel e as Ferramentas Power Platform (Power BI, Power Apps e Power Automate). O que pretendemos é que possa economizar tempo e aumentar a sua produtividade.

A nossa solução... uma oferta formativa de qualidade e em diversos modelos formativos, com conteúdos práticos, disruptivos e inovadores! Consulte aqui todas as modalidades, ou contacte-nos através do email geral@exceldriven.com. Até breve!

O que os nossos clientes dizem sobre nós?

Depoímentos

Boa tarde, Dou 5 estrelas pois o método de ensino é espetacular, as lições são muito bem sumarizadas, a interação entre o formador e o formando é eficaz possibilitando maior assimilação da matéria, e com o espaço para a resolução de exercícios tornam as aulas mais dinâmicas e proveitosas.
Yara Agostinho -

Excelente empresa a nível de formação. De realçar o formador Joao Teixeira, profissional 5 estrelas.
Bruno Matos -

Excelente formação, com conteúdos didáticos e exercícios adaptados ao nível dos formandos. Recomendo!
Pramod Maugi -

Os conteúdos são muito bem explicados. As dúvidas dissipadas em curto espaço de tempo.
Rui Filipe -

Excelente instrutor, muito bons treinamentos e aquisição de conhecimentos.
Eunice Ramalho -

Tive uma formação de excel fundamental via zoom e, apesar das limitações apresentadas por ser uma formação online, foi ministrada com grande êxito, tendo tido pleno aproveitamento.
Patricia Martins -

Formação muito bem organizada e focada para as nossas necessidades. Recomendo.
Pedro Gomes -

Excelente apresentação e organização da Formação em Excel Avançado
Balbina Zambujo -

O formador João Teixeira consegue tornar um assunto à partida monótono, em algo desafiante e cativante. Gostei imenso!
Maria Flores Macedo -