VBA – Carregando uma Imagem no UserForm

Está aí uma dúvida mais comum do que esperava. Carregar uma imagem num UserForm (ou planilha se preferir)? Siga os passos abaixo:

Abra o VBA (Alt+F11 com o Excel aberto)

Insira um UserForm:

Insira um UserForm
Insira um UserForm

Insira um controle de imagem no UserForm:

Insira um controle de imagem no UserForm
Insira um controle de imagem no UserForm

Arraste um botão de comando logo abaixo da Imagem:

Arraste um botão de comando logo abaixo da Imagem
Arraste um botão de comando logo abaixo da Imagem

Selecione o botão e na caixa de propriedades (clique em F4 se ela não estiver aparecendo), mude o texto do botão (Caption):

Selecione o botão e na caixa de propriedades mude o texto do botão
Selecione o botão e na caixa de propriedades mude o texto do botão

Clique duas vezes no botão para gerar o evento de Click:

Clique duas vezes no botão para gerar o evento de Click
Clique duas vezes no botão para gerar o evento de Click

E finalmente, o código:

Private Sub CommandButton1_Click()
    caminhoArquivo = Application.GetOpenFilename(FileFilter:="Image Files(*.jpg), *.jpg")
    Me.Image1.Picture = LoadPicture(caminhoArquivo)
End Sub

Execute o UserForm clicando em F5 e ao clicar no botão “Buscar Imagem”, você será apresentado a uma tela de escolha de arquivo como essa (já filtrando por arquivos de imagem. Reparei no filtro feito no código na linha 2):

Selecionando sua imagem
Selecionando sua imagem

Após selecionar a imagem, o resultado será parecido com este:

O resultado
O resultado

O mais atentos saberão que o código contém um bug. Se quiser saber a resposta, veja este link.

Arquivo: Carregar_Imagem_UserForm

Em vídeo!

Bom proveito!

Comentários

comentários