Bagaimana cara menggunakan perintah tunggu dan tidur di vba?
Perintah tunggu VBA
Di VBA, perintah (metode) WAIT membantu Anda untuk menunggu semua aktivitas yang Anda lakukan di Excel dalam waktu tertentu atau hingga waktu tertentu. Sederhananya, Anda dapat membuat VBA menunggu selama beberapa detik, menit, atau bahkan berjam-jam, atau hingga waktu yang ditentukan. Ini memiliki argumen yang mengharuskan Anda untuk menentukannya.
Langkah-langkah menggunakan VBA Tunggu
- Pertama, gunakan kata kunci “Aplikasi” dan ketikkan titik (.) untuk mendapatkan daftar properti dan metode.
- Setelah itu, pilih atau ketuk metode “Tunggu”.
- Sekarang tentukan argumen “Waktu” untuk memberi tahu VBA berapa lama Anda ingin menunggu.
- Terakhir, jalankan kode untuk mengantri semua aktivitas di Excel.
Dalam kode ini, Anda menggunakan SEKARANG dan TIMEVALUE ( Fungsi VBA ) untuk memberi tahu VBA agar menunggu sepuluh detik sejak Anda menjalankan kode. Jadi setelah sepuluh detik berlalu, pernyataan IF akan menguji kondisi dan mengeksekusi dengan menampilkan kotak pesan dengan pesan “Tunggu Berakhir”.
Sub vba_wait_example() If Application.Wait(Now + TimeValue("00:00:10")) = True Then MsgBox "Wait Over" End If End Sub
Anda juga bisa menggunakan metode Tunggu untuk membiarkan Excel menunggu semua aktivitas hingga waktu tertentu. Kode berikut menunggu hingga pukul 13.00 Jadi karena sistem saya sekarang pukul 12.52, kode baris ini akan membuatnya menunggu selama 8 menit berikutnya.
Application.Wait "13:00:00"
Catatan: Dengan metode menunggu, Anda hanya dapat menunggu minimal satu detik.
VBA Tidur
Tidur adalah fungsi Windows ( di bawah file DLL Windows; Anda perlu mengimpor fungsi ini menggunakan pernyataan kode ) yang dapat membantu Anda menjeda atau menambahkan penundaan saat menjalankan makro . Dalam fungsi ini Anda dapat menentukan waktu dalam milidetik, tetapi Anda tidak dapat menghentikan fungsi tidur setelah semuanya dijeda.
Gunakan fungsi tidur di VBA
- Pertama-tama, Anda perlu menggunakan pernyataan kode untuk mengimpor fungsi tidur dari “ perpustakaan kernel32 ”.
- Dan kemudian Anda perlu memastikan untuk menambahkan pernyataan “PtrSafe” jika Anda menggunakan Excel 64-bit.
- Maka Anda perlu memanggil fungsi tidur dalam kode.
- Pada akhirnya, tentukan waktu (milidetik) Anda ingin menunda kode.
If VBA7 Then ' For 64-Bit versions of Excel
Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
Else 'For 32-Bit versions of Excel Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) End If Sub vba_sleep() Sleep (10000) 'add code here MsgBox "Finished" End Sub
Pada kode di atas Anda memiliki 10.000 milidetik, yang sama dengan 10 detik. Saat Anda menjalankan kode ini, kode ini akan tertunda selama 10 detik dan kemudian menampilkan kotak pesan.
Catatan: Saat Anda menggunakan fungsi tidur, fungsi ini menghentikan semua yang ada di Excel selama waktu yang Anda tetapkan, Anda bahkan tidak dapat memutusnya. Pastikan untuk memeriksa tautan ini dari Microsoft tentang kompatibilitas antara versi 32-bit dan 64-bit .