Skip to main content

How to copy image from worksheet to userform in Excel?

Author: Siluvia Last Modified: 2020-08-20

This article will show you methods of copying an image from the active worksheet to Userform in Excel.

Copy image from worksheet to Userform with copying and pasting
Copy image from worksheet to Userform with VBA code

Copy image from worksheet to Userform with copying and pasting

Please do as follows to copy an image from worksheet to Userform.

1. Shift to the worksheet contains the image you need to copy to Userform, and then press the Alt + F11 keys together to open the Microsoft Visual Basic for Applications window.

2. In the Microsoft Visual Basic for Applications window, please click Insert > Userform. See screenshot:

3. Now please insert an Image Control into the UserForm. Please click the Image button in the Toolbox dialog box, then draw an Image Control into the UserForm manually. See screenshot:

4. Right-click the inserted Image control, and click Properties from the context menu as below screenshot shown:

5. Then you can see a Properties pane displays on the left side of the Microsoft Visual Basic for Applications window.

6. Go back to the worksheet and select the picture you want to display in the Userform, and then copy the picture by pressing Ctrl + C keys.

7. Get into the Microsoft Visual Basic for Applications again, scroll down to click the Picture field and then paste the copied picture name into it under the Alphabetic tab.

Now the picture in the worksheet is copied into the Userform.

Copy image from worksheet to Userform with VBA code

This section will show you a workaround to copy multiple pictures from worksheet to a Userform, and then display the corresponding picture in the Userform by selecting the picture name from a Combo box. Please do as follows.

1. Please follow the above step 1 and 2 o insert a Userform in your worksheet.

2. Then insert a Frame Control into the UserFrom as below screenshot shown:

3. Right-click the inserted Frame, and select Properties from the context menu. In the left Properties pane, please select False from the Visible field. See screenshot:

4. Insert multiple Image control into the Frame as below screenshot shown.

5. Go back to the worksheet and select the picture you want to display in the Userform, and press the Ctrl + C keys to copy it.

6. Get into the Microsoft Visual Basic for Applications window, right-click the first Image control, and select Properties from the right-clicking menu. See screenshot shown.

7. In the Properties pane, please click on the Picture field, then press the Ctrl + V keys to paste the picture you copied in step 5, and then select 1 – fmPictureSizeModeStrtch from the PictureSizeMode drop-down list as below screenshot shown.

8. Repeat the step 5 - 7 to paste other pictures from worksheet to the left Image controls in the UserForm. And the result will display as below screenshot shown.

9. Move the Frame control to the corner of the UserForm, then insert a new Image control and a Combo Box control into the UserForm. See screenshot:

10. Right-click the UserForm, and then click View Code. Then copy and paste below VBA code to replace the original one into the Code window.

VBA code1: Copy image from worksheet to Userform

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
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()
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:

Best Office Productivity Tools

🤖 Kutools AI Aide: Revolutionize data analysis based on: Intelligent Execution   |  Generate Code  |  Create Custom Formulas  |  Analyze Data and Generate Charts  |  Invoke Kutools Functions
Popular Features: Find, Highlight or Identify Duplicates   |  Delete Blank Rows   |  Combine Columns or Cells without Losing Data   |   Round without Formula ...
Super Lookup: Multiple Criteria VLookup    Multiple Value VLookup  |   VLookup Across Multiple Sheets   |   Fuzzy Lookup ....
Advanced Drop-down List: Quickly Create Drop Down List   |  Dependent Drop Down List   |  Multi-select Drop Down List ....
Column Manager: Add a Specific Number of Columns  |  Move Columns  |  Toggle Visibility Status of Hidden Columns  |  Compare Ranges & Columns ...
Featured Features: Grid Focus   |  Design View   |   Big Formula Bar    Workbook & Sheet Manager   |  Resource Library (Auto Text)   |  Date Picker   |  Combine Worksheets   |  Encrypt/Decrypt Cells    Send Emails by List   |  Super Filter   |   Special Filter (filter bold/italic/strikethrough...) ...
Top 15 Toolsets12 Text Tools (Add Text, Remove Characters, ...)   |   50+ Chart Types (Gantt Chart, ...)   |   40+ Practical Formulas (Calculate age based on birthday, ...)   |   19 Insertion Tools (Insert QR Code, Insert Picture from Path, ...)   |   12 Conversion Tools (Numbers to Words, Currency Conversion, ...)   |   7 Merge & Split Tools (Advanced Combine Rows, Split Cells, ...)   |   ... and more

Supercharge Your Excel Skills with Kutools for Excel, and Experience Efficiency Like Never Before. Kutools for Excel Offers Over 300 Advanced Features to Boost Productivity and Save Time.  Click Here to Get The Feature You Need The Most...


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!
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