Pembaruan Layar VBA - Mempercepat Proses Menjalankan Kode

Pembaruan Layar VBA Excel

Pembaruan Layar VBA adalah properti yang digunakan untuk menghindari atau mencegah gangguan berkedip saat menjalankan kode dan membuatnya cepat dengan mematikan Pembaruan Layar. Kita dapat mematikan pembaruan layar dengan menyetel properti ini sebagai false.

Seringkali kita bisa merasakan layar excel menjadi gila saat makro berjalan, dan kita hampir frustrasi karenanya. Tapi bagaimana kita menghadapi situasi ini dan membuat kode berjalan lebih cepat dari biasanya?

Pembaruan Layar adalah sesuatu yang dapat kita perhatikan saat makro excel sedang berjalan. Saat tugas dijalankan, kita dapat melihat layar kita memperbarui nilai sampai makro menyelesaikan tugas yang ditetapkan. Saat layar kita berkedip-kedip atau menyegarkan, itu mengarah pada perlambatan program excel dan membutuhkan waktu lebih lama dari biasanya untuk menyelesaikan tugas.

Di VBA, kami memiliki properti bernama "ScreenUpdating", dan kami menyetel properti ini ke FALSE sehingga akan menghilangkan proses pembaruan layar saat kode sedang berjalan.

Pada artikel ini, kami akan mengucapkan selamat tinggal pada menonton drama aksi di layar saat kode sedang berjalan. Hari ini Anda akan membuat kode Anda berjalan lebih cepat dan lebih cepat dari waktu biasanya.

Kapan menggunakan Fitur Pembaruan Layar?

Misalkan Anda ragu kapan harus menggunakan teknik ini. Perhatikan poin-poin di bawah ini.

  • Saat Anda melakukan perulangan melalui sejumlah besar sel.
  • Mengirim email dari Excel VBA.
  • Beralih di antara buku kerja excel.
  • Membuka buku kerja baru.

Bagaimana cara menggunakan Fitur Pembaruan Layar dalam Kode VBA?

Contoh # 1 - Matikan Pembaruan Layar

Misalnya, lihat kode di bawah ini.

Kode:

Sub Screen_Updating () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 For RowCount = 1 To 50 For ColumnCount = 1 To 50 MyNumber = MyNumber + 1 Cells (RowCount, ColumnCount) Pilih Cells (RowCount, ColumnCount) .Value = MyNumber Berikutnya ColumnCount Berikutnya RowCount End Sub

Di atas memiliki VBA loop bersarang untuk memasukkan nomor seri dari kolom pertama ke 50 th kolom dan lagi datang kembali dan memasukkan nomor seri mulai dari 51 dari baris kedua ke 50 th kolom.

Seperti ini, ini akan disisipkan hingga mencapai baris ke- 50 .

Saat kode ini berjalan, Anda dapat melihat layar Anda berkedip-kedip, dan Anda tidak dapat melakukan apa pun selain menonton momen gila ini.

Untuk menghindari semua ini, kita dapat menambahkan Pembaruan Layar ke FALSE.

Untuk mengakses fitur Pembaruan Layar terlebih dahulu, kita perlu mengakses objek Aplikasi.

Seperti yang bisa kita lihat dengan objek Aplikasi, kita memiliki banyak properti dan metode. Jadi, pilih Pembaruan Layar dari daftar IntelliSense.

Catatan: Anda harus menerapkan fitur Pembaruan Layar segera setelah deklarasi variabel.

Setelah memilih properti Pembaruan Layar, beri tanda sama dengan (=).

Seperti yang bisa kita lihat, dua nilai Boolean, yaitu FALSE & TRUE.

Untuk menghentikan pembaruan layar, setel status ke FALSE.

Sekarang, saat makro mulai berjalan pertama kali, itu akan memperbarui status pembaruan layar ke FALSE dan melanjutkan ke baris berikutnya.

Sejak makro mengeksekusi Pembaruan Layar ke FALSE, itu tidak akan mengizinkan layar untuk memperbarui saat kode sedang menjalankan tugasnya.

Contoh # 2 -

Selalu Setel Pembaruan Layar ke BENAR di Akhir

Saya telah melihat banyak orang menyetel Pembaruan Layar ke SALAH tetapi lupa untuk menyetelnya kembali ke TRUE di akhir makro.

Selalu atur Pembaruan Layar kembali ke BENAR di akhir makro.

Kode:

Sub Screen_Updating () Dim RowCount As Long Dim ColumnCount As Long Red MyNumber As Long Application.ScreenUpdating = False MyNumber = 0 Untuk RowCount = 1 Sampai 50 Untuk ColumnCount = 1 Sampai 50 MyNumber = MyNumber + 1 Cells (RowCount, ColumnCount) Pilih Sel (RowCount, ColumnCount) .Value = MyNumber Berikutnya ColumnCount Aplikasi RowCount Berikutnya.ScreenUpdating = True End Sub

Artikel yang menarik...