Properti Userform pada VBA tidak memiliki properti untuk menambah sebuah icon. Agar bisa menambahkan sebuah icon pada userform, bisa menggunakan Windows API.
Simpan script Windows API dibawah ini kedalam module
'Author : vba.co.id #If VBA7 And Win64 Then Private Declare PtrSafe Function SendMessage Lib "user32.dll" Alias "SendMessageA" _ (ByVal Hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Private Declare PtrSafe Function FindWindow Lib "user32.dll" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare PtrSafe Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" _ (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long #Else Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" _ (ByVal Hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" _ (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long #End IF Function BuatIcon(caption As String) Dim Hwnd As Long Dim iconPath As String Dim xIcon As Long Dim msg As Long iconPath = "C:\LokasiFile\NamaFile.ico" Hwnd = FindWindow("ThunderDframe", caption) xIcon = ExtractIcon(0, iconPath, 0) SendMessage Hwnd, WM_SETICON, 1, xIcon SendMessage Hwnd, WM_SETICON, 0, xIcon End Function
Setelah itu panggil pada Form yang ingin ditambagkan icon, dengan script
Private Sub UserForm_Initialize() BuatIcon Me.caption End Sub