Record Macro adalah salah satu fitur yang sangat berguna bagi pemakain Excel baik user pemula maupun user yang sudah berpengalaman. Namun, kode macro yang dihasilkan dari proses perekaman Makro tersebut kadang butuh sentuhan lanjutan agar lebih rapi dan berjalan lebih cepat.
Beberapa tips berikut bisa dijadikan pedoman.
Selection.Font.Bold = True
Selection.Copy
Range("A2").Select
ActiveSheet.Paste
Range("A1").Copy
Range("A2").Paste
Beberapa tips berikut bisa dijadikan pedoman.
- Buanglah kata Select yang diikuti kata Selection
Untuk menambah efek Bold terhadap sebuah sel (A1, misalnya), maka langkah awal biasanya adalah men-Select sel A1, kemudian meng-klik simbol B di toolbar. Jika langkah-langkah tersebut di rekam, kode macro yang dihasilkan adalah :Range("A1").Select
Selection.Font.Bold = True
Kode makro seperti di atas, bisa dirapikan dengan menghapus kata Select dan Selection:Range("A1").Font.Bold = True
Dengan cara di atas, ada dua keuntungan yang bisa didapat, pertama mengurangi jumlah baris dan kedua, menjadikan makro kita berlari lebih kencang.
- Merapikan kode Copy dan Paste
Perhatikan kode hasil record makro berikut:Range("A1").Select
Selection.Copy
Range("A2").Select
ActiveSheet.Paste
Kode di atas bisa dirapikan dengan:
Range("A1").Copy
Range("A2").Paste
atau :
Range("A1").Copy Destination:=Range("A2")
- Rapikan penggunaan With …… End With
Misal kita ingin memformat sel A1 dengan warna kuning. Dengan cara merekam didapatkan kode berikut:
Range("A1").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Karena kita hanya butuh kode warna saja, maka kode di atas bisa dimodif seperti berikut:
With Range("A1").Interior
.Color = 65535
End With
atau :
Range("A1").Interior.color = 65535
- Hapus ScrollRow dan ScrollColumn jika tidak perlu
Selama proses merekam, terkadang kita menggulung layar secara horizontal maupun vertikal. Seringkali proses tersebut tidaklah begitu penting. Misal saat ini kita sedang berada di sel A1 dan ingin men-Select sel AA100, mau tidak mau kita harus menggulung layar ke kanan dan ke bawah. Padahal yang kita inginkan hanya menselect AA100. Maka proses penggulungan layar tersebut bisa dibuang. Perhatikan kode berikut:
Range("A1").Select
ActiveWindow.SmallScroll ToRight:=7
ActiveWindow.SmallScroll Down:=80
Range("AA100").Select
Kode di atas, bisa langsung: Range("AA100").Select
- Jangan tampilkan perubahan di layar selama proses
Record Macro adalah proses merekam sesuatu yang dilakukan user. Jadi ketika dijalankan, segala perubahan di layar akan juga ditampilkan dalam waktu yang cepat. Agar lebih menawan, perubahan-perubahan yang terjadi selama proses-proses tersebut bisa kita sembunyikan, hanya hasilnya yang ditampilkan, yakni dengan mengeset ScreenUpdating menjadi FALSE di awal proses, dan mengembalikan lagi menjadi TRUE di akhir proses. Memang, untuk proses yang pendek hal seperti ini kurang terlihat bedanya, tapi untuk langkah yang agak panjang, maka perbedaannya akan cukup terasa.
Contoh :
Sub FormatDanKopiSel()
Application.ScreenUpdating = False
Range("A1").Interior.ColorIndex = 5
...........
....... dst
Range("AA100").Select
Application.ScreenUpdating = True
End Sub
Demikian tips hari ini, semoga bermanfaat
6 komentar:
Mantap. Sangat membantu untuk yang baru belajar macro
Amin........
Makasih Mas Heru..two thumbs up !!
manthap sekali mas Heru,,, terima kasih tips dan infonya... tambah lagi donk....
Terima kasih mas, postingan anda sangat membantu sekali. muaaantap poool......
Keran Banget mas bro, sangat membantu
Posting Komentar