Salah satu penyebab utama kesalahan dalam sebuah workbook bukan berasal dari rumus yang salah, melainkan dari data yang dimasukkan oleh pengguna. Kesalahan seperti memasukkan teks pada kolom angka, tanggal yang tidak valid, atau nilai di luar batas yang ditentukan dapat menyebabkan laporan menjadi tidak akurat.
Excel sebenarnya telah menyediakan fitur Data Validation untuk membatasi jenis data yang dapat diinput. Melalui VBA, Anda dapat membuat, mengubah, atau menghapus aturan validasi secara otomatis sehingga setiap worksheet memiliki standar input yang konsisten.
Mengenal Objek Validation
Dalam VBA, setiap sel memiliki objek Validation yang digunakan untuk mengatur aturan input.
Melalui objek ini, Anda dapat menentukan:
-
jenis data yang diperbolehkan;
-
rentang nilai yang valid;
-
daftar pilihan (drop-down list);
-
pesan petunjuk saat sel dipilih;
-
pesan kesalahan jika input tidak sesuai.
Objek Validation sangat berguna ketika Anda membuat formulir atau aplikasi berbasis Excel.
Menambahkan Validasi Angka
Contoh berikut hanya memperbolehkan pengguna memasukkan angka antara 1 hingga 100.
Range("B2").Validation.Add _
Type:=xlValidateWholeNumber, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, _
Formula1:="1", _
Formula2:="100"
Jika pengguna memasukkan angka di luar rentang tersebut, Excel akan menampilkan pesan kesalahan.
Membatasi Input Tanggal
Anda juga dapat membatasi agar pengguna hanya memasukkan tanggal dalam periode tertentu.
Range("C2").Validation.Add _
Type:=xlValidateDate, _
Operator:=xlBetween, _
Formula1:="01/01/2026", _
Formula2:="31/12/2026"
Validasi ini cocok digunakan pada formulir transaksi atau absensi.
Membuat Drop-Down List
Salah satu bentuk validasi yang paling sering digunakan adalah daftar pilihan (drop-down list).
Range("D2").Validation.Add _
Type:=xlValidateList, _
Formula1:="Aktif,Tidak Aktif"
Saat pengguna memilih sel D2, Excel akan menampilkan daftar pilihan yang telah ditentukan.
Menggunakan Data dari Range Sebagai Sumber List
Untuk daftar yang lebih panjang, gunakan range sebagai sumber data.
Misalnya, daftar status berada pada sel H2:H5.
Range("D2").Validation.Add _
Type:=xlValidateList, _
Formula1:="=$H$2:$H$5"
Cara ini lebih fleksibel karena daftar dapat diperbarui tanpa mengubah kode VBA.
Menampilkan Pesan Petunjuk
Anda dapat memberikan petunjuk kepada pengguna sebelum mereka mengisi data.
With Range("B2").Validation
.InputTitle = "Jumlah"
.InputMessage = "Masukkan angka antara 1 sampai 100."
End With
Pesan akan muncul ketika sel dipilih.
Menampilkan Pesan Kesalahan
Selain petunjuk, Anda juga dapat membuat pesan khusus ketika input tidak valid.
With Range("B2").Validation
.ErrorTitle = "Input Tidak Valid"
.ErrorMessage = "Nilai harus berupa angka antara 1 dan 100."
End With
Pesan ini membantu pengguna memahami alasan mengapa data ditolak.
Menghapus Validasi
Jika aturan validasi tidak lagi diperlukan, gunakan metode Delete.
Range("B2").Validation.Delete
Sel akan kembali menerima semua jenis input.
Studi Kasus
Misalkan Anda membuat formulir data karyawan.
| Kolom | Aturan |
|---|---|
| Nama | Bebas |
| Umur | 18–60 tahun |
| Status | Aktif atau Tidak Aktif |
| Tanggal Masuk | Tahun 2026 |
Dengan VBA, seluruh aturan tersebut dapat diterapkan secara otomatis saat workbook dibuka sehingga pengguna tidak perlu mengaturnya secara manual.
Kesalahan yang Sering Dilakukan
Menambahkan Validasi Tanpa Menghapus Aturan Lama
Jika sebuah sel sudah memiliki validasi, menambahkan aturan baru dapat menyebabkan error.
Sebelum membuat validasi baru, hapus aturan lama terlebih dahulu.
Range("B2").Validation.Delete
Menuliskan Sumber List yang Salah
Pastikan alamat range pada Formula1 benar dan menggunakan referensi absolut jika diperlukan.
Tidak Memberikan Pesan Kesalahan
Tanpa ErrorMessage, pengguna mungkin tidak memahami mengapa data yang dimasukkan ditolak.
Tambahkan pesan yang jelas agar proses input menjadi lebih mudah dipahami.
Tips Praktis
💡 Gunakan Data Validation pada seluruh formulir input, bukan hanya pada beberapa sel.
💡 Simpan daftar pilihan pada worksheet khusus agar mudah diperbarui.
💡 Gunakan Validation.Delete sebelum membuat aturan baru.
💡 Berikan InputMessage untuk membantu pengguna mengisi data dengan benar.
💡 Kombinasikan validasi dengan VBA agar aturan dapat diterapkan secara otomatis pada workbook baru.
Ringkasan
| Metode / Properti | Fungsi |
|---|---|
Validation.Add |
Menambahkan aturan validasi |
Validation.Delete |
Menghapus validasi |
xlValidateWholeNumber |
Validasi angka |
xlValidateDate |
Validasi tanggal |
xlValidateList |
Membuat drop-down list |
InputMessage |
Menampilkan petunjuk |
ErrorMessage |
Menampilkan pesan kesalahan |
Kesimpulan
Data yang berkualitas merupakan fondasi dari setiap aplikasi Excel. Dengan memanfaatkan objek Validation, Anda dapat memastikan bahwa pengguna hanya memasukkan data yang sesuai dengan aturan yang telah ditentukan. Selain mengurangi kesalahan input, validasi data juga membuat workbook lebih profesional, mudah digunakan, dan menghasilkan informasi yang lebih akurat.
Praktik!
Latihan 1
Buat validasi pada sel B2 agar hanya menerima angka antara 10 hingga 500.
Latihan 2
Buat drop-down list pada sel C2 yang berisi pilihan Lunas, Belum Lunas, dan Dibatalkan.
Latihan 3
Tambahkan Input Message dan Error Message pada salah satu sel, kemudian uji dengan memasukkan data yang tidak sesuai untuk melihat bagaimana validasi bekerja.
