Properti Pembaruan Layar VBA

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 mengatur 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. Ketika tugas sedang dieksekusi, kita dapat melihat layar kita memperbarui nilai sampai makro menyelesaikan tugasnya. Saat layar kita berkedip atau menyegarkan, program excel menjadi lambat dan membutuhkan waktu lebih lama dari biasanya untuk menyelesaikan tugas.

Di VBA kami memiliki properti yang disebut "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?

Jika 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?

Anda dapat mendownload Template Excel ScreenUpdating VBA ini di sini - Template Excel ScreenUpdating VBA

Contoh # 1 - Matikan Pembaruan Layar

Untuk contoh 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 loop VBA bersarang untuk memasukkan nomor seri dari kolom pertama ke kolom ke-50 dan kembali lagi dan memasukkan nomor seri mulai dari 51 dari baris kedua ke kolom ke-50.

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, pertama 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 terlebih dahulu, ia akan memperbarui status pembaruan layar ke FALSE dan melanjutkan ke baris berikutnya.

Sejak makro mengeksekusi Pembaruan Layar ke FALSE, itu tidak akan memungkinkan 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