Peristiwa VBA - Bagaimana dan Bilakah menggunakan Fungsi DoEvents?

Fungsi DoEvents Excel VBA

Dengan bantuan VBA DoEvents , kita dapat membuat kod berjalan di latar belakang dan pada masa yang sama membolehkan kita bekerja dengan excel dan perisian aplikasi lain juga. DoEvents bukan sahaja membolehkan kita bekerja dengan perisian lain tetapi kita juga boleh mengganggu penggunaan kod.

Fungsi DoEvents memberikan kawalan ke sistem operasi komputer yang sedang kita jalankan.

Bagaimana menggunakan Fungsi DoEvents?

Sebilangan besar kod VBA diperlukan apabila keperluannya sangat besar. Dalam kes-kes tersebut, excel menggantung dan berhenti untuk beberapa ketika, dan bahkan kadang-kadang, ia menjadi tidak responsif.

Contohnya, lihat kod di bawah.

Kod:

Sub DoEvents_Contoh1 () Dim i Selagi i = 1 hingga 100000 Julat ("A1"). Nilai = i Seterusnya i Akhir Sub

Kod di atas akan memasukkan nombor siri dari 1 hingga 100000. Dengan mudah memerlukan lebih dari satu minit untuk melaksanakan tugas. Selama pelaksanaannya, excel menunggu banyak masa untuk menyelesaikan tugas. Selama ini, excel menunjukkan mesej sebagai "Excel Tidak Menjawab."

Selain itu, kami tidak dapat mengakses lembaran kerja yang sedang kami jalankan. Ini adalah perkara yang mengecewakan, lalu bagaimana kita menjadikan lembaran kerja excel tersedia untuk berfungsi semasa kodnya berjalan di belakang skrin.

Ini dapat dicapai dengan menambahkan fungsi VBA DoEvents .

Kod:

Sub DoEvents_Contoh1 () Dim i Selagi i = 1 hingga 100000 Julat ("A1"). Nilai = i DoEvents Seterusnya i Akhir Sub

Sebaik sahaja kita menambah fungsi DoEvents dalam kod, kita dapat mengakses lembaran kerja Excel.

Dari perkara di atas, kita dapat melihat bahawa kod sedang berjalan, tetapi kita dapat mengakses lembaran kerja.

Ganggu Kod Menjalankan

Apabila kod berjalan di belakang skrin, kita dapat menambahkan baris, lajur, dan menghapusnya, kita dapat menamakan semula helaian, dan kita juga dapat melakukan banyak perkara lain. Sebaik sahaja kita menambah DoEvents, ia menjadikan kod VBA berjalan dengan cepat dan membolehkan kita jatuh bahawa tugas yang disebutkan berjalan sendiri.

  • Salah satu bahaya fungsi DoEvents adalah ketika kita menukar lembaran kerja atau buku kerja, dan ia menimpa nilai helaian aktif.
  • Bahaya lain adalah jika kita memasukkan nilai apa pun ke sel, pelaksanaan kod berhenti, dan bahkan tidak memberitahu kita.
Catatan : Walaupun terdapat bahaya DoEvents di atas, fungsi ini tetap berguna. Kita boleh menggunakan DoEvents sebagai sebahagian daripada proses penyahpepijatan ketika kita berusaha memperbaiki bug kod yang telah kita tulis.

Artikel menarik...