{"id":29,"date":"2009-06-10T15:12:23","date_gmt":"2009-06-10T18:12:23","guid":{"rendered":"http:\/\/blog.mprinformatica.com.br\/2009\/06\/10\/procura-vertical-procv-com-imagens\/"},"modified":"2009-06-10T15:12:23","modified_gmt":"2009-06-10T18:12:23","slug":"procura-vertical-procv-com-imagens","status":"publish","type":"post","link":"https:\/\/www.mprinformatica.com.br\/blog\/2009\/06\/10\/procura-vertical-procv-com-imagens\/","title":{"rendered":"Procura Vertical (PROCV) com imagens"},"content":{"rendered":"<p>  A fun\u00e7\u00e3o de procura vertical (PROCV ou VLOOKUP em ingl\u00eas) est\u00e1 entre as mais solicitadas pelos nossos alunos do Curso de Excel (http:\/\/www.mprinformatica.com.br\/excelintermediario.html), isso se deve ao fato de frequentemente organizarmos informa\u00e7\u00f5es em tabelas e precisarmos localizar e extrair algum dado espec\u00edfico.<br \/>\n  A fun\u00e7\u00e3o PROCV extrai qualquer tipo de dado que esteja em uma c\u00e9lula, mas e se precisarmos extrair uma imagem? Ou seja, se quisermos procurar por um item e depois visualizar a imagem correspondente? Como exemplo, imagine que possu\u00edmos uma tabela que possua as informa\u00e7\u00f5es de nossos clientes e como a tabela \u00e9 extensa, ficaria muito pr\u00e1tico se ao selecionarmos um cliente pud\u00e9ssemos ver a foto desse cliente.<br \/>\n  As c\u00e9lulas do Excel n\u00e3o armazenam nem exibem imagens, por\u00e9m como as imagens s\u00e3o arquivos de computador, podemos armazenar o caminho das imagens nas c\u00e9lulas, ou seja a sua localiza\u00e7\u00e3o em disco, conforme mostrada na figura abaixo.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.mprinformatica.com.br\/blog\/wp-content\/photos\/tabela_de_dados.jpg\" \/><\/p>\n<p>Colocamos esses dados numa planilha chamada Tabela. Nessa tabela simplificada, temos uma coluna N\u00famero, que pode ser o n\u00famero de cadastro do cliente, o campo Nome &#8211; nome completo do cliente, e a coluna Caminho, que \u00e9 a localiza\u00e7\u00e3o do arquivo de imagem com a foto do cliente. Neste exemplo, haver\u00e1 uma pasta Imagem no drive C:, com todas as fotos dos clientes, o que torna bastante simples a organiza\u00e7\u00e3o e como os arquivos de imagem n\u00e3o foram incorporados na planilha do Excel, ela ficar\u00e1 muito leve.<\/p>\n<p>Al\u00e9m da planilha com os dados onde ser\u00e3o feitas as pesquisas, criamos uma planilha chamada Principal, onde ser\u00e1 efetuada a pesquisa, ou seja, onde usaremos a fun\u00e7\u00e3o PROCV. Ela ter\u00e1 a seguinte apar\u00eancia.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.mprinformatica.com.br\/blog\/wp-content\/photos\/principal.jpg\" \/><\/p>\n<p>onde:<br \/>\n> As c\u00e9lulas A1:A4 s\u00e3o apenas descri\u00e7\u00f5es<br \/>\n> A c\u00e9lula B1 \u00e9 o local onde digitaremos o n\u00famero do cliente, para que sejam exibidos o nome e a imagem do mesmo.<br \/>\n> A c\u00e9lula B2 possui uma simples busca pelo nome do clinte com a seguinte f\u00f3rmula: =PROCV(Principal!B1;Tabela!$A$4:$C$9;2;FALSO)<br \/>\n> A c\u00e9lula B3 possui a busca pelo caminho da imagem. A f\u00f3rmula \u00e9: =PROCV(Principal!B1;Tabela!$A$4:$C$9;3;FALSO)<\/p>\n<p>Relembrando, as c\u00e9lulas do Excel n\u00e3o exibem imagens, ent\u00e3o precisaremos de um recurso que fa\u00e7a isso. Escolhemos usar um controle ActiveX, para inseri-lo fa\u00e7a o seguinte:<br \/>\n&#8211; Ative a guia do Desenvolvedor (Bot\u00e3o do Office; Op\u00e7\u00f5es do Excel; ativar a caixa Mostrar guia Desenvolvedor na Faixa de Op\u00e7\u00f5es; OK.<br \/>\n&#8211; Na guia desenvolvedor, clique no bot\u00e3o Inserir (\u00edcone de maleta com ferramentas) e clique sobre o controle Imagem (ActiveX);<br \/>\n&#8211; Agora desenhe um ret\u00e2ngulo, arrastando o cursor do mouse de um v\u00e9rtice at\u00e9 o v\u00e9rtice oposto. O tamanho da imagem pode ser mudado depois atrav\u00e9s dos c\u00edrculos em torno desse ret\u00e2ngulo.<\/p>\n<p>O local onde ser\u00e1 exibida a imagem est\u00e1 pronto, veja o nosso exemplo na figura anterior. Esse controle precisa ser configurado, para isso clique no bot\u00e3o propriedades que est\u00e1 na guia Desenvolvedor. Altere as seguintes propriedades:<br \/>\n(Name) para imgfoto<br \/>\nPictureSizeMode para 1-fmPictureSizaModeStretch<\/p>\n<p>Feche a janela de propriedades e desative o bot\u00e3o Modo de Design na guia Desenvolvedor.<\/p>\n<p>A etapa final \u00e9 elaborar um pequeno c\u00f3digo em VBA para que a imagem seja atualizada sempre que um novo c\u00f3digo for digitado. Para isso v\u00e1 at\u00e9 o editor do VBA atrav\u00e9s da combina\u00e7\u00e3o Alt+F11 e d\u00ea um clique duplo na planilha Principal, conforme indicado na figura a seguir:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.mprinformatica.com.br\/blog\/wp-content\/photos\/vbe_1.jpg\" \/><\/p>\n<p>Do lado direito haver\u00e1 uma grande \u00e1rea em branco para inser\u00e7\u00e3o de c\u00f3digo, copie e cole o seguinte trecho:<\/p>\n<p>Private Sub Worksheet_Change(ByVal Target As Range)<br \/>\n    &#8216;Lembrando que target \u00e9 a refer\u00eancia para a c\u00e9lula modificada<\/p>\n<p>    &#8216;verifica se a c\u00e9lula que cont\u00e9m o n\u00famero do cliente foi modificada<br \/>\n    &#8216;Nesse caso \u00e9 a c\u00e9lula B1<br \/>\n    If Target.Row = 1 And Target.Column = 2 Then<br \/>\n        &#8216;Carrega imagem de acordo com o caminho indicado na procura vertical<br \/>\n        &#8216;A fun\u00e7\u00e3o LoadPicture carrega um caminho de imagem na propriedade Picture<br \/>\n        &#8216;O seu uso \u00e9 necess\u00e1rio<br \/>\n        imgfoto.Picture = LoadPicture(Range(&#8220;B3&#8221;).Value)<br \/>\n    End If<br \/>\nEnd Sub<\/p>\n<p>Feche o editor de VBA e salve a planilha habilitando-a para usar macros: Salvar Como e depois escolher a segunda op\u00e7\u00e3o &#8220;Pasta de Trabalho habilitada para Macro do Excel&#8221;.<\/p>\n<p>Antes de experimentar o sistema, crie uma pasta com o nome Imagens, no drive C: (se for outro local, mude tamb\u00e9m o caminho na tabela) e copie os arquivos de imagem listados na tabela, como exemplo, eu disponibilizei para download um arquivo compactado com as imagens usadas no exemplo (<a href=\"http:\/\/www.mprinformatica.com.br\/download\/imagens.zip\"><strong>imagens.zip<\/strong><\/a>)<\/p>\n<p>Agora teste o sistema, digitando valores na c\u00e9lula B1 da planilha principal.<br \/>\n(Este exemplo pode ser baixado neste link <a href=\"http:\/\/www.mprinformatica.com.br\/download\/procura vertical com imagens.xlsm\"><strong>procura vertical com imagens.xlsm<\/strong><\/a>)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A fun\u00e7\u00e3o de procura vertical (PROCV ou VLOOKUP em ingl\u00eas) est\u00e1 entre as mais solicitadas pelos nossos alunos do Curso de Excel (http:\/\/www.mprinformatica.com.br\/excelintermediario.html), isso se deve ao fato de frequentemente organizarmos informa\u00e7\u00f5es em tabelas e precisarmos localizar e extrair algum dado espec\u00edfico. A fun\u00e7\u00e3o PROCV extrai qualquer tipo de dado que esteja em uma c\u00e9lula, &hellip; <a href=\"https:\/\/www.mprinformatica.com.br\/blog\/2009\/06\/10\/procura-vertical-procv-com-imagens\/\" class=\"more-link\">Continuar lendo <span class=\"screen-reader-text\">Procura Vertical (PROCV) com imagens<\/span><\/a><\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[8,4,23],"tags":[35,41,43,63,64],"_links":{"self":[{"href":"https:\/\/www.mprinformatica.com.br\/blog\/wp-json\/wp\/v2\/posts\/29"}],"collection":[{"href":"https:\/\/www.mprinformatica.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mprinformatica.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mprinformatica.com.br\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mprinformatica.com.br\/blog\/wp-json\/wp\/v2\/comments?post=29"}],"version-history":[{"count":0,"href":"https:\/\/www.mprinformatica.com.br\/blog\/wp-json\/wp\/v2\/posts\/29\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.mprinformatica.com.br\/blog\/wp-json\/wp\/v2\/media?parent=29"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mprinformatica.com.br\/blog\/wp-json\/wp\/v2\/categories?post=29"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mprinformatica.com.br\/blog\/wp-json\/wp\/v2\/tags?post=29"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}