Arquivo da categoria: VBA

Removendo gráficos do Excel via VBA

Recentemente precisei criar uma rotina de criação de gráficos no Excel via VBA, porém, antes seria preciso apagar os gráficos que existem na Planilha.
Iniciei elaborando um loop que percorresse cada gráfico, o que se tornou muito dispendioso. Foi então que encontrei essa solução:

Sub Macro3()
Dim WSD As Worksheet
Set WSD = Worksheets("Dados")
WSD.ChartObjects.Delete
End Sub

O ChartObjects.Delete apagou todos os gráficos em um instante. Simples. Sem loop.
Encontrei aqui

Anúncios

Encontrando a última célula preenchida de baixo para cima

Quando queremos ir direto ao final do conteúdo de uma coluna, utilizamos o atalho End + Seta para baixo.

Uma lista de valores com a primeira célula selecionada

Ao pressionar End + Seta para baixo o Excel nos direciona para a última linha preenchida

 

 

 

 

 

 

 

 

 

 

 

 

Até aqui tudo bem. É uma atalho que facilita muito nosso dia-a-dia. Agora imagine que por algum motivo no meio dessa lista tenha uma célula em branco. O nosso atalho não poderá nos ajudar, pois essa combinação de teclas não nos leva até a última linha com dados da planilha mas sim a última linha com dados no intervalo atual.

Na imagem seguinte, ao pressionar End + seta para baixo, o cursor se move para a célula A7 – que é a última linha com dados nesse intervalo – em vez de A12 como anteriormente.

Última célula preenchida no intervalo com a combinação End + seta para baixo

A solução então é mover o cursor para a última linha da planilha combinado End + seta para baixo algumas vezes. Na versão 2007 você irá para a célula de número 1048576. Se estiver na versão 2003, irá para 65536. Dessa forma você garante ir para a última célula independente da versão que estiver trabalhando.

Agora é só pressionar End + seta para cima que você irá para a última célula preenchida, contando de baixo para cima. Extremamente útil, pois garantimos selecionar a última célula preenchida, independente se há células vazias ou não no intervalo.

Visual Basic

Sempre precisamos elaborar alguma rotina que utilize essa combinação de teclas com esse propósito de encontrar a última célula preenchida de uma coluna. Para seguirmos a lógica de buscar de baixo para cima, utilizamos o seguinte código:

Cells(Rows.Count, 1).End(xlUp)

No próximo post iremos elaborar um exemplo completo dessa utilização.

Conteúdo sobre Excel e VBA

Devido a uma intensa demanda da minha função no local em que trabalho, iniciarei a postagem de conteúdo relacionado ao desenvolvimento de planilhas em Excel e automação em VBA – Visual Basic for Applications.

Estou preparando diversos posts, iniciando por algumas dicas básicas e os conceitos de Orientação a Objeto da linguagem VB.

Até lá \o