Userform merupakan sebuah kotak jendela yang dapat digunakan sebagai tampilan aplikasi pengguna, sehingga dengan userform memungkinkan untuk mendesain sebuah tampilan aplikasi sesuai dengan kreasi dan keinginan sendiri. Tak seperti form yang ada pada Visual Basic Studio atau Visual basic 06, userform yang melekat pada excel tidak memiliki tombol Minimize dan Maximize, utnuk membuat userform mempunyai tombol Minimize dan Maximize diperlukan kode macro yang telah dikawinkan dengan API. Dan berikut ini saya akan bagikan kepada anda beberapa pengaturan userform yang wajib anda ketahui


Untuk menambahkan atau membuat userform cukup buka excel, masuk kejendela VBE atau tekan Alt+F11, pilih Insert Userform, masuk ke kode area Userfirm , silahkan anda pilih untuk mengatur tampilan userform sesuai yang anda sukai

1 Userform dengan tampilan fullscreen mengikuti ukuran kayar
Jika anda ingin tampilan userform tampil fullscreen sesuai ukuran layar komputer anda, maka tambahkan kode macro dibawah ini

Private Sub UserForm_Activate()
With Me
.Height = Application.Height
.Top = Application.Top
.Width = Application.Width
.Left = Application.Left
End With
End Sub

2 Userform dengan tampilan flate
Pengaturan userform model kedua adalah tampilan Flate, ya sesuai dengan namnya maka tampilan userform akan dibuat menjadi flate, dengan demikian pada userform tidak akan ada tombol sama sekali termsuk tombol CLos "X" juga akan hilang, silahkan ketik kode macro dibawah ini untuk menjadikan userform menjadi Flate

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetWindowPos Lib "user32.dll" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Declare Function GetActiveWindow Lib "user32.dll" () As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function BringWindowToTop Lib "user32.dll" (ByVal hWnd As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long
Const GWL_STYLE = -16
Const WS_CAPTION = &HC00000
Const WS_SYSMENU = &H80000
Private Const GWL_EXSTYLE = (-20)
Private Const WS_EX_LAYERED = &H80000
Private Const LWA_ALPHA = &H2
Dim hWnd As Long

Private Sub UserForm_Initialize()
Dim lngWindow As Long, lFrmHdl As Long
lFrmHdl = FindWindow(vbNullString, Me.Caption)
lngWindow = GetWindowLong(lFrmHdl, GWL_STYLE)
lngWindow = lngWindow And (Not WS_CAPTION)
Call SetWindowLong(lFrmHdl, GWL_STYLE, lngWindow)
Call DrawMenuBar(lFrmHdl)
End Sub

Private Sub UserForm_Activate()
Dim ufCaption As String
ufCaption = UserForm1.Caption
hWnd = FindWindow("ThunderDFrame", ufCaption)
End Sub

3 Userform dengan tampilan minimize dan maximize
Seperti yang telah saya sebutkan diatas, userform dalam excel tidak mempunyai tombol minimize dan maximize, padahal kedua tombol ini menurut saya sangat penting, dengan kodde macro dibawah ini maka tampilan userform excel anda akan memupnyai kedua tombol tersebut dengan demikian tampilan userform bisa disembunyikan atau ditampilkan secara penuh sesuai ukuran layar komputer anda

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Const GWL_STYLE As Long = -16
Private Const GWL_EXSTYLE As Long = -20
Private Const WS_MINIMIZEBOX As Long = &H20000
Private Const WS_MAXIMIZEBOX As Long = &H10000
Private Const WS_EX_APPWINDOW As Long = &H40000
Private Const SW_SHOW As Long = 5
Private Const WS_VISIBLE As Long = &H10000000
Private Const WS_POPUP As Long = &H80000000&

Private Sub UserForm_Activate()
Dim lHwnd As Long, lForm_1 As Long, lForm_2 As Long
If Val(Application.Version) < 9 Then lHwnd = FindWindow("ThunderXFrame", Me.Caption) Else lHwnd = FindWindow("ThunderDFrame", Me.Caption) End If lForm_1 = GetWindowLong(lHwnd, GWL_STYLE) lForm_2 = lForm_1 Or WS_MINIMIZEBOX Or WS_MAXIMIZEBOX lForm_2 = lForm_2 And Not WS_VISIBLE And Not WS_POPUP SetWindowLong lHwnd, GWL_STYLE, lForm_2 lForm_1 = GetWindowLong(lHwnd, GWL_EXSTYLE) lForm_2 = lForm_1 Or WS_EX_APPWINDOW SetWindowLong lHwnd, GWL_EXSTYLE, lForm_2 ShowWindow lHwnd, SW_SHOW End Sub


Bukan hanya menambahkan tombol Minimize dan maximize tapi kode macro ini mampu menampilkan icon pada taskbar, sehingga memudahkan anda dalam berinteraksi langsung dengan form

3 Userform dengan tampilan tanpa tombol close "X"
Yang terakhir tampilan userform tanpa tombol Close, hal ini bisa anda manfaatkan ketika membuat menu log in agar pengguna tidak bisa menutup form sebelum log in dengan akun yang benar

Private Declare Function FindWindow _
Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong _
Lib "user32" Alias "GetWindowLongA" _
(ByVal hwnd As Long, _
ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong _
Lib "user32" Alias "SetWindowLongA" _
(ByVal hwnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Const WS_SYSMENU = &H80000
Const GWL_STYLE = (-16)
Private Sub UserForm_Activate()
Dim hwnd, lStyle As Long
hwnd = FindWindow("ThunderDFrame", Me.Caption)
lStyle = GetWindowLong(hwnd, GWL_STYLE)
SetWindowLong hwnd, GWL_STYLE, lStyle And Not WS_SYSMENU
End Sub
Bagi yang belum mengetaui secara rinci cara menambahkan userform dalam excel, silahkan lihat artikel saya sebelumnya Cara Menampilkan, Menyembunyikan dan Menutup UserForm atau Cara Menampilkan, Menyembunyikan dan Menutup UserForm

Demikianlah cara Pengaturan Userform , semoga artikel ini bisa membantu anda, saya Wasis Zain admin Asis10.com mengucapkan banyak terimakasih.
No comments