Pemasa VBA

Fungsi Pemasa Excel VBA

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

Dengan kata mudah, PEMASA memberikan jumlah detik yang hilang dari tengah malam hari ini. Dari baris pertama kod, kita benar-benar dapat melacak 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 mengembalikan jumlah detik yang berlalu dari tengah malam tarikh semasa. Semasa saya menulis artikel ini, jam 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 pukul 12:00:00 pagi

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

Contoh

Anda boleh memuat turun Templat VBA Timer Excel ini di sini - Templat VBA Timer Excel

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 As 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 diambil 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 waktu berjalan kod.

Timer - StartTime: Maksudnya 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 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, kemudian saya telah menerapkan format waktu dalam format jam, minit, dan kedua.

Sekarang jika saya menjalankan kod itu 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.