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:
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á.
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:
Após rodar o código pela primeira vez e selecionar uma imagem, temos o seguinte resultado:
Após rodar o código pela segunda vez, por exemplo, e selecionar uma imagem, temos o seguinte resultado:
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!
Para acessar outras publicações de VBA, clique aqui!
Quer aprender mais sobre VBA com um Minicurso Gratuito?
Expert em VBA e Power BI da Hashtag Treinamentos. Auxilia no suporte aos alunos da Hashtag Treinamentos e na criação de conteúdos para os que acompanham nossos canais.