Menghilangkan Tombol Close (X) Pada Userform VBA Excel (Versi2)

 Aplikasi Excelku. Selamat datang kembali di blog sederhana Saya ini, terimakasih Saya ucapkan sebanyak-banyaknya kepada Anda semuanya yang sudah mengunjungi blog sederhana Saya ini, pada kesempatan kali ini kembali Saya akan memberikan sebuah tutorial mengenai VBA Excel.

Menghilangkan Tombol Close (X) Pada Userform VBA Excel (Versi2)

Sebelumnya juga Saya pernah membuat artikel dengan judul Menghilangkan Tombol Close (X) Pada Userform VBA Excel, dan pada kesempatan ini melalui artikel ini Saya akan kembali berbagi tutorial yang sama, namun ada perbedaan dengan artikel/postingan Saya yang sebelumnya, dan menurut Saya tutorial ini lebih sederhana dan lebih mudah untuk dilakukan.

Menghilangkan Tombol Close (X) Pada Userform VBA Excel (Versi2)

Berikut ini cara atau pun langkah-langkahnya :

A. Membuat/Menyisipkan Userform

1. Pada lembar kerja Aplikasi Excel kita klik pada tab menu Developer, kemudian klik lagi pada Visual Basic, dan jika pada lembar kerja Aplikasi Excel Sobat Blogger tidak ada silahkan baca artikel/postingan Saya sebelumnya tentang Bagaimana Cara Untuk Memunculkan Tab Developer Di Excel. Atau bisa juga dengan cara menekan kombinasi tombol ALT+F11 pada keyboard :

Menghilangkan Tombol Close (X) Pada Userform VBA Excel (Versi2)
 
2. Didalam halaman Visual Basic Excel kita buat sebuah sebuah Userform, dengan cara klik insert kemudian klik lagi pada Userform :

Menghilangkan Tombol Close (X) Pada Userform VBA Excel (Versi2)

Dan berikut ini contoh Userform yang Saya buat tadi :

Menghilangkan Tombol Close (X) Pada Userform VBA Excel (Versi2)
 
Untuk proses pembuatan Userform selesai.
 

B. Membuat/Menyisipkan CommandButton

 
 CommandButton ini akan kita fungsikan sebagai tombol untuk menutup (close) Userform yang telah kita buat tadi atau sebagai pengganti tombol Close bawaan dari Userform yang nantinya akan kita hilangkan (Hidden). Untuk menyisipkan CommandButton berikut ini langkah-langkahnya : 

1. Masih didalam lembar kerja Visual Basic Ms. Excel, kita klik pada Toolbox yang muncul katika kita sedang membuka Userform, kemudian klik lagi pada tombol (pilihan) CommandButton :
 
Menghilangkan Tombol Close (X) Pada Userform VBA Excel (Versi2)

 

2. Kemudian kita arahkan ke area Userform yang sudah kita buat tadi, silahkan atur panjang dan lebar (besar/kecilnya) CommmandButton yang akan kita buat sesuai dengan keinginan masing-masing :

Dan berikut ini contohnya :

Menghilangkan Tombol Close (X) Pada Userform VBA Excel (Versi2)

Sesuai dengan gambar di atas, Saya memberi Caption "CLOSE" pada CommandButton yang sudah Saya sisipkan tadi.

Untuk proses menyisipkan CommandButton selesai.

C. Menyisipkan Kode/Script Macro 

 
Langkah selanjutnya adalah menyisipkan kode/script Macro agar nantinya Userform dan CommandButton yang sudah kita buat berjalan semestinya. Dan berikut ini langkah-langkahnya :

1. Menyisipkan Module
 
Klik pada menu Insert kemudian klik lagi pada Module :

Menghilangkan Tombol Close (X) Pada Userform VBA Excel (Versi2)

Selanjutnya copy dan paste kode/script Macro di bawah ini kedalam Module yang sudah kita sisipkan tadi :

Option Explicit
'https://aplikasiexcelku.blogspot.com
Private Const GWL_STYLE = -16
Private Const WS_CAPTION = &HC00000
Private Const WS_SYSMENU = &H80000
Private Const SC_CLOSE = &HF060

#If VBA7 Then

    Private Declare PtrSafe Function GetWindowLong _
        Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, _
        ByVal nIndex As Long) As Long
    Private Declare PtrSafe Function SetWindowLong _
        Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, _
        ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Private Declare PtrSafe Function DrawMenuBar _
        Lib "user32" (ByVal hWnd As Long) As Long
    Private Declare PtrSafe Function FindWindowA _
        Lib "user32" (ByVal lpClassName As String, _
        ByVal lpWindowName As String) As Long
    Private Declare PtrSafe Function DeleteMenu _
        Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, _
        ByVal wFlags As Long) As Long
    Private Declare PtrSafe Function GetSystemMenu _
        Lib "user32" (ByVal hWnd As Long, ByVal bRevert As Long) As Long
        
#Else

    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 DrawMenuBar _
        Lib "user32" (ByVal hWnd As Long) As Long
    Private Declare Function FindWindowA _
        Lib "user32" (ByVal lpClassName As String, _
        ByVal lpWindowName As String) As Long
    Private Declare Function DeleteMenu _
        Lib "user32" (ByVal hMenu As Long, _
        ByVal nPosition As Long, ByVal wFlags As Long) As Long
    Public Declare Function GetSystemMenu _
        Lib "user32" (ByVal hWnd As Long, ByVal bRevert As Long) As Long
        
#End If

Public Sub SystemButtonSettings(frm As Object, show As Boolean)
    Dim windowStyle As Long
    Dim windowHandle As Long

    windowHandle = FindWindowA(vbNullString, frm.Caption)
    windowStyle = GetWindowLong(windowHandle, GWL_STYLE)

    If show = False Then
        SetWindowLong windowHandle, GWL_STYLE, (windowStyle And Not WS_SYSMENU)
    Else

        SetWindowLong windowHandle, GWL_STYLE, (windowStyle + WS_SYSMENU)
    End If

    DrawMenuBar (windowHandle)

End Sub

Public Sub CloseButtonSettings(frm As Object, show As Boolean)

    Dim windowHandle As Long
    Dim menuHandle As Long
    windowHandle = FindWindowA(vbNullString, frm.Caption)
    If show = True Then
        menuHandle = GetSystemMenu(windowHandle, 1)
    Else
        menuHandle = GetSystemMenu(windowHandle, 0)
        DeleteMenu menuHandle, SC_CLOSE, 0&
    End If
End Sub
 Jika sudah, silahkan tutup terlebih dahulu module tadi, dan kembali pada tampilan Userform.
 
2. Meyisipkan Kode/Script Macro Ke Userform
 
 Klik dua kali pada Userform yang sudah kita buat tadi atau klik kanan pada Userform dan pilih View Code, kemudian silahkan copy dan paste kode/script Macro ini kedalamnya :

Private Sub UserForm_Initialize()
'https://aplikasiexcelku.blogspot.com
Call SystemButtonSettings(Me, False)
End Sub

Menghilangkan Tombol Close (X) Pada Userform VBA Excel (Versi2)

Jika sudah, tutup.

3. Menyisipkan Kode/Script Macro Kedalam CommandButton
 
Klik dua kali atau klik kanan dan plih View Code pada CommandButton yang sudah kita buat/sisipkan tadi, kemudian copy dan paste kode/script Macro di bawah ini kedalamnya :

Private Sub CommandButton1_Click()
'https://aplikasiexcelku.blogspot.com
If MsgBox("Apakah Anda Yakin Ingin Keluar??!!", vbInformation + vbYesNo, ".:Konfirmasi:.") = vbYes Then
    Unload Me
    End If
End Sub


Menghilangkan Tombol Close (X) Pada Userform VBA Excel (Versi2)

Jika sudah, tutup.

Untuk melihat hasilnya silahkan Sobat Blogger klik pada tombol Run atau juga bisa menekan tombol F5 pada keyboard :

Menghilangkan Tombol Close (X) Pada Userform VBA Excel (Versi2)

Contoh hasilnya seperti pada gambar animasi di bawah ini :

Menghilangkan Tombol Close (X) Pada Userform VBA Excel (Versi2)


Seperti yang ditampilkan pada gambar animasi di atas, pada Userform sudah tidak ada lagi tombol CLOSE bawaannya, dan untuk menutup Userform bisa menggunakan CommandButton. Bagi Sobat Blogger yang ingin mengunduh contoh filenya silahkan unduh melalui link di bawah ini :

Download Sample File Hidden CLose Button Userform VBA Excel - Mediafire

Download Sample File Hidden CLose Button Userform VBA Excel - Box

Demikian artikel mengenai Menghilangkan Tombol Close (X) Pada Userform VBA Excel (Versi2), mudah-mudahan apa yang sudah Saya sampaikan pada kesempatan kali ini bisa bermanfaat untuk kita semuanya. Sekian, terimakasih, dan selamat mencoba.

2 comments for "Menghilangkan Tombol Close (X) Pada Userform VBA Excel (Versi2)"

Tinggalkan komentar Anda pada kolom komentar di bawah ini :