Вставить картинку в ячейку Excel [закрыто]


140

Завязываю сгенерировать отчет с картинками, но не могу собрать картинки в одну ячейку. Я могу заставить изображения «плавать» по моему листу, но мне нужно поместить их в ячейку. Как я могу это сделать?


сколько картинок нужно в одной ячейке?
Teja

Мне нужно одно изображение на ячейку, и я только что попробовал вставить изображение и специальную вставку.
Reid

5
Вы не можете помещать картинки «в» ячейку, только «поверх» нее. Все картинки «плавают» на листе. Вы можете расположить изображение по ячейке, установив ее Topи Leftсвойства в Topи Leftиз клетки. Если вы отредактируете свой вопрос с помощью используемого кода, вам будет легче предложить подход, который может сработать для вас.
Тим Уильямс

В дополнение к тому, что предложил @TimWilliams, вы также можете изменить размер ячейки, чтобы она соответствовала изображению, если это необходимо (и не слишком сильно меняет форматирование вашего листа)
Gaffi

3
См. Эту пошаговую инструкцию для методов "над ячейкой" и "комментария".
Найджел Тач

Ответы:


109

Вы можете добавить изображение в комментарий.

Щелкните ячейку правой кнопкой мыши> Вставить комментарий> щелкните правой кнопкой мыши затененную (серую область) вне поля комментария> Форматировать комментарий> Цвета и линии> Заливка> Цвет> Эффекты заливки> Изображение> (Обзор)> Нажмите ОК

Изображение появится при наведении курсора.

Microsoft Office 365 (2019) представил новые вещи, называемые комментариями, и переименовал старые комментарии в « заметки ». Поэтому в приведенных выше шагах используйте New Noteвместо Insert Comment. Все остальные шаги остаются такими же, и функциональность остается.


Есть еще продукт за 20 долларов для Windows - Excel Image Assistant ...


12
Жаль, что он не работает с изображениями из буфера обмена.
Маурисио Кинтана

12
Примечание . Важно щелкнуть правой кнопкой мыши границу не внутри поля комментария, поскольку диалоговое окно «Формат комментария» будет иметь разные параметры в каждом случае.
Разработчик Мариус Жиленас

2
Я не нашел это удовлетворительным, потому что, когда я зависал, я мог видеть, что Excel изменил размер моего изображения, тем самым исказив его и сделав бесполезным
wytten

2
@wytten есть возможность заблокировать соотношение сторон (и, следовательно, не искажать его). Тем не менее, я также считаю плохим, что изображение находится в поле для комментариев, а не в ячейке.
Дэниел Спаринг

4
Кажется, не работает на Mac. Что бы я ни делал, я не вижу опции «Цвета и линии».
Энди Сонг

51

Есть более быстрый способ ( https://www.youtube.com/watch?v=TSjEMLBAYVc ):

  1. Вставьте изображение (Ctrl + V) в Excel.
  2. Убедитесь, что установлен флажок «Инструменты для изображений -> Выровнять -> Привязать к сетке».
  3. Измените размер изображения по размеру ячейки (или количества ячеек)
  4. Щелкните изображение правой кнопкой мыши и установите флажок «Размер и свойства ... -> Свойства -> Перемещение и размер с ячейками».

1
Шаг 2 не нужен
чашка

4
Это не дает прямого ответа на вопрос. Но это то, что я искал, и, возможно, решение, которое действительно нужно большинству людей.
Роберт Лагг

1
Это решение было бы лучше всего при просмотре электронной таблицы или печати, популярный ответ выше будет отличным при просмотре электронной таблицы на компьютере и просмотре изображений только тогда, когда пользователь хочет.
Рик Хендерсон

16

просто зайдите в google docs и вставьте это как формулу, где URL - это ссылка на ваш img

      =image("URL", 1)

после этого, из параметров документации Google, загрузите для Excel, и вы получите свое изображение в ячейке. РЕДАКТИРОВАТЬ. Согласно комментариям, вам не нужно сохранять URL-адрес изображения так долго, достаточно долго, чтобы Excel загрузил его. Тогда он останется встроенным в файл.


1
Это действительно полезно.
Разработчик Мариус Жиленас

1
Вам нужно где-то разместить изображение для этого решения. Даже Google Drive в этом случае не подойдет.
hris.to

ребята, вам не нужно поддерживать URL-адрес после загрузки файла Excel из документации Google, он встроит изображение в сам Excel
virgula24

2
@ virgula24, спасибо, что поделились советом. После того, как я загрузил лист Google в виде файла Excel, изображение не отображается в ячейке. Значение ячейки still = image ("URL", 1), которое не может быть перехвачено Microsoft Excel. Если я загружаю как PDF-файл, изображение отображается должным образом.
Фрэнк Лю

Только попробовал, все еще работает. Google добавил дополнительные параметры, чтобы вы могли использовать мое предложение или = изображение ("URL", режим, высота, ширина)
virgula24

8

Теперь мы можем легко и просто добавить изображение в Excel. Просто следуйте этим инструкциям:

  1. Перейдите на вкладку Вставка.
  2. Нажмите на опцию «Изображения» (она находится в группе иллюстраций). image1
  3. В диалоговом окне «Вставить рисунок» найдите рисунки, которые вы хотите вставить в ячейку Excel. image2
  4. Щелкните по кнопке Insert. image3
  5. Измените размер изображения / изображения так, чтобы оно идеально вписывалось в ячейку. image4
  6. Поместите картинку в ячейку. Классный способ сделать это - сначала нажать клавишу ALT, а затем переместить изображение с помощью мыши. Он защелкнется и выровняется с границей ячейки, как только приблизится к ней.

Если у вас несколько изображений, вы можете выбрать и вставить все изображения сразу (как показано на шаге 4).

Вы также можете изменить размер изображения, выделив его и перетащив края. В случае с логотипами или изображениями продуктов вы можете сохранить соотношение сторон изображения без изменений. Чтобы соотношение сторон не изменилось, используйте углы изображения, чтобы изменить его размер.


Когда вы помещаете изображение в ячейку, используя описанные выше шаги, оно не будет прикрепляться к ячейке, если вы измените размер, отфильтруете или скроете ячейки. Если вы хотите, чтобы изображение прикреплялось к ячейке, вам нужно привязать изображение к ячейке, в которой оно размещено.

Для этого вам необходимо выполнить дополнительные шаги, как показано ниже.

  1. Щелкните изображение правой кнопкой мыши и выберите Формат изображения. image5
  2. На панели «Формат изображения» выберите «Размер и свойства», а в параметрах «Свойства» выберите «Переместить и размер с ячейками». image6

Теперь вы можете перемещать ячейки, фильтровать их или скрывать, а изображение также будет перемещаться / фильтровать / скрывать.


НОТА:

Этот ответ был взят по этой ссылке: Вставить изображение в ячейку в Excel .


2

Хотя я рекомендую воспользоваться преимуществами автоматизации, доступными на Doality.com, в частности Picture Manager for Excel.

Следующий код vba должен соответствовать вашим критериям. Удачи!

Добавьте элемент управления Button в свою книгу Excel, а затем дважды щелкните кнопку, чтобы перейти к коду VBA ->

Sub Button1_Click()
    Dim filePathCell As Range
    Dim imageLocationCell As Range
    Dim filePath As String

    Set filePathCell = Application.InputBox(Prompt:= _
        "Please select the cell that contains the reference path to your image file", _
            Title:="Specify File Path", Type:=8)

     Set imageLocationCell = Application.InputBox(Prompt:= _
        "Please select the cell where you would like your image to be inserted.", _
            Title:="Image Cell", Type:=8)

    If filePathCell Is Nothing Then
       MsgBox ("Please make a selection for file path")
       Exit Sub
    Else
      If filePathCell.Cells.Count > 1 Then
        MsgBox ("Please select only a single cell that contains the file location")
        Exit Sub
      Else
        filePath = Cells(filePathCell.Row, filePathCell.Column).Value
      End If
    End If

    If imageLocationCell Is Nothing Then
       MsgBox ("Please make a selection for image location")
       Exit Sub
    Else
      If imageLocationCell.Cells.Count > 1 Then
        MsgBox ("Please select only a single cell where you want the image to be populated")
        Exit Sub
      Else
        InsertPic filePath, imageLocationCell
        Exit Sub
      End If
    End If
End Sub

Затем создайте свой метод вставки следующим образом:

Private Sub InsertPic(filePath As String, ByVal insertCell As Range)
    Dim xlShapes As Shapes
    Dim xlPic As Shape
    Dim xlWorksheet As Worksheet

    If IsEmpty(filePath) Or Len(Dir(filePath)) = 0 Then
        MsgBox ("File Path invalid")
        Exit Sub
    End If

    Set xlWorksheet = ActiveSheet

    Set xlPic = xlWorksheet.Shapes.AddPicture(filePath, msoFalse, msoCTrue, insertCell.top, insertCell.left, insertCell.width, insertCell.height)
    xlPic.LockAspectRatio = msoCTrue
End Sub

очень интересное решение, но я не могу его реализовать. Где / как мне создать метод вставки?
Herman Toothrot

Я думаю, что строка «Set xlPic» должна выглядеть так: Set xlPic = xlWorksheet.Shapes.AddPicture (filePath, msoFalse, msoCTrue, insertCell.left, insertCell.top , insertCell.width, insertCell.height) согласно msdn.microsoft.com /en-us/library/office/ff198302.aspx
mprost

После реализации кода для события щелчка на кнопке вы можете просто перейти под EndSub, чтобы начать новую подпрограмму Sub. Я должен предупредить, что открытие Excel для использования кода Vba требует, чтобы любой Excel, который запускает ваш код, снизил свои параметры безопасности. Недавние атаки на интеллектуальную собственность компаний воспользовались этим конкретным пробелом в безопасности, поэтому я бы посоветовал не использовать широкую реализацию макросов, а также заплатить 35 долларов за вышеупомянутую надстройку с предоставленным пользовательским интерфейсом и без открытия файла. к потенциальному риску.
Даниэль

-2

Вы можете сделать это менее чем за минуту с Google Диском (и бесплатно, без проблем)

• Массовая загрузка всех изображений на imgur.com

• Скопируйте ссылки всех изображений вместе с добавлением .jpg. Только imgur позволяет скопировать все ссылки на изображения вместе, используя вкладку изображений вверху справа.

• Используйте http://TextMechanic.co, чтобы добавлять к каждой строке следующее: Префикс: =image(" И Суффикс:", 1)

Чтобы это выглядело так =image("URL", 1)

• Копировать все

• Вставьте его в таблицу Google.

• Вуаля!

Ссылки :

http://www.labnol.org/internet/images-in-google-spreadsheet/18167/

https://support.google.com/drive/bin/answer.py?hl=ru&answer=87037&from=1068225&rd=1


2
Вы знаете, кто стоит за textmechanic.com?
Boris_yo

13
Google Диск! = Ms Excel
ssoto

1
Получение «URL» и поддержание его активности - это большая проблема.
HBat

1
ребята, вам не нужно поддерживать URL-адрес после загрузки файла Excel из документации Google, он встроит изображение в сам Excel
virgula24

3
Это бесполезное решение для конфиденциальных данных. Если бы мой работодатель узнал, что я загружал что-то в Imgur - или в Google Docs, если на то пошло, - меня бы уволили.
John Y
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.