VBA

Killing Time

Pada dasarnya posting ini adalah proses sesuai judul, yaitu: “Killing Time”, ntah karena jenuh perlu refreshing, atau karena penyebab lain, saya g mengerti.

Kemarin sore saya mencari kode-kode VBA di mbah Googgle dengan kata kunci VBA animation, dan hasilnya adalah:

Sub Tester1()
Dim sp As String
Dim sTxt As String
Dim x As Integer, y As Integer
Dim Start, delay

sTxt = "Hi there!!"
For y = 1 To 15 '15 Loops through the scrolling
For x = 1 To 30 'Index number of times
Start = Timer 'Set start to internal timer
delay = Start + 0.15 'Set delay for .15 secs
Do While Timer < delay 'Do the display routine
[D6] = Space(x) & sTxt 'Show 1 str @ a time
DoEvents 'do there things
Loop 'Loop until delay is up
DoEvents
Start = Timer 'and reset the timer
delay = Start + 0.15 'and the delay
Next x 'Show the next str
Next y 'Do this again - 15
[D6] = "" 'Reset
End Sub

Dengan menggunakan kode di atas bisa membuat animasi ‘text’ di dalam excel
Untuk variasi lainnya bisa dilakukan dengan modifikasi sesuai selera. Tadinya saya mau menautkan link dimana saya mengcopy datanya, tetapi jaringan lagi error, sehingga nanti akan diupdate sumber kodenya.

Semoga bermanfaat 😉

Update: Sudah ada sumber link nya : Disini

Iklan

Tip Mempercepat Kerja Macro Excel

Ada beberapa tip untuk mempercepat kinerja macro excel yang saya dapat dari web ini. Tulisannya saya modifikasi sedikit dengan data kurang lebih sama.

Tip ke-1: >> Application.ScreenUpdating = False perintah ini membuat proses macro Excel berjalan tanpa memperlihatkan perubahan yang terjadi pada layar Excel. Selama proses macro berjalan, tampilan window Excel tidak akan berubah sampai nanti proses macro ini selesai.

Sebagai contoh, bandingkan 2 kode macro ini dari segi kecepatan.
‘tanpa Application.ScreenUpdating
Sub Macro1()
  For i = 1 to 20000 step 1
     Cells(i,2) = i
  Next i
End Sub
‘dengan Application.ScreenUpdating
Sub Macro2()
Application.ScreenUpdating = False
  For i = 1 to 20000 step 1
     Cells(i,2) = i
  Next i
End Sub
Contoh file yang menggunakan  Application.ScreenUpdating = False  dapat didownload pada file berikut ini: Download di Sini
File di atas adalah file yang berfungsi merekap semua yang terdapat dalam berbagai sheet dan dimasukkan hanya pada 1 sheet saja.  Data Sheet1+Sheet2+Sheet3 —>> Sheetkombinasi

Tip ke-2: >>  Hindari perintah Select,  Sewaktu mengolah Cells di Excel, sebaiknya hindari perintah Select, yang mana dengan perintah ini maka komputer akan mengalokasikan sebagian memory untuk memindahkan kursor kelokasi cell yang di “select”, dan ini berarti butuh sejumlah memory untuk merubah tampilan layar aplikasi Excel, Misalkan:

Cells(3,4).Select
Selection.Interior.ColorIndex = 30
Bisa dibuat menjadi
Cells(3,4).Interior.ColorIndex = 30
Bandingkan 2 contoh kode berikut ini:
‘dengan perintah select
Sub Macro1()
  For i = 1 to 20000 step 1
     Cells(i,2).select
     Selection.Value = i
  Next i
End Sub
 ‘tanpa perintah select
Sub Macro1()
  For i = 1 to 20000 step 1
     Cells(i,2).Value = i
  Next i
End Sub

Tip ke-3: >>  Gunakan Matriks / Array

Untuk pengolahan data dalam jumlah besar, gunakan Array atau Matriks. Jadi data yang ada dalam file Excel dicopy terlebih dahulu menjadi sebuah database Array,