Blog

Postado em em 17 de abril de 2022

Formatar Imagens Automaticamente no Excel Usando o VBA

Hoje eu quero te mostrar como formatar imagens automaticamente no Excel com o auxílio do VBA para essa automação!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Fala, Impressionadores! Na aula de hoje vamos te ensinar como formatar imagens automaticamente no Excel usando o VBA!

É isso mesmo, vamos formatar imagens no Excel com VBA para automatizar esse processo e você ficar mais produtivo.

Esse recurso vai ser muito útil principalmente quando estiver criando seus dashboards e precisar de imagens em um padrão definido.

Isso vai facilitar na hora de trazer uma imagem para não ter que ajustar o tamanho, depois colocar dentro de uma célula e por fim ajustar o formato dela.

Com essa macro para inserir imagem no Excel formatar imagem no VBA fica tudo mais fácil com apenas um clique!

Basta depois selecionar a imagem desejada e pronto, a mágica acontece e as imagens ficam todas no mesmo padrão e ficam organizadas.

Dessa forma já pode utilizá-las para criar o seu dashboard com essas imagens sem se preocupar!

Imagens

Disponibilizamos, para a aula de hoje, imagens referentes a algumas pessoas diretamente ligadas à Hashtag. Elas serão inseridas dentro do Excel, através do VBA. Veja as imagens:

2 2


Inserindo um Módulo no VBA

Para criar um código dentro de um módulo, precisamos primeiramente abrir o ambiente de VBA, a partir do atalho do teclado Alt(+Fn)+F11.

Como não temos nenhum módulo destinado ao tema da aula de hoje, e por questão de organização, vamos criar um módulo à parte.

Vamos na guia Inserir > Módulo, e uma caixa branca se abrirá.

1 2

Por padrão ele terá o nome de “Módulo 1”. Colocaremos a seguinte sub dentro dele:

Sub SelecionarImagem()
Dim caminhoImagem As String
caminhoImagem = Application.GetOpenFilename(Title:="Escolha a imagem a ser formatada")
ActiveSheet.Pictures.Insert(caminhoImagem).Select
Selection.ShapeRange.AutoShapeType = msoShapeOval
Selection.ShapeRange.Height = 85
Selection.Cut
Range("A1000000").End(xlUp).Offset(1, 0).PasteSpecial
Range("A1000000").End(xlUp).Offset(1, 0).Value = 1
Range("B1").Select
End Sub

Explicação do código acima:

  • Dimensionar a variável “caminhoImagem” como um texto (tipo String)
  • Armazenar na variável “caminhoImagem” o resultado da exibição da caixa de diálogo responsável por abrir algum arquivo, que vai obter o nome de arquivo do selecionado pelo usuário, mas sem abrir nenhum arquivo
  • Inserir, e selecionar, a figura que está armazenada no texto representado pela variável “caminhoImagem” na planilha ativa
  • Transformar a forma da imagem selecionada e inserida anteriormente em oval (msoShapeOval)
  • Transformar a altura da imagem em questão em 85, correspondendo ao programado para caber na altura das células da aba em questão
  • “Cortar” a imagem inserida (posteriormente será colada dentro de uma célula)
  • Colar a imagem em questão na célula na linha imediatamente abaixo da última célula preenchida da coluna A
  • Armazenar o número 1 no valor dessa célula em que inserimos a imagem, para que ela esteja “preenchida” e evite de colar outra imagem no mesmo local
  • Selecionar a célula B1, atrás do botão “Selecionar imagem”
  • Se encerra o código

Após rodar o código pela primeira vez e selecionar uma imagem, temos o seguinte resultado:

Formatar imagens no Excel com VBA
Formatar imagens no Excel com VBA

Após rodar o código pela segunda vez, por exemplo, e selecionar uma imagem, temos o seguinte resultado:

Formatar imagens automaticamente no Excel
Formatar imagens automaticamente no Excel

Conclusão de Como Formatar Imagens Automaticamente

Nessa aula você lidou com:

Até a próxima, Impressionadores! Fique ligado no nosso canal do Youtube para mais conteúdo de VBA toda semana pra você! Valeu!

Hashtag Treinamentos

Para acessar outras publicações de VBA, clique aqui!


Quer aprender mais sobre VBA com um Minicurso Gratuito?


Quer sair do zero no Python e virar uma referência na sua empresa? Inscreva-se agora mesmo no Python Impressionador