Fungsi Tunggu VBA - Bagaimana menggunakan Kaedah Tunggu Excel VBA?

Fungsi Tunggu Excel VBA

VBA Wait adalah fungsi bawaan yang digunakan untuk menjeda kod agar tidak dijalankan untuk jangka waktu tertentu, sangat mirip dengan apa yang kita lakukan dalam perintah tidur dan untuk menghentikan sebentar kod yang kita gunakan kaedah application.wait.

Sebilangan kod memerlukan beberapa saat sebelum maju ke baris kod seterusnya kerana tugas-tugas lain harus diselesaikan. Dalam kes ini, kita perlu menghentikan kod agar tidak dijalankan dan berhenti sebentar, kemudian teruskan pelaksanaannya. Kita dapat menjeda kod yang akan dijalankan dengan dua cara, yang pertama adalah kaedah "Tidur", dan yang kedua adalah kaedah "Tunggu". Dalam artikel sebelumnya, kami telah membincangkan kaedah "Tidur VBA" untuk menjeda kod VBA.

"Tunggu," seperti namanya sendiri, ia akan menyimpan kod makro untuk dijalankan ke jangka waktu yang ditentukan. Dengan menggunakan kaedah ini, kita perlu menentukan masa kod kita harus berhenti sebentar. Kita akan melihat contoh seterusnya.

Sintaks fungsi TUNGGU adalah seperti berikut.

Kita perlu menyebutkan berapa lama masa kod kita berhenti. Seperti yang anda lihat pada akhirnya, kata Boolean. Ini bermaksud mengembalikan hasilnya sebagai nilai Boolean, iaitu, BENAR atau SALAH.

Sehingga masa yang ditentukan tiba, ia mengatakan SALAH, dan ketika waktu yang ditentukan tiba, ia mengembalikan BENAR.

Ini tidak seperti fungsi SLEEP kerana TUNGGU adalah fungsi bawaan di mana SLEEP adalah Fungsi Windows. Sebelum kita mengakses fungsi SLEEP, kita perlu menyebutkan kod di bawah di bahagian atas modul. Tetapi TUNGGU tidak memerlukan ini.

Kod:

#Jika VBA7 Kemudian Menyatakan PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds LongPtr) 'Untuk Sistem 64 Bit #Else Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds Long)' Untuk Sistem 32 Bit Berakhir Jika

Contohnya menggunakan Fungsi Tunggu Excel VBA

Contoh # 1

Andaikan anda bekerja di excel pada waktu tengah hari pada pukul 14:30:00, dan anda mahu kod anda dijeda sehingga waktunya menjadi 14:40:00. Anda boleh menggunakan kod di bawah.

Kod:

Sub Wait_Contoh1 () Aplikasi.Tunggu "14:40:00" Akhir Sub

Kod tersebut akan menghentikan kerja anda yang unggul sehingga masa mencapai 14:40:00 di sistem operasi anda. Menyediakan waktu seperti ini adalah berbahaya kerana kita tidak selalu bekerja dari jam 14:30:00. Ia terus berubah sepanjang masa.

Katakan setiap kali anda menjalankan kod. Anda mahu menunggu selama 2 minit, bagaimana anda merujuknya dalam kod anda?

Jadi, kita boleh menggunakan fungsi VBA SEKARANG dengan fungsi TIME VALUE untuk memasukkan waktu yang ditentukan dari waktu semasa.

Sekadar mengingatkan anda, fungsi SEKARANG () mengembalikan tarikh dan masa semasa mengikut sistem komputer anda. Fungsi TIMEVALUE mewakili waktu dari 00:00:00 hingga 23:59:59 iaitu 11:59:59 PM dalam format 24 jam. Ia menukar nilai rentetan menjadi nilai masa.

Contohnya SEKARANG () + TIMEVALUE (00:02:30) bermaksud Masa Semasa + 2 min 30 saat.

Sekiranya waktu sekarang 14:25:30, maka ia menjadi 14:28:00.

Untuk menghentikan atau menjeda kod anda agar tidak dilaksanakan dari masa sekarang hingga 10 minit berikutnya, anda boleh menggunakan kod di bawah.

Kod:

Sub Wait_Contoh2 () Aplikasi.Tunggu (Sekarang () + Nilai Masa ("00:10:00")) Akhir Sub

Penting untuk menggunakan fungsi SEKARANG () untuk jeda yang tepat. Jika tidak, ada kemungkinan buku kerja excel anda dijeda hingga tengah malam. Namun, kita dapat keluar dari kaedah jeda pada bila-bila masa dengan menekan kekunci Esc atau Break Key.

Contoh # 2

Tunggu 10 Detik Setiap kali Loop Berjalan

Kaedah menunggu digunakan dengan baik dengan gelung. Terdapat situasi di mana anda mungkin perlu menunggu selama 10 saat setiap kali gelung berjalan. Contohnya, lihat data di bawah.

Untuk mengira Untung = (Jualan - Kos), anda ingin membuat gelung, dan selepas setiap gelung, anda ingin menunggu selama 10 saat untuk memeriksa sama ada hasilnya tepat atau tidak. Kod di bawah akan melakukannya.

Kod:

Sub Wait_Contoh3 () Dim k Sebagai Integer Untuk k = 2 hingga 9 Sel (k, 4). Nilai = Sel (k, 2) - Aplikasi Sel (k, 3). Tunggu (Sekarang () + Nilai Masa ("00:00 : 10 ")) Sub Akhir Akhir seterusnya

Kod ini akan mengira lajur keuntungan mengikut baris. Setelah selesai baris pertama, ia akan menunggu selama 10 saat sebelum mengira baris seterusnya.

Tidur VBA vs Tunggu VBA

TIDUR VBA TUNGGU VBA
Ini bukan fungsi terbina dalam VBA, memerlukan kod khas untuk mengakses fungsi ini. Ini adalah fungsi terbina dalam VBA, tidak memerlukan kod khas untuk mengakses fungsi ini.
Tidur memerlukan milisaat sebagai jangka masa. Tunggu memerlukan jangka masa yang tetap.
Kita boleh melambatkan kod dalam milisaat. Kita boleh melambatkan hanya dalam masa beberapa saat.

Artikel menarik...