У меня есть таблица с колонкой ссылок (URL) на изображения. Я хочу загрузить связанные изображения в следующую ячейку.
Например:
A1
содержит
http://example.com/image.jpg
Я хочу загрузить изображение в B1
.
Как мне это сделать?
У меня есть таблица с колонкой ссылок (URL) на изображения. Я хочу загрузить связанные изображения в следующую ячейку.
Например:
A1
содержит
http://example.com/image.jpg
Я хочу загрузить изображение в B1
.
Как мне это сделать?
Вы не можете загружать изображения "в" ячейку Excel. Объекты изображения находятся на слое над ячейками.
Вы можете использовать макрос для циклического перемещения по ячейкам и размещения изображения в соответствии с ячейкой в следующем столбце. Например, выберите все URL-адреса изображений и затем запустите
For Each cel In Selection
cel.Offset(0, 1).Select
ActiveSheet.Pictures.Insert(cel.Value).Select
Next cel
Однако изображения не будут "в" ячейках, но их верхние левые углы будут выровнены с верхними левыми углами ячейки рядом с URL-адресом.
Хотя изображение не может быть загружено буквально в ячейку, его можно загрузить в комментарий к ячейке с помощью 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 и сохраните книгу. Затем вы можете использовать функцию в листе со ссылками.