Макрос позволяет увеличивать / уменьшать изображения на листе Excel по щелчку мыши.
Для использования макроса, скопируйте в свой файл модуль с кодом (просто перетащив его мышкой из прикреплённого файла),
выделите все картинки в своём файле Excel, и назначьте им макрос ZoomImage
Чтобы выделить все изображения, проделайте следующее:
- нажмите Ctrl + G (для появления диалогового окна «Переход»)
- нажмите кнопку «Выделить» в этом диалогом окне
- в появившемся окне «Выделение группы ячеек» поставьте галочку «Объекты», и нажмите OK
После этого (как все картинки будут выделены), щелкните на одной из картинок правой кнопкой мыши,
в контекстном меню нажмите «Назначить макрос», выделите макрос ZoomImage, и нажмите OK
При щелчке на картинке, макрос плавно увеличивает картинку в 3 раза, попутно перемещая её в центр экрана
(коэффициент увеличения, скорость увеличения фото, и количество промежуточных шагов увеличения, можно задать в коде)
Для увеличения создаётся копия исходной картинки.
При щелчке на увеличенной картинке, она плавно уменьшается в размерах, после чего удаляется.
Код макроса ZoomImage:
Sub ZoomImage() ' Макрос для увеличения / уменьшения картинок в Excel, по щелчку на них ' © 2013 EducatedFool ExcelVBA.ru/code/ZoomImages Const ZOOM_RATIO# = 3 ' коэффициент увеличения изображения Const STEPS_COUNT& = 20 ' количество промежуточных шагов при увеличении Const ZOOM_SPEED# = 2 ' скорость увеличения / уменьшения картинки ( от 0 до 10) On Error Resume Next: Err.Clear: Dim sha As Shape, s_sha As Shape, i& Set s_sha = ActiveSheet.Shapes(Application.Caller) If Err Then Exit Sub ' выход, если макрос вызван не щелчком на картинке If s_sha.Name Like "BigImage_*" Then ' щелчок на увеличенной картинке With s_sha cx1# = .Left + .Width / 2: cy1# = .Top + .Height / 2 dw# = .Width / STEPS_COUNT& dt# = ZOOM_SPEED# / 50 / STEPS_COUNT& For i& = 1 To STEPS_COUNT& ' в цикле уменьшаем картинку t = Timer: .Width = .Width - dw# .Left = cx1# - .Width / 2: .Top = cy1# - .Height / 2 While Timer - t < dt#: DoEvents: Wend Next i .Delete ' а потом удаляем её End With Else ' щелчок на исходной картинке, - создаём её копию, и увеличиваем For Each sha In ActiveSheet.Shapes If sha.Name Like "BigImage_*" Then sha.Delete Next Set sha = s_sha.Duplicate ' создаем копию картинки sha.Top = s_sha.Top: sha.Left = s_sha.Left ' помещаем копию поверх исходной sha.Name = "BigImage_" & Timer ' переименовываем изображение sha.LockAspectRatio = 1 ' если есть закреплённые столбцы и строки TopRowsHeight# = Range("1:1").RowHeight ' закреплена первая строка LeftColumnsWidth# = 0 ' закреплённых столбцов нет With sha cx1# = .Left + .Width / 2: cy1# = .Top + .Height / 2 cx2# = Columns(ActiveWindow.ScrollColumn).Left - LeftColumnsWidth# + _ ActiveWindow.Width / 2 * 100 / ActiveWindow.Zoom cy2# = Rows(ActiveWindow.ScrollRow).Top - TopRowsHeight# + _ ActiveWindow.Height / 2 * 100 / ActiveWindow.Zoom dw# = .Width * (ZOOM_RATIO# - 1) / STEPS_COUNT& dx# = (cx2# - cx1#) / STEPS_COUNT&: dy# = (cy2# - cy1#) / STEPS_COUNT& cx# = cx1#: cy# = cy1#: dt# = ZOOM_SPEED# / 50 / STEPS_COUNT& For i& = 1 To STEPS_COUNT& t = Timer: cx# = cx# + dx#: cy# = cy# + dy# .Width = .Width + dw#: .Left = cx# - .Width / 2: .Top = cy# - .Height / 2 While Timer - t < dt#: DoEvents: Wend Next i End With End If End Sub
Предположим, вы вставили список изображений в столбец и сопоставили размеры изображений с размерами ячеек, как показано на скриншоте ниже. Поскольку вставленное изображение выглядит маленьким, вам может потребоваться увеличить его для некоторых целей. В этой статье будет показан способ увеличения изображения при нажатии на него в Excel и восстановления исходного размера вторым щелчком.
Увеличивать изображение при нажатии на него с кодом VBA
Увеличивать изображение при нажатии на него с кодом VBA
Следующий код VBA может помочь вам увеличить изображение, щелкнув его в Excel. Пожалуйста, сделайте следующее.
1. Щелкните правой кнопкой мыши изображение, которое необходимо увеличить, просто щелкнув по нему, затем щелкните Назначить макрос из контекстного меню. Смотрите скриншот:
2. в Назначить макрос диалоговое окно, щелкните Новинки кнопку.
3. Во всплывающем Microsoft Visual Basic для приложений окна, скопируйте и вставьте приведенный ниже код VBA между ниже и End Sub коды. Смотрите скриншот:
Код VBA: увеличьте изображение, щелкнув по нему в Excel
Dim shp As Shape
Dim big As Single, small As Single
Dim shpDouH As Double, shpDouOriH As Double
big = 3
small = 1
On Error Resume Next
Set shp = ActiveSheet.Shapes(Application.Caller)
With shp
shpDouH = .Height
.ScaleHeight 1, msoTrue, msoScaleFromTopLeft
shpDouOriH = .Height
If Round(shpDouH / shpDouOriH, 2) = big Then
.ScaleHeight small, msoTrue, msoScaleFromTopLeft
.ScaleWidth small, msoTrue, msoScaleFromTopLeft
.ZOrder msoSendToBack
Else
.ScaleHeight big, msoTrue, msoScaleFromTopLeft
.ScaleWidth big, msoTrue, msoScaleFromTopLeft
.ZOrder msoBringToFront
End If
End With
Внимание: В коде можно назначить большие размеры картинки в коде big = 3.
4. Затем нажмите другой + Q клавиши одновременно, чтобы закрыть Microsoft Visual Basic для приложений окно.
С этого момента, когда вы нажимаете на изображение, оно будет увеличено до указанного вами размера, а повторное нажатие вернет его к исходному размеру, как показано на скриншотах ниже.
Статьи по теме:
- Как заблокировать изображение / изображение в ячейке или внутри нее в Excel?
- Как динамически вставлять изображение или изображение в ячейку на основе значения ячейки в Excel?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (9)
Оценок пока нет. Оцените первым!
Предлагаю всем интересующимся макрос, который масштабирует картинки в Excel.
При открытии книги назначаются сочетания клавиш, которые позволяют каждой картинке в рабочей книге присвоить оригинальное имя, базовый масштаб (в Замещающий текст) и назначить макрос, который при клике на картинку будет выполнять её увеличение.
Отдельные картинки, в режиме когда они увеличены, можно масштабировать динамически с сохранением нового значения масштаба используя клавиши Ctrl+Alt+UP и Ctrl+Alt+DOWN.
Для присвоения базового масштаба картинкам необходимо после открытия книги с данным макросом нажать Ctrl+Alt+Right. По умолчанию картинкам присваивается масштаб равный 90% высоты всех строк, которые видны на экране. Если размеры экрана изменить — изменится и размер увеличенной картинки.
Чтобы заменить значение по умолчанию для всех картинок используются клавиши Ctrl+Alt+Left
Текст макроса с комментариями ниже:
Private Sub auto_open()
Application.OnKey "^%{RIGHT}", "EnumImageV2" 'Запуск перенумерации картинок выполняется по нажатию клавиш Ctrl+Alt+Стрелка вправо
Application.OnKey "^%{LEFT}", "ImgScaleAll" 'Изменение масштаба всех картинок на листе выполняется по нажатию клавиш Ctrl+Alt+Стрелка влево
ThisWorkbook.OnSheetActivate = "DelImg" 'Сброс увеличенных картинок при переключении листов
End Sub
Private Sub ImgScaleAll()
DelImg 'Удаляются все увеличенные ккартинки
dblSend = InputBox("Масштаб задается в виде положительной десятичной дроби" & Chr(13) & "(разделитель запятая)" & Chr(13) _
& "Чем больше цифра, тем больше картинка", "Укажите масштаб для ВСЕХ картинок", 0.9)
On Error Resume Next
dblSend = CDbl(dblSend) 'Если введено правильное число, через запятую, то все пойдёт дальше, иначе сообщение об ошибке
If Err Then
If MsgBox("Вы ввели неверное значение" & Chr(13) & "Хотите повторить?", vbYesNo) = vbYes Then
ImgScaleAll 'Перезапуск текущего макроса, при желании пользователя повторить ввод
Else: Exit Sub 'При отказе пользователя повторить ввод - выход из макроса
End If
End If
Err.Clear
EnumImageV2 CDbl(dblSend) 'вызывается макрос перенумерации картинок, но в нем не выполняется перенумерация, а просто присваивается новый масштаб
End Sub
Private Sub ImgScalePlus()
With ActiveSheet
For Each ZmImg In .Shapes 'выполняется проверка названий всех картинок на листе
If ZmImg.Name Like "Zoom*" Then 'Отбирается картинка, у которой в названии есть Zoom
strImgName = Mid(ZmImg.Name, 5) 'Вырезается имя исходной картинки
varData = CDbl(.Shapes(strImgName).AlternativeText) + 0.1 'Определяется значение масштабированияя исходной картинки и увеличивается на 10%
.Shapes(strImgName).AlternativeText = CStr(varData) 'Новое значение масштабирования присваивается исходной картинке
ZoomImageV3 CStr(strImgName) 'Вызывается макрос ZommImageV3
End If
Next
End With
End Sub
Private Sub ImgScaleMinus()
With ActiveSheet
For Each ZmImg In .Shapes 'выполняется проверка названий всех картинок на листе
If ZmImg.Name Like "Zoom*" Then 'Отбирается картинка, у которой в названии есть Zoom
strImgName = Mid(ZmImg.Name, 5) 'Вырезается имя исходной картинки
varData = CDbl(.Shapes(strImgName).AlternativeText) - 0.1 'Определяется значение масштабированияя исходной картинки и уменьшается на 10%
.Shapes(strImgName).AlternativeText = CStr(varData) 'Новое значение масштабирования присваивается исходной картинке
ZoomImageV3 CStr(strImgName) 'Вызывается макрос ZommImageV3
End If
Next
End With
End Sub
Private Sub EnumImageV2(Optional dblSnd As Double)
' Макрос находит все картинки в активной книге и нумерует их по порядку
' начиная с левого верхнего угла и после присвоения номера сразу назначает картинке макрос ZoomImageV3
' совершенно не важно когда запускать этот макрос: до назначения масштабирования или после
' масштаб, который указан в замещающем тексте представляет собой процент от размеров текущей рабочей области представленной на экране
i = 1
For Each varShtsItm In ActiveWorkbook.Sheets
For Each varImgItm In varShtsItm.Shapes
If varImgItm.Name Like "Image_*" Then 'Отрабатывает при запуске пользователем макроса по изменению масштаба для всех картинок
If dblSnd > 0 Then varImgItm.AlternativeText = dblSnd 'Если масштаб был изменён, то значение записывается в Замещающий текст картинки
Else 'Если картинка ранее не нумеровалась, то меняется её имя и ей присваивается номер
varImgItm.Name = "Image_" & i 'Новые Имя и номер картинки
varImgItm.OnAction = "ZoomImageV3" 'Назначение макроса масштабирующего картинку
varImgItm.AlternativeText = "0,9" 'Запись в замещающий текст масштаба по умолчанию
End If
i = i + 1
Next
Next
End Sub
Private Sub ZoomImageV3(Optional strImgName As String)
Attribute ZoomImageV3.VB_ProcData.VB_Invoke_Func = " n14"
Dim dblWinHeight As Double, dblWinWidth As Double
Dim dblWinCenterTop As Double, dblWinCenterLeft As Double 'переменные для определения параметров окна
Dim objPict0 As Shape, objPict As Shape 'переменные-объекты для работы с картинками
Dim PictZoom As Double 'Переменная определяет размер картинки по которому она будет отмасштабирована
With ActiveWindow.VisibleRange 'Вычисляем параметры видимой на экране области
dblWinHeight = WorksheetFunction.Round(.Height, 2) 'Высота видимой области ячеек
dblWinWidth = WorksheetFunction.Round(.Width, 2) 'Ширина видимой области ячеек
dblWinCenterTop = WorksheetFunction.Round(.Top + dblWinHeight / 2, 2) 'Расстояние сверху до центра видимой области ячеек
dblWinCenterLeft = WorksheetFunction.Round(.Left + dblWinWidth / 2, 2) 'Расстояние слева до центра видимой области ячеек
End With
On Error Resume Next
Set objPict0 = ActiveSheet.Shapes(Application.Caller) 'Обработка нажатия мышкой на картинке
If Err Then
V = strImgName
Set objPict0 = ActiveSheet.Shapes(V)
End If
Err.Clear
On Error Resume Next
DelImg 'Проверка наличия и удаление увеличенных рисунков, отмена назначения кнлавиши ESC (подпрограмма)
If Err Then Exit Sub 'Если удаление картинки было вызвано отмасштабированной картинкой, то происходи выход из макроса
Err.Clear
On Error Resume Next
сZoomWin = CDbl(objPict0.AlternativeText) 'переменная, задающая коэффициент масштабирования картинки относительно границ рабочей области окна, значение берётся из Альтернативного текста картинки
If Err Then
сZoomWin = 0.9 'Если в Альтернативном тексте введено некорректное значение, то присваивается значение по умолчанию
objPict0.AlternativeText = "0,9"
End If
Err.Clear
Set objPict = objPict0.Duplicate 'Создание копии картинку, которая будет увеличиваться
objPict.Name = "Zoom" & objPict.Name 'Добавление к новой картинке префикса "Zoom"
objPict.LockAspectRatio = msoTrue 'Активация свойства рисунка, при котором размеры изменяются пропорционально
If dblWinHeight < dblWinWidth Then 'Проверка параметров окна, что больше высотиа или ширина окна
PictZoom = dblWinHeight * сZoomWin ' Если высота окна меньше ширины, то за основу берётся меньшая величина (высота)
Else
PictZoom = dblWinWidth * сZoomWin ' Если высота окна больше ширины, то за основу берётся меньшая величина (ширина)
End If
With objPict 'Работаем с картинкой и её свойствами
If .Height > .Width Then 'Проверка параметров картинки
.Height = PictZoom 'Если высота картинки больше ширины, то картинка масштабируется по высоте
Else
.Width = PictZoom 'Если высота картинки меньше ширины, то картинка масштабируется по ширине
End If
.Top = WorksheetFunction.Round(dblWinCenterTop - (.Height / 2), 2) 'Определение положения верхней границы картинки
.Left = WorksheetFunction.Round(dblWinCenterLeft - (.Width / 2), 2) 'Определение положения левой границы картинки
End With
Application.OnKey "{ESC}", "DelImg" 'Назначение клавиши ESC для удаления увеличенных картинок
Application.OnKey "^%{UP}", "ImgScalePlus" 'Увеличение масштаба отдельной картинки выполняется по нажатию клавиш Ctrl+Alt+Стрелка вверх
Application.OnKey "^%{DOWN}", "ImgScaleMinus" 'Уменьшение масштаба отдельной картинки выполняется по нажатию клавиш Ctrl+Alt+Стрелка вниз
End Sub
Private Sub DelImg()
With ActiveSheet
For Each ZmImg In .Shapes 'выполняется проверка названий всех картинок на листе
If ZmImg.Name Like "Zoom*" Then ZmImg.Delete 'удаляются картинки с названием, содержащим "Zoom"
Next
End With
Application.OnKey "{ESC}" 'Присвоение клавише ESC стандартной функции
Application.OnKey "^%{UP}" 'Сброс функционала клавиш
Application.OnKey "^%{DOWN}" 'Сброс функционала клавиш
End Sub
netep Пользователь Сообщений: 2 |
Добрый день всем! |
netep Пользователь Сообщений: 2 |
The_Prist, Спасибо но это не совсем то, точнее то но там не имеет значение сама картинка я не могу терять в качестве, так как картинкой будет являться официальный документ. и он должен быть читаем. |
По щелчку сделать легко Может, устроит только вариант с щелком мыши по картинке? |
|
torres09 Пользователь Сообщений: 4 |
#6 12.03.2013 21:33:42 Вот это, то что мне очень нужно. Но я настолько дерево в этом, что не могу адаптировать код. Прошу сильно не пинать, я новичок в работе с экселем, но после применения этого макроса пропадает возможность отменить действие, если сделать в документе какое либо редактирование. И мне нужно, чтобы этот макрос запускался автоматически при открытие дока, без кнопки. Может кто-нибудь добрый поможет или скинет готовый макрос?) |
Skip to content
Как изменить масштаб изображения листа
На чтение 2 мин. Просмотров 2.1k.
Что делает макрос: Некоторые электронные таблицы огромны. Иногда, мы вынуждены изменить масштаб изображения, чтобы видеть всю таблицу на экране. Если вы обнаружите, что вы постоянно масштабируете таблицы, чередуя между сканированием больших разделов данных и чтением конкретных ячеек, вот удобный макрос, который будет автоматически изменять масштаб на двойном щелчке.
Содержание
- Как макрос работает
- Код макроса
- Как использовать
Как макрос работает
С помощью этого макроса, вы можете дважды щелкнуть на ячейку в таблице, чтобы увеличить на 200 процентов. Дважды щелкните снова и Excel изменит масштаб изображения обратно на 100 процентов. Также вы можете изменить значения в коде, чтобы соответствовало вашим потребностям.
Код макроса
Private Sub Worksheet_BeforeDouble Click() 'Проверить текущее состояние - Увеличить 'Увеличить на 100% 'Увеличение на 200%, если текущее 100 If ActiveWindow.Zoom <> 100 Then ActiveWindow.Zoom = 100 Else ActiveWindow.Zoom = 200 End If End Sub
Обратите внимание, что побочный эффект двойного щелчка ячейки является то, что он переходит в режим редактирования. Вы можете выйти из режима редактирования, нажав клавишу Esc на клавиатуре. Если вам это мешает, несколько раз нажмите Esc при срабатывании этого макроса, вы можете добавить это заявление в конце процедуры:
Application.SendKeys («{ESC}»)
Этот оператор имитирует нажатия ESC на клавиатуре.
Как использовать
Для реализации этого макроса, вам нужно скопировать и вставить его в окно кода события Worksheet_BeforeDouble Click. Это позволяет запускать каждый раз, когда вы дважды щелкните на листе.
- Активируйте редактор Visual Basic, нажав ALT + F11.
- В окне проекта, найти свой проект / имя рабочей книги и нажмите на знак плюс рядом с ней, чтобы увидеть все листы.
- Нажмите на лист, из которого вы хотите, чтобы вызвать код.
- Выберите событие BeforeDoubleClick из событий в раскрывающемся списке.
- Введите или вставьте код во вновь созданном модуле.
Здесь можно получить ответы на вопросы по Microsoft Excel | 57350 | 469102 |
30 Сен 2018 13:56:23 |
|
44519 | 357828 |
29 Янв 2017 17:28:40 |
||
Лучшие избранные темы с основного форума | 14 | 80 |
28 Июн 2018 15:25:11 |
|
Если вы — счастливый обладатель Mac 😉 | 217 | 1059 |
21 Сен 2018 06:21:34 |
|
Раздел для размещения платных вопросов, проектов и задач и поиска исполнителей для них. | 2080 | 13278 |
29 Сен 2018 20:15:30 |
|
Если Вы скачали или приобрели надстройку PLEX для Microsoft Excel и у Вас есть вопросы или пожелания — Вам сюда. | 307 | 1580 |
28 Сен 2018 09:07:46 |
|
800 | 11414 |
30 Сен 2018 13:59:28 |
||
Обсуждение функционала, правил и т.д. | 268 | 3463 |
28 Сен 2018 12:42:51 |
|
Сейчас на форуме (гостей: 353, пользователей: 13, из них скрытых: 4) , , , , , , , ,
Сегодня отмечают день рождения (35), (45), (47), (60)
Всего зарегистрированных пользователей: 82854
Приняло участие в обсуждении: 31731
Всего тем: 105554
Наверняка многие из вас задавались вопросом: а можно ли в Excel, наведя мышь на ячейку, к примеру, с наименованием товара, сразу получить всплывающую подсказку с изображением, связанным с содержимым ячейки?
Так сделать можно, и довольно просто!
Кликните правой кнопкой мыши на ячейке и выберите «Вставить примечание» (рис. 1).
Рис. 1
Щелкните правой кнопкой мыши на границе примечания и выберите «Формат примечания» (рис. 2).
Рис. 2
В открывшемся окне переходим на вкладку «Цвета и линии», раскрываем выпадающий список «Цвет» и выбираем пункт меню «Способы заливки» (рис. 3).
Рис. 3
В открывшемся окне «Способы заливки» нажимаем кнопку «Рисунок», ищем интересующий файл изображения и подтверждаем свой выбор (рис. 4).
Рис. 4
После выбора изображения ставим галочку «Сохранять пропорции рисунка» и нажимаем «ОК» (рис 5.).
Рис. 5
Мышью регулируем размер примечания, чтобы картинка была хорошо видна. Затем, щелкаем на ячейке правой кнопкой мыши и выбираем «Скрыть примечание» (рис. 6)
Рис. 6
Теперь, при наведении курсора на ячейку мы видим связанное с ней изображение (рис.7).
Рис. 7
8 ноября 2012, 22:59
Я давно хотела узнать, как можно увеличить рисунок, сделать его форматом больше чем А-4.
1.Выбрать на компьютере программу Microsoft Office Excel 2007, нажав на надпись 1 раз курсором ( левая клавиша мыши):
2.Открылась программа, 1 раз нажмите на клеточку, выделенную в верхнем левом углу – это зафиксирует ваше изображение в дальнейшем на этой точке
3.Найдём раздел «вставка» и нажимаем 1 раз всё той же клавишей:
4. выбираем в открывшемся окошке «рисунок» и нажимаем опять 1 раз:
5. В открывшемся окне обычным образом выбираем рисунок, выбранный для увеличения, пометили(1 раз):
6. Вставляем (1 раз):
7. Видим, что рисунок разместился в программе на клеточках для увеличения:
8. Подводим курсор к правому нижнему (свободному) углу картинки, нажимаем на клавишу –левую- и не отпуская, растягиваем картинку чуть –чуть, убеждаясь, что это возможно
9.Теперь нам надо сделать разметку, Выбрать нужный размер картинки, 1 раз нажимая на «разметка страницы»:
10. Нажимаем 1 раз «размер» в открывшемся окне:
11.Выбираем в открывшемся окне «А4» и нажимаем 1 раз:
12.Убедились, что на поле появилась сетка из линий – это разметка страниц:
13.Повторим пункт «8» с учётом необходимого размера картинки:
14.Последний шаг. Картинка увеличена, осталось предварительно просмотреть или просто сохранить или напечатать сразу. Для этого нам нужна кнопка Office (помечаем 1 раз):
15. Если наша цель – просто получить увеличение, то при печати надо не забыть в «свойства» поставить «Быстрая черновая печать». В итоге получаем несколько страниц А4, которые надо соединить, чтобы получить увеличенный рисунок.
Вот и всё!!! Попробуйте! Обязательно получится!
Увеличивать картинки позволяет любая версия этой программы!!! Есть только небольшие нюансы, которые легко освоить.
На чтение 2 мин. Просмотров 356 Опубликовано 23.05.2021
Предположим, вы вставили список изображений в столбец и сопоставили размеры изображений с размерами ячеек, как показано на скриншоте ниже. Поскольку вставленное изображение выглядит маленьким, вам может потребоваться увеличить его для некоторых целей. В этой статье будет показан способ увеличения изображения при нажатии на него в Excel и восстановления исходного размера вторым щелчком.
Увеличивать изображение при нажатии на него кодом VBA
Потрясающе! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Сэкономьте 50% своего времени и сократите тысячи щелчков мышью каждый день!
Следующий код VBA может помочь вам увеличить изображение, щелкнув по нему в Excel. Пожалуйста, сделайте следующее.
1. Щелкните правой кнопкой мыши изображение, которое нужно увеличить, просто щелкнув по нему, затем нажмите Назначить макрос в контекстном меню. См. Снимок экрана:
2. В диалоговом окне Назначить макрос нажмите кнопку Создать .
3. Во всплывающем окне Microsoft Visual Basic для приложений скопируйте и вставьте приведенный ниже код VBA между Sub и End Sub сильные> коды. См. Снимок экрана:
Код VBA: увеличьте изображение, щелкнув по нему в Excel.
Примечание : В коде вы можете назначить большие размеры изображения в коде big = 3.
4. Затем одновременно нажмите клавиши Alt + Q , чтобы закрыть окно Microsoft Visual Basic для приложений .
С этого момента, когда вы щелкаете по изображению, оно будет увеличено до указанного вами размера, а повторное нажатие вернет его к исходному размеру, как показано на скриншотах ниже.
Статьи по теме :
- Как заблокировать изображение/изображение в ячейке или внутри нее в Excel?
- Как динамически вставлять изображение или изображение в ячейку на основе по значению ячейки в Excel?
0 / 0 / 0 Регистрация: 26.09.2011 Сообщений: 14 |
|
1 |
|
09.10.2011, 17:11. Показов 7078. Ответов 15
Доброго времени суток. Помогите пожалуйста! Имеется форма в excel на ней есть картинка и кнопка и нужно при помощи Do…Loop и параметров width и height что бы после нажатия кнопки картинка увеличилась.
0 |
programmer_11 97 / 72 / 28 Регистрация: 08.10.2011 Сообщений: 130 |
||||
09.10.2011, 20:38 |
2 |
|||
Создай форму, назови ее forma, картину на форме назови img, а кнопку ОК.
Разумеется, вместо финальное_значение введите значения финальной величены и ширины картины.
1 |
Почетный модератор 21371 / 9105 / 1082 Регистрация: 11.04.2010 Сообщений: 11,014 |
|
09.10.2011, 20:55 |
3 |
if forma.img.width=финальное_значение And forma.img.height=финальное_значение Then Это условие может никогда не выполниться, ширина и высота картинки скорее всего разные, а переменная финальное_значение — одна и та же
1 |
6644 / 1511 / 169 Регистрация: 09.01.2010 Сообщений: 4,298 |
|
09.10.2011, 21:42 |
4 |
имхо менять на определенный шаг один размер, а второй на величину пропорциональную отношению начальных размеров картинки
1 |
0 / 0 / 0 Регистрация: 26.09.2011 Сообщений: 14 |
|
09.10.2011, 22:03 [ТС] |
5 |
не понимаю все равно не получается(( с OR лучше но не то…
0 |
programmer_11 97 / 72 / 28 Регистрация: 08.10.2011 Сообщений: 130 |
||||
09.10.2011, 22:03 |
6 |
|||
Спасибо за замечания, вы правы. Вот отредактированный код.
1 |
0 / 0 / 0 Регистрация: 26.09.2011 Сообщений: 14 |
|
09.10.2011, 22:32 [ТС] |
7 |
Вроде похоже на правду,спс всем!!
0 |
0 / 0 / 0 Регистрация: 07.01.2014 Сообщений: 3 |
|
07.01.2014, 16:22 |
8 |
Куда вставлять этот код
0 |
11482 / 3773 / 677 Регистрация: 13.02.2009 Сообщений: 11,145 |
|
07.01.2014, 17:35 |
9 |
Вообще-то в чужих темах задавать вопросы не по правилам…
0 |
11482 / 3773 / 677 Регистрация: 13.02.2009 Сообщений: 11,145 |
|
07.01.2014, 17:37 |
10 |
Мне больше подходит массив картинок.
0 |
0 / 0 / 0 Регистрация: 07.01.2014 Сообщений: 3 |
|
09.01.2014, 20:37 |
11 |
Спасибо. То что нужно. Но куда это вставить. Может в Программ филес?
0 |
0 / 0 / 0 Регистрация: 15.10.2014 Сообщений: 28 |
|
15.10.2014, 21:06 |
12 |
Мне больше подходит массив картинок. День добрый. Извините, что поднимаю топик, но мне как раз очень подходит данный макрос за одним исключением — нужно избавиться от кнопки.
0 |
Alex77755 11482 / 3773 / 677 Регистрация: 13.02.2009 Сообщений: 11,145 |
||||
15.10.2014, 21:29 |
13 |
|||
Кто мешает использовать событие Workbook_Open?
Впиши код кнопки. кнопку удали
1 |
es geht mir gut 11264 / 4746 / 1183 Регистрация: 27.07.2011 Сообщений: 11,437 |
|
16.10.2014, 06:51 |
14 |
А так? Не по теме: Извините, все вложения в теме не смотрел, поэтому может быть уже есть подобный вариант.
0 |
TitanFighter 0 / 0 / 0 Регистрация: 15.10.2014 Сообщений: 28 |
||||
17.10.2014, 16:02 |
15 |
|||
Кто мешает использовать событие Workbook_Open?
Впиши код кнопки. кнопку удали Помогло. Спасибо.
А так? Не по теме: Извините, все вложения в теме не смотрел, поэтому может быть уже есть подобный вариант. Никак не могу въехать, почему не работает макрос с моими картинками. Добавлено через 13 минут Мне больше подходит массив картинок. который использует картинки через ActiveX, Екселевский файл раздувается. Я вставляю 1 картинку размером 30кб, а на выходе получаю файл в 400кб. Мне нужно вставить 234 картинки) Как бороться с этой проблемой? Как сделать так, чтоб используя картинки ActiveX, размер файла +- соответствовал размеру картинок? В инете искал, так решения и не нашел.
0 |
TitanFighter 0 / 0 / 0 Регистрация: 15.10.2014 Сообщений: 28 |
||||
22.10.2014, 14:02 |
16 |
|||
Добрый день. Кто может подсказать, как сделать так, чтоб картинка открывалась не по координатам, прописанным ниже, а увеличивалась вниз и вправо от текущего местоположения (от текущей ячейки, на которой находится картинка)?
Спасибо.
0 |
Как плавно увеличить картинку на форме |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |