Как скопировать изображение с листа в пользовательскую форму в Excel?
В этой статье будут показаны методы копирования изображения из активного листа в пользовательскую форму в Excel.
Копирование изображения с листа в пользовательскую форму с копированием и вставкой
Скопируйте изображение с листа в пользовательскую форму с кодом VBA
Копирование изображения с листа в пользовательскую форму с копированием и вставкой
Чтобы скопировать изображение с листа в пользовательскую форму, сделайте следующее.
1. Перейдите на рабочий лист, содержащий изображение, которое нужно скопировать в пользовательскую форму, а затем нажмите другой + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
2. в Microsoft Visual Basic для приложений окно, пожалуйста, нажмите Вставить > Пользовательская форма. Смотрите скриншот:
3. Теперь вставьте Image Control в UserForm. Пожалуйста, нажмите на Фото товара в Ящик для инструментов диалоговом окне, затем нарисуйте элемент управления изображением в UserForm вручную. Смотрите скриншот:
4. Щелкните правой кнопкой мыши вставленный элемент управления Image и нажмите Объекты из контекстного меню, как показано на скриншоте ниже:
5. Затем вы увидите Объекты панель отображается в левой части Microsoft Visual Basic для приложений окно.
6. Вернитесь на рабочий лист и выберите изображение, которое вы хотите отобразить в пользовательской форме, а затем скопируйте изображение, нажав Ctrl + C ключи.
7. Попасть в Microsoft Visual Basic для приложений снова прокрутите вниз, чтобы щелкнуть Картина поле, а затем вставьте имя скопированного изображения в него на вкладке по алфавиту.
Теперь изображение на листе копируется в пользовательскую форму.
Скопируйте изображение с листа в пользовательскую форму с кодом VBA
В этом разделе будет показано обходное решение для копирования нескольких изображений с листа в пользовательскую форму, а затем отобразить соответствующее изображение в пользовательской форме, выбрав имя изображения в поле со списком. Пожалуйста, сделайте следующее.
1. Выполните шаги 1 и 2 выше, чтобы вставить пользовательскую форму в свой рабочий лист.
2. Затем вставьте Управление кадром в UserFrom, как показано ниже:
3. Щелкните вставленный фрейм правой кнопкой мыши и выберите Объекты из контекстного меню. Слева Объекты панель, пожалуйста, выберите Ложь из Видимый поле. Смотрите скриншот:
4. Вставьте несколько элементов управления изображением в рамку, как показано на скриншоте ниже.
5. Вернитесь на рабочий лист и выберите изображение, которое вы хотите отобразить в пользовательской форме, и нажмите Ctrl + C ключи для его копирования.
6. Попасть в Microsoft Visual Basic для приложений , щелкните правой кнопкой мыши первый элемент управления изображением и выберите Объекты из контекстного меню. См. Показанный снимок экрана.
7. в Объекты панель, нажмите на Картина поле, затем нажмите Ctrl + V клавиши, чтобы вставить изображение, скопированное на шаге 5, а затем выберите 1 - fmPictureSizeModeStrtch из Режим изображенияразмера раскрывающийся список, как показано на скриншоте ниже.
8. Повторите шаги 5–7, чтобы вставить другие изображения с листа в левые элементы управления изображением в пользовательской форме. И результат будет отображаться, как показано на скриншоте ниже.
9. Переместите Корзина в угол UserForm, затем вставьте новый Фото товара контроль и Поле со списком в пользовательскую форму. Смотрите скриншот:
10. Щелкните правой кнопкой мыши UserForm, А затем нажмите Просмотреть код. Затем скопируйте и вставьте ниже код VBA, чтобы заменить исходный код в окно кода.
Код VBA1: копирование изображения с листа в пользовательскую форму
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
Внимание: В коде Пользовательская форма1 это имя вставленной пользовательской формы, Image4 - это имя элемента управления изображением, внутри которого вы будете отображать изображения. И изображение представляет все элементы управления изображением, которые содержат изображения, скопированные с листа. Поле со списком1 - это имя поля со списком, которое вы вставили в пользовательскую форму. Пожалуйста, измените их на свои собственные.
11. Закрой Microsoft Visual Basic для приложений окно.
12. Вставьте кнопку Command в рабочий лист, нажав Застройщик > Вставить > Командная кнопка (элемент управления ActiveX).
13. Щелкните правой кнопкой мыши командную кнопку и выберите Просмотреть код из контекстного меню. Затем скопируйте и вставьте приведенный ниже код VBA в окно кода. И, наконец, закройте окно.
Код VBA2: копирование изображения с листа в пользовательскую форму
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
15. Нажмите Застройщик > Режим проектирования , чтобы выключить режим дизайна.
С этого момента при нажатии на командную кнопку пользовательская форма будет появляться. Вы можете отобразить изображение, выбрав имя изображения из поля со списком. Смотрите скриншот:
Если выбрать разные имена из поля со списком, в пользовательской форме отобразятся разные изображения.
Статьи по теме:
- Как центрировать изображение в ячейке Excel?
- Как проверить, есть ли в ячейке изображение в Excel?
- Как динамически вставлять изображение или изображение в ячейку на основе значения ячейки в Excel?
- Как увеличить изображение при нажатии на него в Excel?
Лучшие инструменты для офисной работы
Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!