Excel VBA: Cara Mengatasi Layar Berkedip (Flickering) dan Optimalisasi Kecepatan Saat Makro Jalan
Selalu Gunakan Tiga Baris Kode Ini Diawal Macro
tingkat : MAHIR

Salin Kode (Script) di Sini
' tiga baris kode ditaruh diawal dan diakhir macro
' pertama non-aktifkan semua
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.EnableEvents = False
'-----------------------------
'>> tulis macro kalian disini
'-----------------------------
' terakhir jangan lupa aktifkan lagi semua
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Application.EnableEvents = True
Apakah Kode Ini Bisa Jalan di Excel & Google Sheets?
| MS EXCEL – VBA | GOOGLE SHEETS – APPSCRIPTS |
|---|---|
| ✅ | ❌ |
Mengapa Anda Butuh Kode Ini?
Pernahkah kalian ketika membuat automasi lalu :
- Layar berkedip atau “lari-lari” sendiri?
- Tiba-tiba ada pop-up peringatan seperti “Apakah Anda yakin ingin menghapus sheet ini?”
- Secara tidak sengaja bertabrakan dengan makro lain
Jika semua jawaban iya, lalu bagaimana cara mengatasi layar berkedip (flickering) dan optimalisasi kecepatan saat makro berjalan? jawabannya kalian membutuhkan tiga baris kode ini. Berikut penjelasan tiap baris kode:
Application.ScreenUpdating 'untuk mencegah automasi flickering atau berkedip
Application.DisplayAlerts 'untuk mencegah Excel pop-up message peringatan ditengah automasi
Application.EnableEvents 'untuk mencegah Excel meng-eksekusi makro lain ketika menjalankan makroNilai FALSE artinya semua tidak aktif, sedangkan nilai TRUE artinya semua akan aktif kembali.
💡Pro Tips : hampir semua macro automasi yang saya buat selalu menggunakan ini sebagai finalisasi agar automasi berjalan lancar dan lebih cepat.
Manfaat Nyata untuk Efisiensi Bisnis
Dengan menerapkan Excel VBA selain untuk mengatasi layar berkedip, kombinasi tiga baris kode ini memberikan dampak instan pada operasional kerja tim Anda:
- Kecepatan Eksekusi Maksimal: Memangkas waktu tunggu proses data (bisa menghemat waktu hingga 50% lebih cepat).
- Pengalaman Pengguna yang Profesional: Menghilangkan kedipan layar yang membuat aplikasi Excel buatan Anda terlihat buggy atau rusak.
- Otomatisasi Tanpa Henti: Menekan semua pop-up konfirmasi (seperti alert “Apakah Anda ingin menghapus sheet ini?”), sehingga makro bisa berjalan otomatis dari awal sampai akhir tanpa perlu diklik manual oleh staf Anda.
Dampak ini secara tidak langsung melengkapi automasi yang kita buat menjadi lebih sempurna, menambah estetik, dan kecepatan.
Persyaratan Teknis
Terdapat beberapa persyaratan teknis agar VBA ini berjalan yaitu:
- Workbook sudah di save sebagai macro enabled workbook (.xlsm atau .xlsb)
- Macro setting sudah “Enabled VBA macros”, jika belum silahkan baca artikel ini untuk enable macro
- Excel VBA pada artikel ini hanya bekerja dengan menggunakan Windows OS terbaru, tidak kompatibel dengan Mac OS
💡 Susah? atau proyek anda lebih kompleks?
Tutorial kali ini membutuhkan pemahaman Excel tingkat Mahir. Jika Anda sedang menghadapi proyek kantor yang lebih kompleks, dikejar deadline, atau ingin sistem otomatisasi yang langsung beres tanpa perlu repot coding dari nol, mari diskusikan proyek Anda bersama saya di admin@excelinaja.com.
FAQ – Pertanyaan yang sering ditanyakan
Jawaban: Layar berkedip (flickering) terjadi karena Excel secara otomatis terus memperbarui visual lembar kerja (render ulang) setiap kali ada perubahan data, perpindahan sel, atau perpindahan antar-sheet di dalam kode program Anda. Di dunia kerja, proses visual yang berulang-ulang ini tidak hanya mengganggu mata, tetapi juga membuat performa makro Anda menjadi sangat lambat (lemot) saat mengolah data massal.
Jawaban: Fungsi utamanya adalah untuk mematikan pembaruan visual layar secara sementara selama proses makro berjalan. Dengan membekukan visual layar, Excel tidak perlu membuang daya komputasi untuk menampilkan perubahan sel satu per satu, sehingga mampu menghilangkan layar berkedip sekaligus mempercepat waktu eksekusi kode makro hingga berkali-kali lipat.
Jawaban: ScreenUpdating mengatur pembaruan visual layar agar tidak berkedip. DisplayAlerts berfungsi untuk menyembunyikan pesan peringatan bawaan Excel (seperti konfirmasi saat menghapus sheet). Sementara EnableEvents digunakan untuk mematikan pemicu otomatis rumus/makro lain (seperti fungsi Worksheet_Change) agar tidak berjalan tumpang tindih saat kode utama Anda sedang dieksekusi.
Jawaban: Anda wajib menyalakan kembali fitur pembaruan layar di akhir baris kode program sebelum prosedur makro selesai (End Sub). Caranya adalah dengan menuliskan perintah Application.ScreenUpdating = True. Jika Anda lupa menyalakan perintah ini, layar Excel Anda akan terlihat macet, membeku, atau tidak merespons perubahan data baru setelah makro selesai.
Jawaban: Masalah layar membeku (freeze) setelah makro berjalan biasanya terjadi karena munculnya error di tengah-tengah proses eksekusi kode, sehingga baris perintah Application.ScreenUpdating = True di bagian bawah terlewati dan tidak sempat dijalankan. Solusinya, Anda wajib menggunakan teknik penanganan error di awal kode, seperti menyisipkan perintah On Error GoTo PerbaikiLayar untuk menjamin visual Excel selalu kembali normal dalam kondisi apa pun.
