4

У меня есть таблица с колонкой ссылок (URL) на изображения. Я хочу загрузить связанные изображения в следующую ячейку.

Например:

A1 содержит

http://example.com/image.jpg

Я хочу загрузить изображение в B1 .

Как мне это сделать?

2 ответа2

10

Вы не можете загружать изображения "в" ячейку Excel. Объекты изображения находятся на слое над ячейками.

Вы можете использовать макрос для циклического перемещения по ячейкам и размещения изображения в соответствии с ячейкой в следующем столбце. Например, выберите все URL-адреса изображений и затем запустите

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

Однако изображения не будут "в" ячейках, но их верхние левые углы будут выровнены с верхними левыми углами ячейки рядом с URL-адресом.

5

Хотя изображение не может быть загружено буквально в ячейку, его можно загрузить в комментарий к ячейке с помощью VBA. Следующий код этого сайта определяет функцию, которую можно использовать на листе для вставки изображения в комментарий.

  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

Эта функция InsertCommentImage имеет два аргумента: заголовок, который появится в ячейке, в которую введена функция, и ссылку на местоположение и имя изображения.

Изображение может из локального файла ...

... или URL ...

... или ссылка на местоположение файла или веб-ссылку.

Чтобы установить функцию в книгу с вашими ссылками, сначала выберите вкладку «Разработчик» на главной ленте, а затем выберите Visual Basic (первая кнопка слева от вкладки «Разработчик»). Откроется окно интегрированной среды разработки VBA.

Затем убедитесь, что «VBAProject (имя вашей рабочей книги)» выделено на панели «Проект - Проект VBA» (левая верхняя панель).

В главном меню VBA IDE выберите «Вставить / Модуль» и вставьте код функции в открывшуюся большую область кода.

Закройте окно VBA IDE и сохраните книгу. Затем вы можете использовать функцию в листе со ссылками.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .