Apabila Rasa Rasa Menggunakan Opsyen Tersurat - Petua Excel

Isi kandungan

Nampaknya saya menimbulkan kegusaran selama bertahun-tahun kerana sikap kontroversi saya bahawa Option Explicit tidak berguna dalam VBA. Saya teringatkan perkara ini baru-baru ini ketika saya melakukan sesi Skype di Excel Weekend of Brazil. Saya telah menulis buku di Excel VBA untuk QUE. Buku itu telah diterjemahkan ke bahasa Portugis untuk pasaran Brazil. Jadi, nampaknya, saya telah mengajar orang-orang baik Brasil mengenai Excel VBA selama 15 tahun. Sekarang saya berumur 15 tahun dan lebih bijak, saya akan mengakui bahawa mungkin ada alasan yang baik untuk menggunakan Option Explicit.

Di Notre Dame, saya mengikuti kursus perniagaan dengan tumpuan yang tinggi dalam pengaturcaraan. Melalui keadaan yang pelik, saya mengikuti setiap kursus pengaturcaraan yang terdapat di ND dari kedua-dua sekolah Kejuruteraan dan Perniagaan. Saya belajar Fortran, Pascal, Assembler, dan COBOL. Saya suka pengaturcaraan. Kursus pengaturcaraan itu menyelamatkan IPK saya dan menghalang saya untuk dibuang sekolah. Kembali pada hari itu, profesor kami memberitahu kami bahawa kami harus merancang program dan carta alir lukisan tangan sebelum kami memulakan pengekodan. Saya adalah pemberontak. Saya akan menulis program ini terlebih dahulu dan kemudian melukis carta alir setelah saya selesai.

Saya menghabiskan 18 bulan pertama kerjaya saya menulis program COBOL. Tetapi kemudian saya berpindah ke Kewangan dan menghabiskan sepuluh tahun bekerja di Kewangan dan Perakaunan. Saya sering membuat kerja perakaunan, tetapi ketika saya perlu menulis beberapa kod, saya cukup tahu menulis beberapa kod.

Saya memprogram makro di Lotus 1-2-3 dan kemudian mula menulis Makro VBA setelah kami beralih ke Excel pada tahun 1995. Saya masih memberontak pada ketika itu: menyatakan pemboleh ubah saya lebih awal sepertinya seperti melukis carta alir sebelum menulis kod. Saya tidak pernah merancang masa depan. Selam masuk. Mulakan pengekodan. Sekiranya anda memerlukan pemboleh ubah baru di suatu tempat, cukup buat pemboleh ubah.

Saya seorang pemberontak, menulis kodnya terlebih dahulu dan melukis carta alir kemudian Menyatakan pemboleh ubah, saya berpendapat, adalah untuk pengaturcara formal. Sekiranya anda bekerja dalam Perakaunan dan hanya mengeluarkan 20 baris kod, tidak ada alasan untuk menyatakan pemboleh ubah anda lebih awal.

Pendirian saya mengenai perkara itu telah membuat saya berbahas dengan pakar Excel yang lain. Jordan Goldmeier. Bob Phillips. Cristiano Galvão.

Pertama, saya selalu mengesyorkan untuk menyatakan Pemboleh ubah Objek anda. Dalam kod di bawah ini, WSD dinyatakan sebagai lembaran kerja dan diberikan menggunakan perintah Set. Sekiranya anda menyatakan pemboleh ubah objek, anda boleh melihat semua sifat dan kaedah dengan mengetik pemboleh ubah diikuti dengan titik.

Menyatakan pemboleh ubah objek membawa kepada Pelengkap Auto yang berguna ini

Dengan tidak menggunakan Option Explicit, anda menghadapi risiko kesalahan ejaan. Dalam kod di bawah, pemboleh ubah yang disebut FinalRow dibuat. Pada baris seterusnya, saya mungkin bermaksud untuk beralih dari 2 ke FinalRow, tetapi saya salah menamakan pemboleh ubah sebagai Fina1Row.

Beberapa dekad yang lalu, penulis tipe IBM Selectric menghilangkan kunci 1 kerana orang akan menaip huruf kecil L sebagai gantinya.

Tanpa Pilihan yang Eksplisit, seseorang mungkin tidak menyedari kesalahan menaip ada. Pemboleh ubah FinalRow mungkin mengandungi 100. Tetapi kod di dalam gelung tidak akan dapat dilaksanakan kerana pemboleh ubah Fina1Row tidak pernah diinisialisasi dan akan mengandungi sifar.

Untuk mengelakkan kekecewaan dari penyahpepijatan kod dengan kemungkinan kesalahan menaip, anda boleh membuka Alat, Pilihan di menu VBA. Pilih kotak Require Variable Declaration seperti di bawah.

Untuk menangkap kesalahan ketik, tandakan kotak ini.

Semua modul masa depan akan bermula dengan baris yang mengatakan Option Explicit. Anda perlu menambahkan baris baru di bahagian atas makro yang menentukan pemboleh ubah FinalRow dan i. Excel tidak akan memberitahu anda tentang kesalahan ejaan sehingga anda benar-benar cuba menjalankan makro. Mereka kemudian akan memberitahu anda bahawa Pembolehubah Tidak Ditentukan.

Perkataan yang diserlahkan adalah salah eja.

Jadi, itu adalah panggilan anda. Sekiranya anda tidak keberatan merancang dan menyatakan semua pemboleh ubah anda, anda akan mempunyai jaring keselamatan VBA memberitahu anda jika anda salah mengetik pemboleh ubah. Bagi saya, saya lebih gemar melakukan debug kod satu baris pada satu masa dan mendapati kesilapan menaip saya sendiri. Tetapi jika anda tidak merasa hidup dengan bahaya, jangan gunakan Option Explicit.

Saya tidak pasti sama ada tindakan saya melibatkan Langkah 5, 8, atau 9 daripada 12 langkah. Tetapi jika ada yang meluangkan masa untuk menyahpepijat kod mereka kerana kesalahan menaip, saya minta maaf kerana menyebabkan anda sakit.

Setiap hari Sabtu, saya akan membincangkan salah satu tabiat buruk saya di Excel dan membincangkan mengapa mungkin anda harus melakukan apa yang saya katakan dan bukannya melakukan apa yang saya lakukan.

Pemikiran Excel Hari Ini

Saya telah meminta nasihat rakan Excel saya mengenai Excel. Pemikiran hari ini untuk merenungkan:

"Jangan ubah pemaju hamparan pertengahan scrum."

Jordan Goldmeier

Artikel menarik...