Ketika Masuk Akal untuk Menggunakan Opsi Eksplisit - Tips Excel

Daftar Isi

Sepertinya saya telah menimbulkan kegelisahan selama bertahun-tahun karena pendirian saya yang kontroversial bahwa Option Explicit tidak berguna di VBA. Saya diingatkan tentang hal ini baru-baru ini ketika saya melakukan sesi Skype di Excel Weekend Brasil. Saya telah menulis buku tentang Excel VBA untuk QUE. Buku itu telah diterjemahkan ke dalam bahasa Portugis untuk pasar Brasil. Jadi, tampaknya, saya telah mengajari orang-orang baik di Brasil tentang Excel VBA selama 15 tahun. Sekarang saya 15 tahun lebih tua dan lebih bijaksana, saya akan mengakui bahwa mungkin ada alasan bagus untuk menggunakan Opsi Eksplisit.

Di Notre Dame, saya mengambil kursus bisnis dengan konsentrasi yang tinggi pada pemrograman. Melalui situasi yang aneh, saya mengambil setiap kursus pemrograman yang tersedia di ND dari sekolah Teknik dan Bisnis. Saya belajar Fortran, Pascal, Assembler, dan COBOL. Saya suka pemrograman. Kursus pemrograman itu menyelamatkan IPK saya dan mencegah saya dikeluarkan. Dulu, profesor kami memberi tahu kami bahwa kami harus merencanakan program dan diagram alur gambar tangan sebelum mulai membuat kode. Saya adalah seorang pemberontak. Saya akan menulis program terlebih dahulu dan kemudian menggambar diagram alur setelah saya selesai.

Saya menghabiskan 18 bulan pertama karir saya menulis program COBOL. Tapi kemudian saya pindah ke Keuangan dan menghabiskan sepuluh tahun bekerja di Keuangan dan Akuntansi. Saya melakukan sebagian besar pekerjaan akuntansi, tetapi ketika saya perlu menulis beberapa kode, saya cukup tahu untuk menulis beberapa kode.

Saya memprogram makro di Lotus 1-2-3 dan kemudian mulai menulis Makro VBA setelah kami beralih ke Excel pada tahun 1995. Saya masih memberontak pada saat itu: mendeklarasikan variabel saya sebelumnya tampak terlalu seperti menggambar diagram alur sebelum menulis kode. Saya tidak pernah orang yang merencanakan ke depan. Selami. Mulai coding. Jika Anda membutuhkan variabel baru di suatu tempat, cukup buat variabel.

Saya adalah seorang pemberontak, menulis kode terlebih dahulu dan menggambar diagram alur kemudian Mendeklarasikan variabel, menurut saya, adalah untuk pemrogram formal. Jika Anda bekerja di Akuntansi dan hanya menghilangkan 20 baris kode, tidak ada alasan untuk mendeklarasikan variabel Anda sebelumnya.

Pendirian saya tentang hal itu telah membuat saya berselisih paham dengan pakar Excel lainnya. Jordan Goldmeier. Bob Phillips. Cristiano Galvão.

Pertama, saya selalu merekomendasikan untuk mendeklarasikan Variabel Objek Anda. Dalam kode di bawah ini, WSD dideklarasikan sebagai lembar kerja dan ditetapkan menggunakan perintah Set. Jika Anda mendeklarasikan variabel objek, Anda dapat menelusuri semua properti dan metode dengan mengetikkan variabel diikuti dengan titik.

Mendeklarasikan variabel objek akan mengarahkan ke AutoComplete yang berguna ini

Dengan tidak menggunakan Option Explicit, Anda berisiko mengalami kesalahan ejaan. Pada kode di bawah ini, variabel yang disebut FinalRow dibuat. Pada baris berikutnya, saya mungkin bermaksud untuk mengulang dari 2 ke FinalRow, tetapi saya salah mengetik variabel sebagai Fina1Row.

Beberapa dekade yang lalu, typerwriter IBM Selectric menghilangkan kunci 1 karena orang-orang akan mengetik huruf L kecil sebagai gantinya.

Tanpa Opsi Eksplisit, seseorang mungkin tidak menyadari kesalahan ketik ada di sana. Variabel FinalRow mungkin berisi 100. Tetapi kode di dalam loop tidak akan dijalankan karena variabel Fina1Row tidak pernah diinisialisasi dan akan berisi nol.

Untuk mencegah frustrasi dari men-debug kode dengan potensi kesalahan pengetikan, Anda dapat membuka Alat, Opsi di menu VBA. Pilih kotak Memerlukan Deklarasi Variabel yang ditunjukkan di bawah ini.

Untuk menangkap kesalahan ketik, centang kotak ini.

Semua modul masa depan akan dimulai dengan baris yang bertuliskan Opsi Eksplisit. Anda harus menambahkan baris baru di bagian atas makro yang mendefinisikan variabel FinalRow dan i. Excel tidak akan memberi tahu Anda tentang kesalahan ejaan hingga Anda benar-benar mencoba menjalankan makro. Mereka kemudian akan memperingatkan Anda bahwa Variabel Tidak Ditentukan.

Kata yang disorot salah eja.

Jadi, itu keputusanmu. Jika Anda tidak keberatan merencanakan ke depan dan mendeklarasikan semua variabel Anda, Anda akan memiliki jaring pengaman VBA yang memberi tahu Anda jika Anda salah mengetik variabel. Bagi saya, saya lebih suka sensasi men-debug kode satu baris pada satu waktu dan menemukan kesalahan pengetikan saya sendiri. Tetapi jika Anda tidak ingin hidup dalam bahaya, silakan aktifkan Opsi Eksplisit.

Saya tidak begitu yakin apakah tindakan saya melibatkan Langkah 5, 8, atau 9 dari 12 langkah. Tetapi jika ada yang menghabiskan waktu ekstra untuk men-debug kode mereka karena kesalahan pengetikan, saya minta maaf karena membuat Anda kesakitan itu.

Setiap hari Sabtu, saya akan membahas salah satu kebiasaan buruk saya di Excel dan membahas mengapa mungkin Anda harus melakukan apa yang saya katakan daripada melakukan apa yang saya lakukan.

Pemikiran Excel Hari Ini

Saya telah meminta saran dari teman-teman Master Excel saya tentang Excel. Hari ini pemikiran untuk direnungkan:

"Jangan ubah spreadsheet developer mid scrum."

Jordan Goldmeier

Artikel yang menarik...