Userform Tanpa Menampilkan Excel

Pasti banyak diantara penguna VBA disini yang sudah membuat sebuah Aplikasi dengan Userform yang terlihat bagus.

Namun ada kalanya kita mau Userform bisa berjalan tanpa terlihat Aplikasi Excel Terbuka.

Disini saya akan jelaskan beberapa langkah untuk menjalankan sebuah Userform tanpa harus menampilkan Aplikasi Excelnya.

Sepertinya yang sudah saya jelaskan pada materi sebelumnya, untuk menjalankan Macro VBA pada saat File dibuka, script VBA bisa disimpan dalam 3 tempat.

Bisa di Workbook_Open, Bisa di Auto_Open atau menggunakan OnLoad. Dimana ketiganya akan dijalankan secara berurutan jika ada.

Misalnya pada contoh kali ini disini kita gunakan Workbook_open, dimana Events ini yang paling pertama akan dijalankan.

Cara 1 : Application Visible

Cara pertama untuk menjalankan Userform tanpa menampilkan Aplikasi Excel, dimana aplikasi Excel dihilangkan seluruhnya yaitu dengan menggunakan fungsi Application.visible yang di set False.

Notasi Scriptnya bisa ditulis seperti dibawah ini:

Private Sub Workbook_Open()
Application.Visible = False
UserForm1.Show
Application.Visible = True
End Sub

Dengan cara ini, pada saat file dibuka aplikasi Excel tidak akan terlihat dan hanya menampilkan Userform saja.

Kelihatannya cara ini sudah terlihat bagus, tetapi cara ini mempunyai kekurangan dimana Semua File Excel yang tebuka akan tidak terlihat dan ikut disembunyikan.

Cara 2 : Windows Visible

Cara lain selain menggunakan Application Visible adalah dengan menggunakan Windows Visible. Cara kedua ini bisa menjadi solusi dari kekurangan cara pertama.

Pada cara kedua ini menggunakan fungsi dari Windows.visible agar windows yang disembunyikan hanya file ini saja.

Untuk notasi scriptnya bisa ditulis seperti dibawah ini.

Private Sub Workbook_Open()
Windows(ThisWorkbook.Name).Visible = False
UserForm1.Show
Windows(ThisWorkbook.Name).Visible = True
End Sub

Dengan cara ini, file lain yang terbuka akan tetap terlihat dan pada File ini aplikasi Excelnya tidak terlihat dan hanya menapilkan Userform saja.

Agar Userform bisa berinteraksi dengan File Excel Lain gunakan vbModeless, materi ini sudah saya bahas di : Menampilkan Userform

vba.co.id

Kelihatannya cara kedua ini juga sudah cukup bagus, tetapi cara ini juga memiliki kelemahan dimana jika file yang dibuka hanya 1 saja, maka akan menyisakan sebuah windows kosong pada Aplikasi Excel.

Cara Ke 3 : Gabungan Application dan Windows

Untuk cara ketiga ini adalah gabungan dari cara1 dan cara 2 dimana ini adalah gabungan yang sempurna. Disini kita memanfaatkan kelebihan dari cara 1 dan mengambil kelebihan dari cara 2, digabungkan dengan menggunakan fungsi IF.

Fungsi IF digunakan untuk mengecek jumlah File (Workbook) yang terbuka.

Jika jumlah workbook yang terbuka hanya 1 maka gunakan Application.Visible sedangkan jika jumlah workbook yang terbuka lebih dari 1 maka gunakan Windows.visible.

Notasi Scriptnya bisa ditulis seperti dibawah ini :

Private Sub Workbook_Open()
If Workbooks.Count > 1 Then
    Windows(ThisWorkbook.Name).Visible = False
Else
    Application.Visible = False
End If
UserForm1.Show vbModeless
End Sub

Itulah cara bagaimana menjalankan Userform VBA tanpa menampilkan Aplikasi Excelnya. Tidak lupa tambahkan vbModeless agar Userform bisa berinterasi dengan File lain yang sedang terbuka.

One thought on “Userform Tanpa Menampilkan Excel

  • Maaf kang mau tanya, saya sdah selesai membuat beberapa userform. Dan saling berhubungan, mulai dari login lanjut ke userform menu dan beberpa pilihan import file copy data dari file excel lain, dan juga print. Nah setelah di setting agar hanya userform saja yg muncul, pas d bagian import file tiba2 lembar excelnya yg berisi macro/vba nya muncul. Pdahal file excel yg di ambil datanya tidak. Dimana kah letak kesalahan saya ya kang mhon pencetahan nya. Terima kasih

Leave a Reply

Your email address will not be published. Required fields are marked *

Chat WhatsApp
WhatsApp