Membuat Events

Seperti yang pernah dibahas pada Materi Worksheets, Events adalah peristiwa yang terjadi saat pengguna atau sistem melakukan tindakan tertentu terhadap objek, seperti mengklik tombol, memasukkan data ke dalam sel, atau menutup Form.

Setiap objek VBA memiliki serangkaian Events yang dapat dipicu, tergantung pada jenis objeknya. Misalnya, Userform dapat memiliki Events seperti Click, Change, Load, dan Unload, sedangkan objek Sheet dalam Excel dapat memiliki Events seperti Change, SelectionChange, dan BeforeDoubleClick, dan sebagainya.

Dengan menggunakan Events, kamu dapat membuat kode yang merespons secara otomatis terhadap tindakan yang dilakukan pengguna atau sistem terhadap objek tersebut. Kamu dapat menetapkan prosedur atau fungsi VBA tertentu ke Events tertentu, sehingga ketika Events tersebut terpicu, kode yang relevan akan dieksekusi.

Kapan Pembuatan Events diperlukan

Proses pembuatan Events ini biasanya terjadi ketika kita mau menentukan sebuah Events terhadap Object yang dibuat saat runtime sehingga tidak mungkin kita menentukan dan memilih Events nya dari list Events karena Objectnya sendiri belum tercipta.

Atau pembuatan Events ini juga terjadi ketika menggunakan banyak control yang sama dengan Events yang sama dan kita ingin Events nya dibuat sekali saja. Sehingga satu events ini bisa gunkan oleh beberapa object.

WithEvents

Untuk membuat sebuah events, pada Class Module kita bisa menggunakan fungsi WithEvents.

WithEvents digunakan untuk membuat koneksi antara objek dan objek event-handler, sehingga memungkinkan kita untuk menangani Events yang dihasilkan oleh objek tersebut.

Berikut adalah tutorial singkat tentang cara menggunakan WithEvents dalam VBA:

  • 1. Mengimpor Objek yang Diperlukan
  • Langkah pertama adalah mengimpor objek yang diperlukan kedalam Class. Misalnya, jika kita ingin menggunakan WithEvents dengan objek UserForm, pastikan kamu mengimpor objek Userform terlebih dahulu.
Public WithEvents myForm As UserForm1
  • 2. Deklarasikan Event Handler
  • Deklarasikan event handler yang akan menangani event yang dihasilkan oleh objek. Event handler harus memiliki nama yang sesuai dengan event yang ingin digunakan.

Misalnya pada contoh dibawah ini membuat Events Click

Private Sub myForm_Click()
    ' Kode untuk menangani peristiwa klik pada formulir.
End Sub
  • 3. Inisialisasi Objek
  • Inisialisasi objek dengan menggunakan New dan mengatur objek tersebut ke variabel yang dideklarasikan dengan WithEvents.
Set myForm = New NamaClass

Multiple Object

Jika menggunakan banyak object sekaligus dan ingin menggunakan events yang sama, setiap object bisa disimpan dalam sebuah array collection

List Tutorial
Apa yang sedang kamu cari?

Temukan beberapa kata kunci yang diinginkan.

Search