Cara Dan Teknik Mempercepat Aplikasi VBA Excel
Sering sekali Aplikasi VBA Excel terlihat lebih lambat dalam beroperasi dan menjalankan prosesnya. Ini disebabkan oleh berapa filtur yang bekerja otomatis saat Excel dijalankan.
Ilustrasi |
Ditambah lagi dengan jumlah data yang banyak sehingga beban aplikasi semakin banyak. Aplikasi yang lambat akan menghambat pekerjaan.
Pekerjaan yang seharusnya dapat diselesaikan dengan cepat namun selesai diluar jadwal seharusnya.
Setiap pengguna aplikasi sangat menginginkan aplikasi yang dipakainya merupakan aplikasi yang bekerja secara cepat.
Kita perlu Optimalkan kode VBA untuk menjalankan macro lebih cepat.
Saat menjalankan VBA makro berjalan dengan baik agar lebih efisien, menghasilkan kualitas yang baik dari output, untuk menghemat waktu, dan akan terlihat lebih profesional.
Berikut Teknik Mempercepat Proses Menjalankan Aplikasi VBA Excel :
Gunakan kode-kode yang disampaikan pada artikel ini dengan judul Cara Dan Teknik Mempercepat Aplikasi VBA Excel.
Buatlah sebuah experiment untuk melihat kecepatan aplikasi ketika menggunakan kode-kode yang ada dibawah ini
Dengan membuat experiment sendiri anda akan lebih dapat memahami perbedaan ketika menggunakan kode yang diterapkan dalam aplikasi.
- Turn off Screen Updating
Application.ScreenUpdating = False
'.........Kode yang akan dijalankan.........
Application.ScreenUpdating = True
'.........Kode yang akan dijalankan.........
Application.ScreenUpdating = True
- Turn off ‘Automatic Calculations’
Application.Calculation = xlCalculationManual
'.........Kode yang akan dijalankan.........
Application.Calculation = xlCalculationAutomatic
'.........Kode yang akan dijalankan.........
Application.Calculation = xlCalculationAutomatic
- Disable Events
Application.EnableEvents = False
'.........Kode yang akan dijalankan.........
Application.EnableEvents = True
'.........Kode yang akan dijalankan.........
Application.EnableEvents = True
- Menggunakan ‘WITH’ Statement
With Worksheets("Sheet1").Range("A1")
.Value = 100
.Font.Bold = True
End With
.Value = 100
.Font.Bold = True
End With
- Hindari Recording Macro
Sangat dianjurkan untuk tidak menggunakan Recording Macro. Recording Macro akan menunjukkan pada effek penampilan data dan memperlambat kecepatan.Sebagai contoh di Cell "D6" berwarna kuning dan font jadi Bold dengan menggunakan Recording Macro maka kodenya akan seperti dibawah ini sangat memperlambat kecepatan
Sub Macro1()
' Macro1 Macro
Range("D6").Select
Selection.Font.Bold = True
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
' Macro1 Macro
Range("D6").Select
Selection.Font.Bold = True
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
Sementara jika kita menghindari Recording Macro agar kecepatan aplikasi meningkat maka kode VBA ditulis sebagai berikut :
Sub Change_Cell_Font()
With Range("C5")
.Font.Bold = True
.Interior.Color = 65535
End With
End Sub
With Range("C5")
.Font.Bold = True
.Interior.Color = 65535
End With
End Sub
- Gunakan vbNullString bukannya ""
Private Sub CommandButton1_Click()
If TextBox1.Value = vbNullString Then
MsgBox " Data Kosong!!", 16, "Aplikasi"
Else
MsgBox " Data ada.!!", 64, "Aplikasi"
End If
End Sub
If TextBox1.Value = vbNullString Then
MsgBox " Data Kosong!!", 16, "Aplikasi"
Else
MsgBox " Data ada.!!", 64, "Aplikasi"
End If
End Sub
- Menghindari Jumlah Baris dan Menggunakan Titik Dua (:)
Bila kita dapat menulis kode VBA dalam satu baris, kenapa harus menulisnya dengan beberapa baris yang akan memperlambatContoh 1
Kita dapat mendeklarasi Variable dengan cara sebaris seperti cara berikut yang akan memberikan effect lebih memcepat aplikasi
Sub Declare_Variables()
Dim cINtaku As Integer, padaMU As Integer
End Sub
Dim cINtaku As Integer, padaMU As Integer
End Sub
dari pada menulis kode Variable seperti dibawah ini yang akan memberikan effeck memperlambat
Sub Declare_Variables()
Dim cINtaku As Integer
Dim padaMU As Integer
End Sub
Dim cINtaku As Integer
Dim padaMU As Integer
End Sub
Contoh 2
Kita dapat menggunakan titik dua (:) untuk menulis beberapa Variable dalam satu baris dengan cara berikut yang akan mempercepat aplikasi
Sub Use_Colon_ForMultipleLine()
Dim iCnt As Integer, jCnt As Integer
iCnt = 5: jCnt = 10
End Sub
Dim iCnt As Integer, jCnt As Integer
iCnt = 5: jCnt = 10
End Sub
Jangan membuat Variable seperti kode dibawah ini yang akan memperlambat aplikasi
Sub Use_Colon_ForMultipleLine1()
Dim iCnt As Integer, jCnt As Integer
iCnt = 5
jCnt = 10
End Sub
Dim iCnt As Integer, jCnt As Integer
iCnt = 5
jCnt = 10
End Sub
- Gunakan pendekatan yang terbaik untuk Copy dan Paste
Gunakan Kode seperti dibawah ini bila menggunakan Copy dan Paste agar aplikasi lebih cepat bekerja
Sub CopyPaste_Ex2()
Sheets("Source").Range("A1:E10").Copy Destination:=Sheets("Destination").Range("A1")
End Sub
Sheets("Source").Range("A1:E10").Copy Destination:=Sheets("Destination").Range("A1")
End Sub
Jangan gunakan kode untuk keperluan Copy dan Paste seperti kode barikut yang akan memperlambat aplikasi anda
Sub CopyPaste_Ex1()
Sheets("Source").Range("A1:E10").Copy
Sheets("Destination").Range("A1").PasteSpecial
Application.CutCopyMode = False
End Sub
Sheets("Source").Range("A1:E10").Copy
Sheets("Destination").Range("A1").PasteSpecial
Application.CutCopyMode = False
End Sub
- Gunakan False dan True untuk perintah menghentikan beberapa hal berikut di excel.
Application.DisplayAlerts = False
Application.DisplayFullScreen = True
Application.Visible = True
Application.DisplayFormulaBar = False
Application.ActiveWindow.DisplayWorkbookTabs = False
Application.ActiveWindow.DisplayHeadings = False
Application.DisplayScrollBars = False
Application.DisplayFullScreen = True
Application.Visible = True
Application.DisplayFormulaBar = False
Application.ActiveWindow.DisplayWorkbookTabs = False
Application.ActiveWindow.DisplayHeadings = False
Application.DisplayScrollBars = False
Demikian Posting Teknik Mempercepat Aplikasi VBA Excel. Semoga dapat membantu anda yang ingin aplikasi yang dibuat dapat bekerja dengan effectif. Sharing bersama saya di kolom kementar.
Jika artikel ini dirasakan bermanfaat mohon dapat dishare ke teman-teman lain melalui media sosial.
Sampaikan pertanyaan saran serta kritikan yang membangun secara bijaksana pada kolom komentar yang tersedia dibawah artikel.
Saya masih pemula menggunakan VBa
BalasHapusterimakasih artikel, sangat bermanfaat.
Sama-sama Mas Eko Yuniarto...
HapusTerimkasih sudah mau berkunjung...
Pelajarilah Step by step sesuai kebutuhan..
List view yg menampilkan data dr sheet. Saat form dibuka menjadi lambat. Karna data terlalu banyak.apakah ada solusinya?
BalasHapussalah satu kelemahan excel jika data terlalu.... terlu banyak.. maka akan lambat merespon..
Hapus