Como carrego imagens externas no Excel? [duplicado]

3

Eu tenho uma tabela com uma coluna de links (URLs) para imagens. Quero carregar as imagens vinculadas na próxima célula.

Por exemplo:

A1 contém

http://example.com/image.jpg

Eu quero carregar a imagem em B1 .

Como posso fazer isso?

    
por Cocoa Dev 18.04.2013 / 21:25

2 respostas

10

Você não pode carregar imagens "em" uma célula do Excel. Objetos de imagem estão em uma camada acima das células.

Você pode usar uma macro para percorrer as células e colocar a imagem alinhada à célula na próxima coluna. Por exemplo, selecione todas as URLs de imagem e, em seguida, execute

For Each cel In Selection
    cel.Offset(0, 1).Select
    ActiveSheet.Pictures.Insert(cel.Value).Select
Next cel

As imagens não estarão "dentro" das células, mas seus cantos superiores esquerdos serão alinhados com os cantos superiores esquerdos da célula ao lado da URL.

    
por 18.04.2013 / 23:11
5

Embora uma imagem não possa ser carregada literalmente em uma célula, é possível carregar uma imagem em uma célula comentário usando o VBA. O código a seguir de este site define uma função que pode ser usada no planilha para inserir uma imagem em um comentário.

  Option Explicit

  Function InsertCommentImage(title As String, absoluteFileName As String)
     Dim commentBox As Comment

   ' Clear any comments before attempting to add them.
     '.ActiveCell.ClearComments // incorrect
     ActiveCell.ClearComments  // works!

   ' Define the comment as a local variable and assign the file name from the
   ' cellAddress input parameter to the comment of a cell.
     Set commentBox = Application.ActiveCell.AddComment
     With commentBox
        .Text Text:=""
        With .Shape
           .Fill.UserPicture (absoluteFileName)
           .ScaleHeight 3, msoFalse, msoScaleFromTopLeft
           .ScaleWidth 2.4, msoFalse, msoScaleFromTopLeft
        End With

      ' Set the visible to True when you always want the image displayed, and
      ' to False when you want it displayed only when you click on the cell.
      .Visible = False
     End With
     InsertCommentImage = title
  End Function

Esta função InsertCommentImage tem dois argumentos: um título que aparecerá na célula em que a função foi inserida e uma referência à localização e ao nome da imagem.

A imagem pode ser de um arquivo local ...

...ouumURL...

... ou uma referência a um local de arquivo ou um link da Web.

Parainstalarafunçãonapastadetrabalhocomseuslinks,primeiroselecioneaguiaDesenvolvedornaFaixadeOpçõesprincipaleescolhaVisualBasic(oprimeirobotãoàesquerdadaguiaDesenvolvedor).AjaneladoambientededesenvolvimentointegradodoVBA(IDE)seráexibida.

Emseguida,certifique-sedeque"VBAProject (nome da pasta de trabalho)" esteja realçado no painel "Projeto - Projeto VBA" (o painel superior esquerdo).

No menu IDE do VBA principal, selecione Inserir / Módulo e cole o código de função no painel de código grande aberto.

Feche a janela do IDE do VBA e salve a pasta de trabalho. Você pode então usar a função na planilha com os links.

    
por 19.04.2013 / 00:27