Как скопировать изображение с листа на пользовательскую форму в Excel?
В этой статье рассказывается, как копировать изображение с активного листа на пользовательскую форму в Excel.
Копирование изображения с листа на пользовательскую форму с помощью копирования и вставки
Копирование изображения с листа на пользовательскую форму с помощью кода VBA
Копирование изображения с листа на пользовательскую форму с помощью копирования и вставки
Выполните следующие действия, чтобы скопировать изображение с листа на пользовательскую форму.
1. Перейдите на лист, содержащий изображение, которое нужно скопировать на пользовательскую форму, затем одновременно нажмите клавиши Alt+F11, чтобы открыть окно Microsoft Visual Basic для приложений.
2. В окне Microsoft Visual Basic для приложений выберите Вставка > Пользовательская форма. См. снимок экрана:

3. Теперь добавьте элемент управления «Изображение» на пользовательскую форму. Нажмите кнопку Изображение в диалоговом окне Панель элементов, а затем вручную нарисуйте элемент управления «Изображение» на форме Пользовательская форма. См. снимок экрана:

4. Щёлкните правой кнопкой мыши элемент управления «Вставить изображение» и выберите пункт Свойства в контекстном меню, как показано на снимке экрана ниже:

5. После этого слева в окне Свойства отобразится панель Microsoft Visual Basic для приложений.
6. Вернитесь на лист, выделите изображение, которое нужно отобразить на пользовательской форме, и скопируйте его, нажав Ctrl+C.
7. Снова откройте окно Microsoft Visual Basic для приложений, прокрутите список вниз, щёлкните поле Picture и вставьте туда имя скопированного изображения на вкладке «По алфавиту».
Теперь изображение с листа успешно скопировано на пользовательскую форму.

Раскройте магию Excel с помощью KUTOOLS AI
- Интеллектуальное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это доступно через простые команды.
- Пользовательские формулы: создавайте индивидуальные формулы для оптимизации рабочих процессов.
- Программирование на VBA: Пишите и внедряйте код VBA легко и без усилий.
- Анализ формул: Легко разбирайтесь даже в самых сложных формулах.
- Перевод текста: Ломайте языковые барьеры прямо в ваших таблицах.
Копирование изображения с листа на пользовательскую форму с помощью кода VBA
В этом разделе описан обходной способ копирования нескольких изображений с листа на пользовательскую форму и отображения нужного изображения на форме посредством выбора его имени из выпадающего списка. Выполните следующие действия.
1. Выполните шаги 1 и 2, описанные выше, чтобы разместить пользовательскую форму на листе.
2. Затем добавьте элемент управления Рамка на пользовательскую форму, как показано на снимке экрана ниже:

3. Щёлкните правой кнопкой мыши вставленную рамку и выберите пункт Свойства в контекстном меню. На панели Свойства слева установите значение False в поле Visible. См. снимок экрана:

4. Вставьте несколько элементов управления «Изображение» в рамку, как показано на снимке экрана ниже.

5. Вернитесь на лист, выделите изображение, которое нужно отобразить на пользовательской форме, и скопируйте его, нажав клавиши Ctrl+C.
6. Откройте окно Microsoft Visual Basic для приложений, щёлкните правой кнопкой мыши первый элемент управления «Изображение» и выберите пункт Свойства в контекстном меню. См. снимок экрана:

7. В панели Свойства щёлкните поле Picture, затем нажмите клавиши Ctrl+V, чтобы вставить изображение, скопированное на шаге 5, и выберите значение 1 – fmPictureSizeModeStretch в раскрывающемся списке поля PictureSizeMode, как показано на снимке экрана ниже.

8. Повторите шаги 5–7, чтобы вставить остальные изображения с листа в элементы управления «Изображение», расположенные слева на пользовательской форме. Результат будет выглядеть так, как показано на снимке экрана ниже.

9. Переместите элемент управления Рамка в угол пользовательской формы, затем добавьте на неё новые элементы управления: Изображение и Поле со списком. См. снимок экрана:

10. Щёлкните правой кнопкой мыши форму Пользовательская форма и выберите пункт Просмотр кода. Затем скопируйте и вставьте приведённый ниже код VBA в окно кода, заменив исходный.

Код VBA 1: Копирование изображения с листа на пользовательскую форму
Private Sub ComboBox1_Change()
UserForm1.Controls.Item("Image4").Picture = UserForm1.Controls.Item(UserForm1.ComboBox1.Value).Picture
End Sub
Private Sub UserForm_Initialize()
Dim xImg As Control
On Error Resume Next
For Each xImg In UserForm1.Controls
If TypeName(xImg) = "Image" And xImg.Name <> "Image4" Then
UserForm1.ComboBox1.AddItem xImg.Name
End If
Next
End Sub Примечание: в коде UserForm1 — это имя вставленной пользовательской формы, Image4 — имя элемента управления «Изображение», в котором будут отображаться изображения. Image представляет все элементы управления «Изображение», содержащие скопированные с листа изображения. ComboBox1 — имя поля со списком, вставленного на пользовательскую форму. Замените их на свои собственные.
11. Закройте окно Microsoft Visual Basic для приложений.
12. Вставьте кнопку команды на лист, выбрав пункт Разработчик > Вставить > Кнопка (элемент управления ActiveX).
13. Щёлкните правой кнопкой мыши кнопку команды и выберите пункт Просмотр кода в контекстном меню. Затем скопируйте и вставьте приведённый ниже код VBA в окно кода. Наконец, закройте это окно.

Код VBA 2: Копирование изображения с листа на пользовательскую форму
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub 15. Нажмите Разработчик > Режим конструктора, чтобы отключить режим конструктора.
Теперь при нажатии кнопки команды откроется пользовательская форма. Вы сможете отобразить изображение, выбрав его название из выпадающего списка. См. снимок экрана:

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

Связанные статьи:
- Как центрировать изображение по ячейке в Excel?
- Как проверить, содержит ли ячейка изображение в Excel?
- Как динамически отображать изображение в ячейке Excel на основе её значения?
- Как увеличить изображение в Excel при клике по нему?
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек