MlatenMania.com - User Form adalah jendela atau kotak dialog yang merupakan bagian dari antarmuka pengguna aplikasi Ms. Excel. Dalam VBA Excel User Form memiliki berbagai macam fitur yang dapat digunakan untuk meng-input data dengan berbagai macam cara, misalnya seperti mengetik langsung atau memilih suatu data tertentu.
Membuat Userform Di Excel
Untuk membuat sebuah Userform kita harus masuk/membuka lembar kerja Visual Basic pada aplikasi Ms. Excel kita, caranya adalah:
1. Melalui Menu Developer
Untuk membuka lembar kerja Visual Basic Excel kita bisa menggunakan Menu Developer, dengan cara klik pada Menu Developer, kemudian klik lagi pada Visual Basic:
Jika pada lembar kerja Ms. Excel belum ada Menu Developer, bisa membaca artikel Saya seblumnya yang berjudul Cara Untuk Menampikan Tab Menu Developer Di Ms. Excel
2. Menggunakan Keyboard Shortcut
Cara yang kedua adalah dengan menggunakan keyboard shorcut, yaitu kombinasi antara tombol Alt+F11, tekan kedua tombol tersebut secara bersamaan.
Catatan:
Biasa pada Laptop kita tidak bisa mengakses keyboard shorcut tersebut, dan kita harus menyetingnya terlebih dahulu melalui BIOS Laptop kita. Atau biasanya bisa juga dengan kombinasi tombol fn+Alt+F11.
Setelah terbuka lembar kerja Visual Basic, sekarang klik pada Menu Insert, kemudian pilih/klik pada Userform:
Contoh Userform
Menghilangkan Tombol Close Bawaan Userform
Bisa Anda lihat pada gambar di atas, pada pojok kanan atas dari Userform terdapat tmbol close yang bergambar "X", dimana tombol tersebut berfungsi untuk menutup Userform pada saat Userform tersebut dijalankan. Dan tombol close tersebut merupakan bawaan dari Userform yang ada/muncul setiap kali kita membuat sebuah Userform.
Untuk menghilangkan tombol close bawaan Userform tersebut, kita bisa menggunakan script/code VBA. Namun, sebelumnya kita harus membuat sebuah tombol yang nantinya kita gunakan sebagai tombol close agar nantinya kita bisa menutup Userform tersebut. Berikut penjelasan lengkapnya:
1. Membuat Tombol Close
Seperti yang sudah Saya jelaskan di atas, sebelum kita menghilangkan tombol close bawaan Userform kita harus membuat tombol close yang nantinya kita gunakan untuk menutup Userform-nya. Dan untuk membuat tombol close kita bisa klik pada ToolsBox kemudian klik pada CommandButton kemudian arahkan mouse ke Userform untuk membuat sebuah tombol:
Dan hasil akhirnya seperti pada gambar contoh di bawah ini:
Untuk tulisan/caption-nya disesuaikan dengan kebutuhan/keinginan masing-masing.
Selanjutnya menyisipkan script/code Macro di bawah ini ke dalam tombol close buatan kita tadi:
Private Sub CommandButton1_Click()
Unload Me
End Sub
Klik kanan pada tombol close tadi, kemudian pilih view code dan paste script/code Makro di atas
2. Menyisipkan Script/Code Makro Untuk menghilangkan tombol close bawaan userform
- Sisipkan sebuah Module terelebih dahulu, dengan cara klik pada Menu Insert kemudian pilih/klik pada Module:
- Copy dan Paste Script/code Macro di bawah ini ke dalam Module tersebut:
Option ExplicitPrivate Const GWL_STYLE = -16Private Const WS_CAPTION = &HC00000Private Const WS_SYSMENU = &H80000Private Const SC_CLOSE = &HF060#If VBA7 ThenPrivate Declare PtrSafe Function GetWindowLong _Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, _ByVal nIndex As Long) As LongPrivate Declare PtrSafe Function SetWindowLong _Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, _ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPrivate Declare PtrSafe Function DrawMenuBar _Lib "user32" (ByVal hWnd As Long) As LongPrivate Declare PtrSafe Function FindWindowA _Lib "user32" (ByVal lpClassName As String, _ByVal lpWindowName As String) As LongPrivate Declare PtrSafe Function DeleteMenu _Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, _ByVal wFlags As Long) As LongPrivate Declare PtrSafe Function GetSystemMenu _Lib "user32" (ByVal hWnd As Long, ByVal bRevert As Long) As Long#ElsePrivate Declare Function GetWindowLong _Lib "user32" Alias "GetWindowLongA" ( _ByVal hWnd As Long, ByVal nIndex As Long) As LongPrivate Declare Function SetWindowLong _Lib "user32" Alias "SetWindowLongA" ( _ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPrivate Declare Function DrawMenuBar _Lib "user32" (ByVal hWnd As Long) As LongPrivate Declare Function FindWindowA _Lib "user32" (ByVal lpClassName As String, _ByVal lpWindowName As String) As LongPrivate Declare Function DeleteMenu _Lib "user32" (ByVal hMenu As Long, _ByVal nPosition As Long, ByVal wFlags As Long) As LongPublic Declare Function GetSystemMenu _Lib "user32" (ByVal hWnd As Long, ByVal bRevert As Long) As Long#End IfPublic Sub SystemButtonSettings(frm As Object, show As Boolean)Dim windowStyle As LongDim windowHandle As LongwindowHandle = FindWindowA(vbNullString, frm.Caption)windowStyle = GetWindowLong(windowHandle, GWL_STYLE)If show = False ThenSetWindowLong windowHandle, GWL_STYLE, (windowStyle And Not WS_SYSMENU)ElseSetWindowLong windowHandle, GWL_STYLE, (windowStyle + WS_SYSMENU)End IfDrawMenuBar (windowHandle)End SubPublic Sub CloseButtonSettings(frm As Object, show As Boolean)Dim windowHandle As LongDim menuHandle As LongwindowHandle = FindWindowA(vbNullString, frm.Caption)If show = True ThenmenuHandle = GetSystemMenu(windowHandle, 1)ElsemenuHandle = GetSystemMenu(windowHandle, 0)DeleteMenu menuHandle, SC_CLOSE, 0&End IfEnd Sub
- Copy dan Paste Script/code Makro di bawah ini ke dalam Userform:
Private Sub UserForm_Initialize()Call SystemButtonSettings(Me, False)End Sub
Hasil akhirnya akan seperti pada gambar di bawah ini:
Sekarang tombol Close bawaan Userform sudah tidak ada lagi, dan untuk menutup Userform kita bisa menggunakan tombol close yang sudah kita buat sebelumnya.
Mungkin hanya itu saja artikel mengenai Belajar VBA Excel : Menghilangkan Tombol Close Bawaan Userform, mudah-mudahan bisa bermanfaat untuk semuanya. Terimakasih
Komentar0
Tinggalkan komentar Anda disini: