Neste artigo você aprenderá como importar imagens no Excel de forma automática com VBA.
Projeto Catálogo de Imagens no Excel
A planilha de exemplo realiza a importação de imagens à partir de uma lista de linhas com o caminho dos arquivos e as imagens.
Para realizar a importação das imagens é usado o código fonte abaixo que realiza a importação de imagens.
Excel é uma ferramenta poderosa para organizar e analisar dados, e seu linguagem de programação Visual Basic for Applications (VBA) embutida permite que os usuários automatizem tarefas e personalizem o programa de acordo com suas necessidades específicas. Uma tarefa comum que pode ser automatizada com VBA é a importação de imagens para o Excel.
Para importar imagens para o Excel usando VBA, você precisará criar primeiro um novo módulo VBA no seu livro do Excel, acessando a guia “Desenvolvedor” e selecionando “Visual Basic”. Em seguida, você precisará criar uma nova subrotina digitando “Sub ImportarImagens()” no topo do módulo.
Dentro da subrotina, você pode usar o método “Insert” para inserir uma imagem em uma célula específica na sua planilha do Excel. Por exemplo, o código a seguir irá inserir uma imagem localizada em “C:\imagens\imagem1.jpg” na célula A1 da planilha ativa:
ActiveSheet.Cells(1, 1).Insert (“C:\imagens\imagem1.jpg”)
Você também pode usar uma variável para especificar a localização da imagem que deseja inserir. Por exemplo:
Dim imgPath As String imgPath = “C:\imagens\imagem1.jpg” ActiveSheet.Cells(1, 1).Insert (imgPath)
Você também pode usar um loop para importar várias imagens de uma só vez, usando a variável para especificar a localização de cada imagem.
Uma vez que você tenha terminado seu código, você pode executar a subrotina clicando no botão “Run” no editor VBA ou pressionando F5. As imagens agora devem ser inseridas nas células especificadas na sua planilha do Excel.
Além disso, você também pode usar os controles ActiveX como “image” ou “picture” para importar imagens para o excel, você pode fazer isso clicando com o botão direito do mouse na planilha do excel, vá em Inserir e então clique em Imagem ou Picture.
É importante lembrar que para executar com sucesso o código acima, as imagens que você está tentando importar devem estar na localização especificada e o caminho do arquivo deve estar correto.
Sub lsCriaCatalogo()
Dim Top As Long
Dim iTotalLinhas, i As Integer
Dim lRow As Long
lsLimpaPlanilha
Sheets("Lista").Select
Sheets("Lista").Cells(1, 1).Activate
iTotalLinhas = Cells(Rows.Count, 1).End(xlUp).Row + 1
i = 2
lRow = 3
Sheets("Catálogo").Select
Sheets("Catálogo").Cells(2, 1).Activate
While i < iTotalLinhas
ActiveSheet.Pictures.Insert(Sheets("Lista").Cells(i, 1).Value).Select
Cells(lRow, 2).Value = Sheets("Lista").Cells(i, 2).Value
lRow = lRow + 9
Selection.ShapeRange.IncrementLeft 4.5
If i > 2 Then
Selection.ShapeRange.Top = Top
End If
If Top = 0 Then
Selection.ShapeRange.Top = Selection.ShapeRange.Top + 6.75
End If
Top = Selection.ShapeRange.Top + Selection.ShapeRange.Height + 6.75
i = i + 1
Wend
End Sub
Sub lsLimpaPlanilha()
Application.DisplayAlerts = False
Sheets("Catálogo").Select
ActiveWindow.SelectedSheets.Delete
Sheets("Padrão").Select
Sheets("Padrão").Copy Before:=Sheets(1)
Range("A2").Select
Sheets("Padrão (2)").Select
Sheets("Padrão (2)").Name = "Catálogo"
Application.DisplayAlerts = True
End Sub
Para utilizar a planilha você deve listar o caminho de todos os arquivos na planilha Lista, bem como a descrição de cada imagem.
Após digitar o caminho de cada arquivo, clique no botão “Criar catálogo” e o código fonte acima será executado.
Download da Planilha para Importar Imagens no Excel com VBA
Para o download da planilha clique no link no botão abaixo.