Перейти к основному содержанию

Как изменить размер изображений по размеру ячеек в Excel?

Обычно вставленные изображения плавают над ячейками, и большую часть времени одно изображение покрывает множество ячеек. Если на листе много изображений, вы можете поместить каждое изображение в одну ячейку. Но как с этим бороться? На самом деле, есть несколько хитрых способов помочь нам быстро изменить размер изображений, чтобы они соответствовали размеру ячеек.

Измените размер выбранного изображения, чтобы оно соответствовало одной ячейке с помощью VB Macro

Измените размер вставленных изображений, чтобы они соответствовали ячейкам с помощью Kutools for Excel


стрелка синий правый пузырь Измените размер выбранного изображения, чтобы оно соответствовало одной ячейке с помощью VB Macro

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

Шаг 1. Вставьте изображения на лист и выберите изображение, размер которого вы измените, чтобы он соответствовал одной ячейке.

doc-resize-pictures-to-fit-cells1

Шаг 2: Удерживайте ALT + F11 ключи, и он открывает Microsoft Visual Basic для приложений окно.

Шаг 3: нажмите Вставить > Модулии вставьте следующий макрос в окно модуля.

VBA: изменение размера выбранного изображения по размеру ячейки.

Public Sub FitPic()
On Error GoTo NOT_SHAPE
Dim PicWtoHRatio As Single
Dim CellWtoHRatio As Single
With Selection
PicWtoHRatio = .Width / .Height
End With
With Selection.TopLeftCell
CellWtoHRatio = .Width / .RowHeight
End With
Select Case PicWtoHRatio / CellWtoHRatio
Case Is > 1
With Selection
.Width = .TopLeftCell.Width
.Height = .Width / PicWtoHRatio
End With
Case Else
With Selection
.Height = .TopLeftCell.RowHeight
.Width = .Height * PicWtoHRatio
End With
End Select
With Selection
.Top = .TopLeftCell.Top
.Left = .TopLeftCell.Left
End With
Exit Sub
NOT_SHAPE:
MsgBox "Select a picture before running this macro."
End Sub

Шаг 4: нажмите F5 ключ для запуска этого макроса.

Шаг 5: Повторите шаги выше, чтобы изменить размер других изображений, чтобы они соответствовали одной ячейке.

Теперь все вставленные картинки изменены и помещаются в ячейки. См. Следующий снимок экрана:

doc-resize-pictures-to-fit-cells2

Внимание: Вы можете изменить размер только одного изображения один раз. Если вы выберете более одного изображения один раз, появится диалоговое окно с предупреждением.


стрелка синий правый пузырь Измените размер вставленных изображений, чтобы они соответствовали ячейкам с помощью Kutools for Excel

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

Kutools for Excel включает более 300 удобных инструментов Excel. Бесплатная пробная версия без ограничений в течение 30 дней. Получить сейчас.

Шаг 1. Выберите ячейки диапазона, в которые вы хотите вставить изображения, и щелкните значок Предприятие >Импорт/Экспорт > Импорт изображений. См. Следующий снимок экрана:

документ-изменить-размер-изображения, чтобы соответствовать ячейке-1

Шаг 2: в Импорт изображений диалоговом окне выберите порядок вставки в раскрывающемся списке и нажмите Добавить кнопку, чтобы добавить нужные изображения из файла или папки, затем нажмите Размер кнопка. Смотрите скриншот:

документ-изменить-размер-изображения, чтобы соответствовать ячейке-2

Шаг 3: проверьте Соответствующий размер ячейки вариант. Затем нажмите Ok > Импортировать закрыть диалоги. Смотрите скриншот:

документ-изменить-размер-изображения, чтобы соответствовать ячейке-3

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

документ-изменить-размер-изображения, чтобы соответствовать ячейке-4

Внимание: Вы также можете указать высоту и ширину ячейки на шаге 3, чтобы изменить размер изображений.

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


Связанная статья:

Как быстро изменить размер нескольких ячеек, чтобы они соответствовали изображениям над ними в Excel?

Лучшие инструменты для офисной работы

🤖 Kutools AI Помощник: Революционный анализ данных на основе: Интеллектуальное исполнение   |  Генерировать код  |  Создание пользовательских формул  |  Анализ данных и создание диаграмм  |  Вызов функций Kutools...
Популярные опции: Найдите, выделите или определите дубликаты   |  Удалить пустые строки   |  Объедините столбцы или ячейки без потери данных   |   Раунд без формулы ...
Супер поиск: Множественный критерий VLookup    VLookup с несколькими значениями  |   VLookup по нескольким листам   |   Нечеткий поиск ....
Расширенный раскрывающийся список: Быстрое создание раскрывающегося списка   |  Зависимый раскрывающийся список   |  Выпадающий список с множественным выбором ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка Фокус   |  Просмотр дизайна   |   Большой Формулный Бар    Менеджер книг и листов   |  Библиотека ресурсов (Авто текст)   |  Выбор даты   |  Комбинировать листы   |  Шифровать/дешифровать ячейки    Отправлять электронные письма по списку   |  Суперфильтр   |   Специальный фильтр (фильтровать жирным шрифтом/курсивом/зачеркиванием...) ...
15 лучших наборов инструментов12 Текст Инструменты (Добавить текст, Удалить символы, ...)   |   50+ График Тип (Диаграмма Ганта, ...)   |   40+ Практических Формулы (Рассчитать возраст по дню рождения, ...)   |   19 Вносимые Инструменты (Вставить QR-код, Вставить изображение из пути, ...)   |   12 Конверсия Инструменты (Числа в слова, Конверсия валюты, ...)   |   7 Слияние и разделение Инструменты (Расширенные ряды комбинирования, Разделить клетки, ...)   |   ... и более

Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени.  Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...

Описание


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Comments (15)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
La macro posiziona l'immagine "Immagine 2" al centro della cella ("D5"), anche se questa è unita ad altre celle. Spero possa esservi utile

Sub ImpFoto()
Dim hcell As Single ' altezza cella
Dim Lcell As Single ' larghezza cella
Dim hfoto As Single ' altezza foto
Dim Lfoto As Single ' larghezza foto
Dim Rfoto As Single ' rapporto foto h/L

Range("D5").Select

hcell = Selection.Height
Lcell = Selection.Width
hfoto = ActiveSheet.Shapes("Immagine 2").Height
Lfoto = ActiveSheet.Shapes("Immagine 2").Width
Rfoto = hfoto / Lfoto

If hfoto < Lfoto Then
Lfoto = Lcell - 10
hfoto = Lfoto * Rfoto

If hfoto > hcell Then
hfoto = hcell - 3
Lfoto = hfoto / Rfoto
End If

ActiveSheet.Shapes("Immagine 2").Height = hfoto
ActiveSheet.Shapes("Immagine 2").Width = Lfoto
Else
hfoto = hcell - 10
Lfoto = hfoto / Rfoto
ActiveSheet.Shapes("Immagine 2").Height = hfoto
ActiveSheet.Shapes("Immagine 2").Width = Lfoto
End If

Range("D5").Select

With ActiveSheet.Shapes("Immagine 2")
.Top = Selection.Top + (Selection.Height - .Height) / 2
.Left = Selection.Left + (Selection.Width - .Width) / 2
End With
End Sub
This comment was minimized by the moderator on the site
Thank you, it really works!
This comment was minimized by the moderator on the site
Hi, Need this code disabling the lock aspect ratio
This comment was minimized by the moderator on the site
Hi..
perfact solution. But i want that function to work with command button. i need to make a command button to insert and auto resize to cell size. please help.
This comment was minimized by the moderator on the site
Brilliant! Works great! Just what I was looking for! Thank you!
This comment was minimized by the moderator on the site
it works if the cells are not merged. unfortunately, I merged some cells and it fits only in the upper left cell which makes the photo very tiny.
This comment was minimized by the moderator on the site
Hi, I really love this macro that makes images fit cells, it really helped me with some work stuff. But does anyone know how to write this code for applescript? I have to use macs and the apple version of excel, Numbers, only uses applescript. Help! Many thanks, Harry
This comment was minimized by the moderator on the site
Thanks it did work but I have about 500 pictures so I don't want to do them one at a time - how do I do them all at the same time please?
This comment was minimized by the moderator on the site
Works!! But i have one question, i want to fit a img in a range of cells merged, how can i do it?
This comment was minimized by the moderator on the site
Public Sub FitPic()
'https://www.extendoffice.com/documents/excel/1060-excel-resize-picture-to-fit-cell.html
'Slight modification to resize into merged cells
On Error GoTo NOT_SHAPE
Dim PicWtoHRatio As Single
Dim CellWtoHRatio As Single
With Selection
PicWtoHRatio = .Width / .Height
End With
With Selection.TopLeftCell
CellWtoHRatio = .MergeArea.Width / .MergeArea.Height
End With
Select Case PicWtoHRatio / CellWtoHRatio
Case Is > 1
With Selection
.Width = .TopLeftCell.MergeArea.Width
.Height = .Width / PicWtoHRatio
End With
Case Else
With Selection
.Height = .TopLeftCell.MergeArea.Height
.Width = .Height * PicWtoHRatio
End With
End Select
With Selection
.Top = .TopLeftCell.MergeArea.Top
.Left = .TopLeftCell.MergeArea.Left
.Placement = xlMoveAndSize
End With
Exit Sub
NOT_SHAPE:
MsgBox "Select a picture before running this macro."
End Sub
This comment was minimized by the moderator on the site
[quote]Works!! But i have one question, i want to fit a img in a range of cells merged, how can i do it?By Marcelo[/quote] Marcelo did you get the updated marco for the merged cell? I am trying to do the same thing. thanks
This comment was minimized by the moderator on the site
I tried this macro last night and it adjust only the height. The width it doesn't incorrectly. Any Help please?
This comment was minimized by the moderator on the site
Thank you this was perfect!!
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations