Pemasa VBA - Contoh untuk menggunakan Fungsi Pemasa Excel VBA

Fungsi Pemasa Excel VBA

VBA Timer adalah fungsi built-in yang digunakan untuk memberi kita nilai pecahan detik, ini adalah fungsi yang sangat berguna yang kadang-kadang digunakan untuk menjeda sekumpulan kod yang berjalan atau meneruskannya berdasarkan masa yang diberikan oleh pengguna, pemasa hanya digunakan sebagai pernyataan dalam VBA dengan input masa.

Secara sederhana, PEMASA memberikan jumlah detik yang hilang dari tengah malam hari semasa. Dari baris pertama kod, kita sebenarnya dapat mengesan masa yang digunakan oleh kod kita untuk menyelesaikan proses yang ditentukan dalam subprosedur.

Kadang kala semasa anda menulis kod dan anda ingin menguji tempoh kodnya, berapakah jumlah masa yang diambil oleh kod anda untuk menyelesaikan subprosedur. Dengan menguji jangka masa sebenar yang diambil oleh kod anda, anda dapat menjadikan kod anda cekap dan menghilangkan proses yang memakan masa dengan menghapus kod yang tidak diingini atau panjang dari modul anda.

Bagaimana cara menggunakan Fungsi PEMASA dalam VBA?

Seperti yang saya katakan fungsi TIMER kembali, jumlah detik yang lewat dari tengah malam tarikh semasa. Semasa saya menulis artikel ini, waktu adalah 13:50:45 di India.

Saya telah membuat nama makro dan memberikan nilai TIMER di kotak mesej VBA.

Kod:

Sub Timer_Contoh1 () MsgBox Timer End Sub

Semasa saya menjalankan kod ini, saya mendapat hasilnya sebagai 50480.08.

Ini adalah jumlah detik yang berlalu dari tengah malam hari ini, iaitu dari jam 12:00:00 pagi.

Jadi dari tengah malam 12 hingga waktu sekarang 14:01:20, jumlah 14 jam 1 minit, 20 saat berlalu. Dalam beberapa saat ia sama dengan 50480.08, yang diberikan oleh fungsi TIMER kita.

Contoh

Contoh # 1 - Hitung Jumlah Masa yang diambil oleh Kod anda

Sekarang kita akan melakukan pengekodan sederhana untuk menguji masa yang diambil oleh VBA untuk melaksanakan prosedur. Saya telah menulis beberapa kod, seperti yang ditunjukkan dalam gambar di bawah.

Kod:

Sub Do_Until_Contoh1 () Dim ST Sebagai Single ST = Timer Dim x As Long x = 1 Do Sampai x = 100000 Sel (x, 1). Nilai = xx = x + 1 Loop MsgBox Timer - ST End Sub

Sekiranya saya menjalankan kod ini sekarang, ia akan menunjukkan kepada saya jumlah masa yang diperlukan oleh VBA untuk dilaksanakan.

Ia mengatakan 3.058594. Hasil yang diberikan oleh fungsi ini adalah dalam beberapa saat, iaitu, jumlah masa yang diambil oleh kod ini adalah 3.058 saat.

Untuk anda menggunakan kod, saya telah menulis kod di bawah untuk anda.

Kod:

Sub Timer_Example1 () Dim StartTime As Single StartTime = Timer 'Masukkan kod anda di sini' Masukkan kod anda di sini 'Masukkan kod anda di sini' Masukkan kod anda di sini MsgBox Timer - StartTime End Sub

Gunakan perkara di atas dan taipkan kod anda selepas kod StartTime = Timer, tetapi sebelum kod MsgBox Timer - StartTime, iaitu, di kawasan hijau, anda perlu memasukkan kod anda.

Penjelasan: Pertama, pemboleh ubah StartTime = Timer bermaksud pada masa menjalankan kod adalah sama dengan masa yang berlalu dari tengah malam hingga kod waktu berjalan.

Timer - StartTime: Ini bermaksud setelah menjalankan kod, berapakah masa yang berlalu dikurangkan waktu yang direkodkan pada awal kod melalui waktu mula berubah-ubah .

Ini akan memberi perbezaan antara waktu mula dan akhir dan mengembalikan hasilnya.

Contoh # 2 - Tunjukkan Hasilnya dalam Format Masa Yang Betul

Seperti yang telah kita lihat, hasil yang diberikan oleh fungsi adalah dalam beberapa saat tetapi tidak dalam format yang tepat. Namun, kita dapat menerapkan format waktu VBA ke hasil akhir dengan menggunakan fungsi FORMAT.

Gunakan kod di bawah untuk melihat hasilnya dalam format waktu yang betul, iaitu, format "hh: mm: ss".

Saya telah menggunakan fungsi FORMAT di sini. Hasilnya diberikan oleh (Pemasa - waktu mula). Saya telah membahagikannya dengan nombor 86400 untuk menukarnya menjadi beberapa saat mengikut peraturan format waktu, maka saya telah menerapkan format waktu dalam format jam, minit, dan kedua.

Sekarang, jika saya menjalankan kod, ia akan memberikan hasil seperti ini.

Jadi, jumlah masa yang diambil oleh kod adalah 3 Detik.

Keindahan kod ini adalah saat ia melintasi 60 saat; ia akan menunjukkan hasilnya dalam beberapa minit. Saya telah menghentikan kod saya selama beberapa minit (menggunakan Ctrl + Break) dan melihat hasilnya.

Jadi jumlah masa yang diambil oleh kod ini sekarang adalah 1 minit 2 saat.

Contoh # 3 - Kod Alternatif untuk Pemasa

Terdapat alternatif untuk TIMER dengan menggunakan fungsi SEKARANG () . Berikut adalah kod alternatif.

Perkara yang Perlu Diingat

  • Fungsi TIMER akan meletakkan nilai pada akhir hari, iaitu pada 11:59:59 PM.
  • Fungsi SEKARANG mengembalikan tarikh dan waktu semasa.
  • TIMER menunjukkan jumlah saat yang berlalu dari tarikh semasa tengah malam.

Artikel menarik...