Макрос для увеличения картинок по щелчку мыши
Макрос позволяет увеличивать / уменьшать изображения на листе Excel по щелчку мыши.
Для использования макроса, скопируйте в свой файл модуль с кодом (просто перетащив его мышкой из прикреплённого файла), выделите все картинки в своём файле Excel, и назначьте им макрос ZoomImage
Чтобы выделить все изображения, проделайте следующее:
- нажмите Ctrl + G (для появления диалогового окна «Переход»)
- нажмите кнопку «Выделить» в этом диалогом окне
- в появившемся окне «Выделение группы ячеек» поставьте галочку «Объекты», и нажмите OK
После этого (как все картинки будут выделены), щелкните на одной из картинок правой кнопкой мыши, в контекстном меню нажмите «Назначить макрос», выделите макрос ZoomImage, и нажмите OK
При щелчке на картинке, макрос плавно увеличивает картинку в 3 раза, попутно перемещая её в центр экрана (коэффициент увеличения, скорость увеличения фото, и количество промежуточных шагов увеличения, можно задать в коде)
Для увеличения создаётся копия исходной картинки. При щелчке на увеличенной картинке, она плавно уменьшается в размерах, после чего удаляется.
Код макроса ZoomImage:
- 57707 просмотров
Комментарии
Спасибо Игорь. не подскажите как можно ли сделать так чтоб изображение не только увеличивалось но и поворачивалось по нажатию.
Это надо заметно усложнять макрос.
А как сделать чтобы картинка в конце уплывала на своё место? а то когда увеличивается то то постепенно это делает со своего места, а когда уменьшается то делает это посередине экрана
Нет, макросы работают только в Excel. В ПДФ работать не будет
Игорь, добрый день! Подскажите, будет ли работать этот функционал (увеличение фото по клику), если сохранить документ Exel в PDF или XPS? Хотим в прайс добавить картинки, но прайс отправляем клиентам не в экселе, чтоб слуйчайно не редактировалось ничего. Буду благодарен за ответ!
Мои макросы гарантированно работают только под windows. На маке - там многое по-другому делается.
Макрос не работает для MAC
Доброго времени суток пожалуйста помогите, использовал макрос, часть картинок увеличивает, а некоторые при нажатие на нее увеличивают картинку с другой строки.
Координаты вычисляются в переменных cx2# и cу2# — исправьте код, чтобы там были нужные вам значения координат. Если сами не разберетесь, могу сделать под заказ (платно)
а как задать координаты увеличенной картики, что бы не по центру экрана выходил а справа снизу
После сохранения портится качество картинки до нечитаемого, что делать? Excel 2010
Причина в том, что Excel автоматически сжимает рисунки при сохранении. Чтобы этого избежать надо зайти: Файл -> Параметры -> Дополнительно и поставить галочку в пункте "Не сжимать изображения в файле". В зависимости от версии Excel данная функция может быть в другом разделе.
Добрый день. А как дописать код таким образом что бы вместе с увеличением картинки менялся цвет границы данной картинки
Это не от макроса зависит, а от того, в каком размере и с каким качеством вставлены картинки. Если вставить картинку размером 40*50 пикселей, - конечно, она при увеличении до размеров 400*500 будет выглядеть ужасно. А если вы вставите на лист фотографию размером 3000*2000, а потом уменьшите её до 30*20, - то при щелчке она будет увеличиваться без всякой потери качества (так как на листе она хоть и отображается маленькой, - Excel её хранит целиком). Но, опять же, если в случае с этим большим фото, в Excel нажать кнопку СЖАТЬ ИЗОБРАЖЕНИЯ, - после сохранения файла и повторного его открытия, Excel обрежет ненужное, - и картинка 3000*2000 превратится в картинку 30*20 - и тогда увеличение опять даст плохой результат. А чтобы и файл Excel много не весил, и картинки при увеличении сильно качество не теряли, - размеры вставляемых картинок должны быть порядка 200-500 пикселей (при этом, не имеет значения, на сколько они уменьшены в размерах при вставке на лист)
Добрый день. проблема в том что после того как кликаешь по картинке при увеличение теряется качество картинки. как это можно исправить. побывал разные размеры картины не помогло.
Добрый день! Спасибо за Вашу работу, однако при использовании возникли проблемы. После сохранения файла и повторноv его открытиb качество увеличенной картинки ухудшается. В чем причина?
здравствуйте, все отлично внедрил в свой файл. Но Закрыв все, и удалив файл ZoomPictures.xls Я открыл вновь свой файл, и увеличение перестало работать, просит найти путь к файлу ZoomPictures.xls. Подскажите пожалуйста как решить эту проблему, ведь когда я перенесу свой файл на другой комп, там априори не будет зуум файла.
Антонина, по ценам здесь написано. Если нет четкого техзадания, - я даже примерно цену не могу сказать.
ОГРОМНОЕ СПАСИБО. ЕЩЕ ВОПРОС, ВОЗМОЖНО НЕ ПО ТЕМЕ. СКОЛЬКО БУДЕТ СТОИТЬ НАПИСАНИЕ ПРОГРАММЫ ДЛЯ ФОРМИРОВАНИЯ ПРАЙС ЛИСТОВ ДЛЯ КЛИЕНТОВ.
Здравствуйте, Антонина. Этот макрос не увеличивает размер файла Excel, - всё дело в картинках. Чтобы файл с картинками весил немного, - используйте для вставки изображений эту программу: http://excelvba.ru/programmes/PastePictures со включенной опцией сжатия картинок (тогда картинки будут вставляться уменьшенными - это позволит достичь минимального размера файла Excel)
У меня вопрос, а можно, как-нибудь уменьшить размер всего файла xls, а то с этим макросом он начал весить очень много. Или может картинок очень много. В общем как решить задачу: формирование прайс-листа с изображениями, но небольшого по весу. Спасибо за любой ответ.