Apagar e Criar Formas Imagens com Excel VBA
Apagar e Criar Formas Imagens com Excel VBA. Veja neste artigo como apagar formas no Excel e criar novas formas no Excel utilizando VBA.
Especialista em Excel
Neste artigo você aprenderá como inserir imagens no Excel com VBA.
Planilha de Controle Financeiro no Excel
Tenha um controle bonito e completo do seu financeiro.
- Categorias e subcategorias já configuradas
- Planilhas separadas por tabela (configuração, lançamentos, resumo)
- Personalize com suas próprias categorias e ícones
Apagar e Criar Formas Imagens com Excel VBA
Veja neste artigo como apagar formas no Excel e criar novas formas no Excel utilizando VBA.
No exemplo realizaremos a comparação através de uma forma de uma seta, que demonstra se o período anterior ficou acima ou abaixo do ano anterior.
Este exemplo foi adaptado do livro VBA e Macros para Microsoft Office 2007 de Bill Jelen e Tracy Syrstad e serve como o estudo de uma macro que cria um desenho de uma seta de acordo com o mês selecionado na planilha.

Criar Formas de Imagens com VBA no Excel
No nosso exemplo estamos criando setas automaticamente conforme a mudança dos valores.
Caso o valor do ano seguinte for superior à do ano anterior a seta será verde e pra cima.
E caso o valor de 2010 for menor que 2009 então a forma será para baixo com a cor vermelha.
Abaixo o código fonte utilizado na macro que cria o desenho:
ActiveSheet.Shapes.AddShape(ArrowDegree, 330.25, 60.5, 30, 20).Select
With Selection.ShapeRange
With .Fill
.Visible = msoTrue
.Solid
.ForeColor.SchemeColor = ArrowColor
.Transparency = 0#
End With
With .Line
.Weight = 0.75
.DashStyle = msoLineSingle
.Style = msoLineSingle
.Transparency = 0#
.Visible = msoTrue
.ForeColor.SchemeColor = 64
.BackColor.RGB = RGB(255, 255, 255)
End With
Range("G3").Select 'Posiciona a seleção de volta na lista suspensa
End With
Entendendo o código acima:
O código ActiveSheet.Shapes.AddShape(ArrowDegree, 330.25, 60.5, 30, 20).Select cria uma forma no Excel
AddShape recebe então o tipo da forma, no caso ArrowDegree é o tipo de forma que foi inserido e então são definidas as propriedades de altura, largura, posição na altura e na esquerda.
Para outras formas basta gravar uma macro e criar uma outra imagem e pegar o nome correspondente, como no caso do ArrowDegree.
As propriedades que seguem realizam as configurações quanto à imagem.
Você pode também criar a sua imagem com o gravador de macros e deois alterar estas propriedades conforme os parâmetros da sua imagem.

Como Deletar Formas de Imagens com VBA Excel
Para deletar as imagens foi utilizado o seguinte código VBA Excel
For Each sh In ActiveSheet.Shapes
If sh.Name Like "*Arrow*" Then
sh.Delete
End If
Next sh
No código acima veja que foi realizado um loop por objetos usando For Each para que verifique os objetos de formas e é utilizado então o sh.Delete para que o shape seja deletado.
Para o loop foram utilizados Activesheet.Shapes com o for each, mas veja também que fo iutilizado sh.name like "*Arrow*" para que verifique se é aquele tipo de objeto Arrow no caso.
Download da Planilha
Para realizar o download da planilha basta clicar no botão abaixo e preencher o nome e e-mail para areceber o arquivo imediatamente.
Marcos Rieper
Curso Excel Completo – Do Básico ao VBA
Quer aprender Excel do Básico, passando pela Avançado e chegando no VBA? Clique na imagem abaixo:

Este conteúdo foi útil?
Continue lendo

Como Criar Suplementos VBA no Excel
Criar um suplemento VBA no Excel é uma das formas mais poderosas de transformar suas automações em ferramentas profissionais e reutilizáveis.

Número por Extenso no Excel
Como escrever o número por extenso no Excel com fórmulas e VBA. Passo-a-passo tutorial e download gratuito de planilha com exemplo.

Suplemento Excel Gratuito - Guia do Excel
Como instalar um suplemento no Excel e também como instalar o suplemento gratuito do Guia do Excel. Recursos para te dar mais agilidade.

