
Cara Mudah Memberikan Nilai Properti Berbeda Setiap Objek VBA Berdasarkan Kriteria

Sebenarnya penggunaan istilah Objek VBA hanya saya gunakan dalam mempermudah setiap pembelajaran Excel VBA. Dan seperti yang sudah diketahui bersama bahwa di dalam Microsoft Excel, objek-objek VBA seperti Label, ListBox, CommandButton, Frame, hingga SpinButton berada dalam kotak sebuah kotak yang bernama ToolBox yang berisi berbagai macam Controls seperti yang sudah saya sebutkan. Lihat gambar berikut

Jadi, agar tidak menimbulkan makna yang ambigu - maka kata Controls saya ganti penyebutannya menjadi Objek VBA. Mudah-mudah hal ini bisa dimaklumi :)
Ok, terlepas dari penggunaan serta penulisan istilah yang berbeda di atas, untuk tutorial kali ini xcelive akan share sebuah script Macro VBA yang sangat efektif untuk memberikan atribut atau properti yang berbeda-beda dari setiap objek VBA yang ada dalam UserForm.
Dan sebelum mulai belajar membuatnya, ada baiknya anda baca terlebih dahulu tutorial terkait berikut:
Cara menggunakan properti TAG dalam Macro VBA
Menggunakan perintah Looping dalam script VBA
Skenario yang akan kita coba uji kali ini adalah seperti berikut
Merubah properti warna latar 1 objek TextBox yang sesuai dengan kriteria yang saya inginkan dari beberapa TextBox yang terdapat di dalam UserForm
Dari skenario tersebut, maka setidaknya kita harus menyiapkan terlebih dahulu design yang sesuai agar berhasil diterjemahkan menggunakan bahasa Macro VBA yang bisa dibilang cukup sederhana. Design yang saya maksud kurang lebih akan tampak seperti gambar di bawah ini
Dari design di atas, saya menggunakan 7 buah TextBox utama yang nantinya akan berubah, sementara 1 buah TextBox lainnya berfungsi untuk mengisikan kriteria berupa angka 1 sampai 7 yang mewakili Objek VBA TextBox1 sampai TextBox7, dan yang terakhir saya menggunakan sebuah CommandButton untuk menjalankan kode yang saya tulis berikut ini :
Private Sub CommandButton1_Click() Dim obj As Control For Each obj In UserForm1.Controls If obj.Name Like "TextBox" & TextBox8 Then obj.BackColor = &HC0C0& Next End SubBaris kode di atas yang berfungsi untuk merubah warna latar dari TextBox yang memiliki Name yang sesuai dengan kriteria yang dimasukkan adalah

Loading...
For i = 1 To 7 Controls("textbox" & i).BackColor = &H80000005 NextSehingga jika kedua kode di atas digabungkan akan menjadi tampak seperti berikut
Private Sub CommandButton1_Click() Dim obj As Control Dim Pesan As Boolean For i = 1 To 7 Controls("textbox" & i).BackColor = &H80000005 Next For Each obj In UserForm1.Controls If obj.Name Like "TextBox" & TextBox8 Then obj.BackColor = &HC0C0& Next End SubUntuk melihat hasilnya, silahkan anda coba tekan tombol
Selamat...anda sekarang sudah bisa memberikan warna latar belakang yang berbeda setiap TextBox yang sesuai dengan kriteria. Jika anda bertanya, bagaimana cara menyisipkan sebuah kotak pesan ketika Textbox tidak ada yang sesuai dengan kriteria, maka struktur kode Macro VBA akan sedikit banyak mengalami perubahan. Untuk hasil akhirnya akan terlihat seperti berikut :

Hasil di atas dikerjakan dengan menggunakan parameter GoTo, dan untuk pembahasannya akan saya posting di edisi berikutnya. Jadi, silahkan klik tombol Subscribe agar anda tidak ketinggalan tutorial xcelive berikutnya.
Incoming Search Terms
Cara mengubah warna latar depan dan latar belakang warna teks Excel Melewati kode Macro VBA yang tidak terpakai
Mengganti background lembar kerja Sheet Excel
Menambahkan background pada sebuah Form VBA
Cara menghilangkan background di Ms. Excel
Loading...