Note: The other languages of the website are Google-translated. Back to English

Как скопировать изображение с листа в пользовательскую форму в 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 из PictureSizeMode раскрывающийся список, как показано на скриншоте ниже.

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

Note: In the code, UserForm1 is the name of the inserted UserForm, Image4 is the name of the Image control you will display pictures inside. And Image represents all Image controls which contain the pictures you copied from the worksheet. ComboBox1 is the combobox name you have inserted into the userform. Please change them to your own.

11. Close the Microsoft Visual Basic for Applications window.

12. Insert a Command button into the worksheet by clicking Developer > Insert > Command Button (ActiveX Control).

13. Right-click the command button and select View Code from the Context menu. And then copy and paste the below VBA code into the Code window. And finally close the window.

VBA code2: Copy image from worksheet to Userform

Private Sub CommandButton1_Click()
UserForm1.Show
End Sub

15. Click Developer > Design Mode to turn off the Design Mode.

From now on, when clicking the command button, the UserForm will pop up. You can display picture by selecting the image name from the combo box. See screenshot:

Select different names from the combo box will display different pictures in the UserForm.


Related Articles:


The Best Office Productivity Tools

Kutools for Excel Solves Most of Your Problems, and Increases Your Productivity by 80%

  • Reuse: Quickly insert complex formulas, charts and anything that you have used before; Encrypt Cells with password; Create Mailing List and send emails...
  • Super Formula Bar (easily edit multiple lines of text and formula); Reading Layout (easily read and edit large numbers of cells); Paste to Filtered Range...
  • Merge Cells/Rows/Columns without losing Data; Split Cells Content; Combine Duplicate Rows/Columns... Prevent Duplicate Cells; Compare Ranges...
  • Select Duplicate or Unique Rows; Select Blank Rows (all cells are empty); Super Find and Fuzzy Find in Many Workbooks; Random Select...
  • Exact Copy Multiple Cells without changing formula reference; Auto Create References to Multiple Sheets; Insert Bullets, Check Boxes and more...
  • Extract Text, Add Text, Remove by Position, Remove Space; Create and Print Paging Subtotals; Convert Between Cells Content and Comments...
  • Super Filter (save and apply filter schemes to other sheets); Advanced Sort by month/week/day, frequency and more; Special Filter by bold, italic...
  • Combine Workbooks and WorkSheets; Merge Tables based on key columns; Split Data into Multiple Sheets; Batch Convert xls, xlsx and PDF...
  • More than 300 powerful features. Supports Office / Excel 2007-2021 and 365. Supports all languages. Easy deploying in your enterprise or organization. Full features 30-day free trial. 60-day money back guarantee.
kte tab 201905

Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier

  • Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
  • Open and create multiple documents in new tabs of the same window, rather than in new windows.
  • Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
officetab bottom
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I'm having difficulties, can someone explain the code for me?
There are no comments posted here yet
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations

Follow Us

Copyright © 2009 - www.extendoffice.com. | All rights reserved. Powered by ExtendOffice. | Sitemap
Microsoft and the Office logo are trademarks or registered trademarks of Microsoft Corporation in the United States and/or other countries.
Protected by Sectigo SSL