Olá amigos,
Algo que pode ser muito útil quando você está construindo um painel é retornar uma certa imagem, dependendo de uma condição. Podemos usar PROCV/VLOOKUP para procurar dados em uma tabela e retornar o valor correspondente de uma coluna diferente, mas infelizmente não podemos fazer isso com imagens… ou será ou podemos?
O conceito que irei demonstrar é semelhante a um Procv/Vlookup porém utiliza uma técnica de deslocamento e referências, usando a fórmula =DESLOC() ou em Inglês =OFFSET().
Deixando de lado a teoria vamos para a prática:
Passo 1: Criar uma tabela com os itens correspondentes as imagens.
Como exemplo usarei processadores das marcas Intel e Amd, porém você pode adaptar para a sua realidade podendo ser imagens de colaboradores da empresa, produtos, lugares ou qualquer coisa que possa ser representada por uma imagem em seu relatório.
Na coluna “A” coloquei os nomes dos processadores, em seguida, as imagens dos processadores na coluna “B”. O arquivo de exemplo ( disponível no link na parte inferior da página) contém as imagens e toda a mecânica :

Tabela com itens e imagens
Esta lista está contido em A2:A5 na planilha “Imagens”.
Agora, há algumas coisas que realmente são importantes e devem ser observadas:
- As imagens não precisam ser do mesmo tamanho , mas eles devem ser de tamanhos próximos.
- As imagens devem caber nas células, devem pelo menos ter um pouco de espaço em branco em torno delas.
Passo 2: Criar o mecanismo para escolha da imagem. ComboBox.
O próximo passo é construir o mecanismo que irá conduzir qual imagem será exibida. Isto poderia ser feito de várias maneiras, porém neste artigo iremos tratar a função =DESLOC().
Esta função retorna uma referência para um intervalo, que é um número especificado de linhas e colunas.
A referência retornada pode ser uma única célula ou um intervalo de células. Neste caso iremos retornar apenas uma célula.
- Acesse a guia desenvolvedor/developer.
- Em Controles clique em inserir. Após clicar em inserir será aberta a janela de Controles de Formulário,
- Selecione a Caixa de Combinação(ComboBox) conforme sinalizado na imagem abaixo.
- Clique em qualquer região da planilha para que o *ComboBox seja inserido.
Após isso iremos configurar o intervalo de dados que alimentará a *Caixa de Listagem.
Selecione o ComboBox e clique com o botão direito do mouse para que seja exibido o menu de opções.
Após o menu ser exibido clique em Formatar Controle…
Ao clicar em Formatar Controle será exibida a seguinte tela de configuração.
- Intervalo de entrada, é a sua listagem com os itens a serem escolhidos.
- Célula de retorno com o código do item que foi escolhido.
Esta célula é fundamental para que o processo funcione, pois esta informação será utilizada para saber qual item foi escolhido. Ex: Se escolher Intel i7 o retorno será o número 2 na célula por ser o segundo item da lista, e assim sucessivamente conforme o item escolhido. - Quantidade de linhas suspensas da ComboBox. (Tamanho em itens a serem exibidos)

Configurando o ComboBox com a Lista
Após configurar o intervalo de entrada dos dados e verificar os dados no ComboBox, você verificará que conforme você escolhe o item o retorno é dado na célula “A1”.
Passo 3: Mecanismo para exibição dinâmica da imagem. Fórmula =Desloc()/=Offset().
Esta é a etapa que fazer as coisas funcionarem em conjunto, unindo a lista, as imagens e o combo box por isso siga o passo a passo conforme descrevo que conseguirá obter sucesso.
Clique na célula “B1” e insira a fórmula abaixo: =DESLOC()em português e =OFFSET() em inglês.
Esta formulá fará o deslocamento na lista trazendo como retorno uma imagem.
Mas como isso é feito? Explicarei…
=DESLOC($B$1 – Utiliza B1 como referência do deslocamento. (Ponto inicial)
;$A$1 – Como a imagem acima descreve, este bloco refere-se a quantidade de linhas que serão deslocadas para baixo, por isso colocamos como referência o valor da célula A1, que receberá os valores de 1 a 4 conforme a escolha do item da lista configurada anteriormente.
;0 – Colunas é igual a zero, pois este deslocamento é vertical não trocaremos de colunas, por isso o valor zero.
[altura] e [largura]= 1; é o intervalo que o deslocamento irá capturar.
Então… Recapitulando.
Se eu escolher a opção o processador Amd Opteron na lista o ComboBox trará como retorno na célula “A1” o valor 3.
A formula de deslocamento tem como origem a célula “B1” e utiliza o valor de “A1” para definir quantas celulas no caso ela irá se deslocar, no caso 3 para baixo.
IMPORTANTE: Copie esta fórmula.
- Vá na Guia Fórmulas.
- Em Gerenciador de Nomes, ou simplesmente use o atalho CTRL + F3 para abrir a janela abaixo.
- Clique em novo
Na janela cole a fórmula e de o nome de “imagem”.
Após ter feito isso clique em “OK”, você notará que foi incluso o intervalo nomeado na listagem de intervalos.
- Nome criado = Imagem.
- Refere-se a: Fórmula DESLOC()
- Item escolhido na ComboBox,
- Clique dentro do campo item 2 que você verá as célula com linhas tracejadas, indicando que o deslocamento funcionou.
Passo 4: Exibição dinâmica da imagem.
O que precisamos fazer agora é a parte mais simples do processo, onde você deverá realizar os passos a seguir:
Clique na célula “B2” e copie toda a célula, não a imagem. CTRL + C para copiar.
- Botão direito do mouse e escolha a Colar Especial.
- Colar como imagem ou imagem vinculada.
Cuidado aqui ! Você precisa ter o ícone de colar especial ao clicar à direita para colar.
No Excel 2010 você vai encontrá-lo facilmente.
Caso não encontre acesse o menu iniciar, opções de colagem, colar, especial, colar como imagem.
Após colar como imagem você terá uma cópia da imagem colada, porém ainda estática.
- Selecione a imagem.
- Clique dentro da barra de ferramentas, coloque o sinal de igual “=” e digite “imagem”, de enter e PRONTO!!!
Arquivo Final com acabamento:
Com este arquivo espero que sua dúvidas sejam sanadas e que você tenha peo menos um norte para iniciar seus trabalhos com Dashboards e Painéis de Controles e Indicadores .
Download do arquivo de Exemplo:
Faça download do arquivo de exemplo: DOWNLOAD | Baixar arquivo .xlsx.
Agradeço pela leitura e fico no aguardo de seus comentários e sugestões.
Um abraço.
Olá Douglas.
Perfeito. Muito bem explicado!
Muito obrigado pela ajuda.
Quando coloco “formatar controle” não me aparece a opção de ” Controle”, para em texto Alt.
Caro Douglas: Estou desenvolvendo um banco de dados em access 2007-2016 com uma única tabela que tem em seu conteúdo 9 colunas sendo que 3 delas são de texto e o restante de imagens, elas precisam estar encadeadas em um combobox (caixa de combinação) de modo que quando eu selecionar a coluna onde está a chave primária ele traga todas da informações referentes áquela selecionada: é o seguinte o banco (Databes_polens) ; a tabela (Tabela_nome_cientifico) que foi duplicada o onde uma servirá par a entrada de dados e outra para a saida (cópia da Tabela_nome_cientifico) que contem as seguintes colunas (nome_cientifico) pk ; (nome_comum) ; (familia) ; (imagem_flor) ; (imagem_polen_1) ; (imagem_polen_2) ;((imagem_polen_3) ; ((imagem_polen_4)… as imagens estã como objeto OLE e as demais como texto…. fix a caixa de combinação mas as imagens não é possivel faze-las .. pode me ajudar a fazer com que a caixa traga tudo as ser selecionado um determinado item.
Grato
Clodeildes Nunes
Embrapa meio-norte