Thursday, November 24, 2016

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. 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 agar pemrograman VBA lebih efisien, menghasilkan kualitas yang baik dari output, untuk menghemat waktu, dan akan terlihat lebih profesional.



Berikut Teknik Mempercepat Proses Menjalankan Aplikasi VBA Excel :
  • Turn off Screen Updating
Application.ScreenUpdating = False
'.........Kode yang akan dijalankan.........
Application.ScreenUpdating = True
  • Turn off ‘Automatic Calculations’
Application.Calculation = xlCalculationManual
'.........Kode yang akan dijalankan.........
Application.Calculation = xlCalculationAutomatic
  • Disable Events
Application.EnableEvents = False
'.........Kode yang akan dijalankan.........
Application.EnableEvents = True
  • Menggunakan ‘WITH’ Statement
With Worksheets("Sheet1").Range("A1")
.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

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
  • 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
  • Menghindari Jumlah Baris  dan Menggunakan Titik Dua (:)
Bila kita dapat menulis kode VBA dalam satu baris, kenapa harus menulisnya dengan beberapa baris yang akan memperlambat
Contoh 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

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

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

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
  • 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

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
  • 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

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.

Komentar Anda Sangat Menentukan Kelangsungan Blog ini
EmoticonEmoticon