Fungsi Tunggu VBA - Bagaimana cara menggunakan Metode Tunggu VBA Excel?

Fungsi Tunggu VBA Excel

VBA Wait adalah fungsi bawaan yang digunakan untuk menjeda kode agar tidak dieksekusi selama jangka waktu tertentu, sangat mirip dengan apa yang kita lakukan dalam perintah tidur dan untuk menjeda kode kita menggunakan metode application.wait.

Beberapa kode memerlukan beberapa saat sebelum maju ke baris kode berikutnya karena tugas lain harus diselesaikan. Dalam kasus ini, kita perlu menghentikan kode agar tidak dieksekusi dan berhenti sebentar, lalu melanjutkan eksekusi. Kita dapat menghentikan sementara kode untuk dieksekusi dengan dua cara, yang pertama adalah metode "Tidur", dan yang kedua adalah metode "Tunggu". Di artikel kami sebelumnya, kami telah membahas metode "VBA Sleep" untuk menjeda kode VBA.

"Tunggu," seperti namanya, itu akan menahan kode makro untuk dieksekusi ke kerangka waktu yang ditentukan. Dengan menggunakan metode ini, kita perlu menentukan waktu jeda kode kita. Kita akan melihat contoh selanjutnya.

Sintaks dari fungsi WAIT adalah sebagai berikut.

Kami perlu menyebutkan jumlah waktu jeda kode kami. Seperti yang Anda lihat pada akhirnya, tertulis Boolean. Ini berarti ia mengembalikan hasil sebagai nilai Boolean, yaitu TRUE atau FALSE.

Sampai waktu yang ditentukan tiba, dikatakan SALAH, dan saat waktu yang ditentukan tiba, ia mengembalikan TRUE.

Ini tidak seperti fungsi SLEEP karena WAIT adalah fungsi built-in dimana SLEEP adalah Fungsi Windows. Sebelum kita mengakses fungsi SLEEP, kita perlu menyebutkan kode di bawah ini di bagian atas modul. Tapi WAIT tidak membutuhkan ini.

Kode:

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

Contoh untuk menggunakan Fungsi Tunggu VBA Excel

Contoh 1

Asumsikan Anda sedang bekerja di tengah hari excel pada 14:30:00, dan Anda ingin kode Anda dijeda sampai waktu menjadi 14:40:00. Anda dapat menggunakan kode di bawah ini.

Kode:

Sub Wait_Example1 () Application. Tunggu "14:40:00" End Sub

Kode tersebut akan menghentikan kinerja excel Anda hingga waktu mencapai 14:40:00 di sistem operasi Anda. Memberikan waktu seperti ini berbahaya karena kita tidak selalu bekerja dari pukul 14:30:00. Itu terus bervariasi sepanjang waktu.

Katakanlah setiap kali Anda menjalankan kode. Anda ingin menunggu selama 2 menit, bagaimana Anda merujuknya pada kode Anda?

Jadi, kita dapat menggunakan fungsi VBA NOW dengan fungsi TIME VALUE untuk memasukkan waktu yang ditentukan dari waktu saat ini.

Sekadar mengingatkan Anda, fungsi SEKARANG () mengembalikan tanggal dan waktu saat ini sesuai sistem komputer Anda. Fungsi TIMEVALUE mewakili waktu dari 00:00:00 hingga 23:59:59 yaitu 11:59:59 dalam format 24 jam. Ini mengubah nilai string menjadi nilai waktu.

Untuk Contoh SEKARANG () + TIMEVALUE (00:02:30) berarti Waktu Saat Ini + 2 menit 30 detik.

Jika waktu saat ini adalah 14:25:30, maka menjadi 14:28:00.

Untuk menghentikan atau menghentikan sementara kode Anda dieksekusi dari waktu saat ini hingga 10 menit berikutnya, Anda dapat menggunakan kode di bawah ini.

Kode:

Sub Wait_Example2 () Application.Wait (Now () + TimeValue ("00:10:00")) End Sub

Penting untuk menggunakan fungsi SEKARANG () untuk jeda yang akurat. Jika tidak, ada kemungkinan buku kerja excel Anda dijeda hingga tengah malam. Namun, kita bisa keluar dari metode pause kapan saja dengan menekan tombol Esc atau Break Key.

Contoh # 2

Tunggu 10 Detik Setiap Loop Berjalan

Metode menunggu digunakan dengan baik dengan loop. Ada situasi di mana Anda mungkin perlu menunggu selama 10 detik setiap kali loop berjalan. Misalnya, lihat data di bawah ini.

Untuk menghitung Keuntungan = (Penjualan - Biaya), Anda ingin membuat satu putaran, dan setelah setiap putaran, Anda ingin menunggu 10 detik untuk memeriksa apakah hasilnya akurat atau tidak. Kode di bawah ini akan melakukannya.

Kode:

Sub Wait_Example3 () Dim k As Integer For k = 2 to 9 Cells (k, 4) .Value = Cells (k, 2) - Cells (k, 3) Application.Tunggu (Now () + TimeValue ("00:00 : 10 ")) Berikutnya k Akhiri Sub

Kode ini akan menghitung kolom keuntungan baris demi baris. Setelah menyelesaikan baris pertama, itu akan menunggu selama 10 detik sebelum menghitung baris berikutnya.

VBA Sleep vs. VBA Tunggu

VBA TIDUR VBA TUNGGU
Ini bukan fungsi built-in VBA, membutuhkan kode khusus untuk mengakses fungsi ini. Ini adalah fungsi built-in VBA, tidak memerlukan kode khusus untuk mengakses fungsi ini.
Tidur membutuhkan milidetik sebagai kerangka waktu. Menunggu membutuhkan kerangka waktu yang teratur.
Kami dapat menunda kode dalam milidetik. Kita hanya bisa menunda dalam hitungan detik.

Artikel yang menarik...