Pada kesempatan kali ini kami akan berbagi cara membuat suatu class module untuk menangani event Click pada sejumlah tombol pilihan OptionButton di dalam suatu UserForm.
Gambar1 |
Hasil akhirnya ditunjukkan seperti dalam contoh gambar1 di atas, Anda juga bisa merancang sendiri UserForm sederhana dimana hanya bagian dari class module saja yang dapat dikenali menurut nama tombol pilihan dan caption yang di-klik.
Silakan Anda ikuti langkah demi langkah sebagai berikut:
Langkah Pertama: Merancang UserForm
Gambar2 |
1. Buka sebuah workbook baru.
2. Buka VBE bisa dengan menekan tombol Alt+F11.
3. Pilih menu Insert > UserForm, tentukan ukurannya misalnya tinggi 200 dan lebarnya 400.
4. Buat sebuah Label di dekat suduk kiri atas UserForm dan beri caption misalnya Tombol Opsi Class Module.
5. Salin Label dan beri caption Tombol Opsi Lainnya.
6. Tepat di bawah kontrol Label pertama, buat sebuah kolom yang terdiri dari lima tombol opsi (OptionButton) dan beri masing-masing caption yang berbeda.
7. Salinkan tiga tombol opsi lainnya di bawah kontrol Label kedua. Jadi pada UserForm Anda kini memiliki delapan buah tombol opsi dengan caption berbeda.
8. Buat tombol CommandButton di sisi bagian bawah UserForm dan beri nama misalnya tbkeluar dan beri caption Keluar.
Langkah Kedua: Memprogram UserForm dan Class Module
Gambar3 |
1. Dobel-klik tombol tbkeluar, yang akan membawa Anda pada module UserForm, dengan event Click yang telah otomatis dituliskan pada kode Anda. Selanjutnya Anda ketik Unload Me.
2. Buat class module melalui menu Insert > Class Module dan biarkan namanya tetap Class1.
3. Tujuan class module ini adalah menerima event yang terhubung dengan kontrol tombol opsi. Tepat di atas module Class1, tetapkan variabel yang mengacu pada kumpulan tombol opsi yang akan dimasukkan ke dalam kode class module. Adapun event yang terhubung dengan tombol opsi menggunakan kata kunci WithEvents:
Public WithEvents grops As msforms.OptionButton
4. Anda bisa menggunakan event Click pada class grops. Kotak pesan akan memunculkan nama dan caption tombol opsi yang telah diklik jika tombol tersebut tercatat di dalam class:
MsgBox "Hai, nama tombolku adalah " & grops.Name & "." & vbCrLf & _
"Caption ku adalah " & grops.Caption & ".", vbInformation, _
"Terima kasih, berikut info tombol ini:"
End Sub
5. Buka kembali module UserForm. Tepat di atas module, kenali tombol opsi yang mana yang ingin dikumpulkan ke dalam class tbops. Seperti dalam contoh yang didemonstrasikan, lima buah tombol pertama dikelompokkan, maka buat class tbops dengan kata kunci New untuk module Class1:
Dim tbops(1 To 5) As New Class1
6. Event UserForm_Initialize adalah langkah tepat untuk mengelompokkan kelima tombol opsi.
End Sub
7. Tepat di atas statement End Sub tetapkan variabel Integer yang akan melakukan loop pada kelima tombol opsi class module.
Dim cto As Integer
8. Mulai loop For Next pada kelima tombol opsi:
For cto = 1 To 5
9. Tetapkan setiap tombol opsi sebagai class grops:
Controls("OptionButton" & cto)
10. Lanjutkan dan tutup dengan statement Next:
Next cto
11. Sehingga kode dalam module UserForm lengkapnya menjadi:
Private Sub UserForm_Initialize()
Dim cto As Integer
For cto = 1 To 5
Set tbops(cto).grops = _
Controls("OptionButton" & cto)
Next cto
End Sub
Private Sub tbkeluar_Click()
Unload Me
End Sub
12. Silakan uji coba class module dengan cara menampilkan UserForm, salah satunya adalah menekan tombol Ctrl+G untuk membuka jendela Immediate lalu ketik statement UserForm1.Show lalu tekan Enter.
Demikian pembahasan mengenai cara menggunakan class module untuk sejumlah tombol pilihan OptionButton di dalam suatu UserForm Macro VBA Excel.
Selamat mempraktikkan dan semoga bermanfaat.
0 Comments