Beberapa Contoh Kode Macro
AUTO RUN
Ada beberapa cara
untuk membuat macros yang kita buat berjalan secara
otomatis ketika pertama kali membukaworkbook. Yang pertama adalah Auto
Open Method, yang diletakkan di modules, kedua adalah Workbook
Open Method, yang diletakkan di pada obyek Workbook (lihat
penjelasan pada langkah 3). Dua Contoh kode berikut akan menampilkan pesan “hi”
ketika Workbook pertama kali dibuka.
Sub Auto_Open( )
Msgbox “hi”
End Sub
Private Sub Workbook_Open( )
Msgbox “hi”
End Sub
MENGHITUNG ROWS, COLUMNS DAN
SHEET
Kode berikut digunakan
untuk menghitung berapa jumlah rows (baris) atau columns(kolom)
yang telah kita sorot dengan kursor.
Sub Hitung( )
hitung_baris = Selection.Rows.Count
hitung_kolom = Selection.Columns.Count
MsgBox hitung_baris & " "
& hitung_kolom
End Sub
Sub hitung_sheet( )
hitung_sheet = Application.Sheets.Count
Msgbox hitung_sheet
End Sub
MENG-KOPI RANGE
Contoh berikut akan
meng-kopi range A1 sampai A3 ke D1 sampai D3
Sub Kopi_Range( )
Range (“A1:A3”).Copy
Destination:=Range(“D1:D3”)
End Sub
WAKTU SEKARANG
Contoh berikut akan
menampilkan waktu pada saat ini
Sub sekarang( )
Range (“A1”)= Now
End Sub
MENGETAHUI POSISI SEL YANG
SEDANG AKTIF
Sub posisi( )
baris = ActiveCell.Row
kolom = ActiveCell.Column
Msgbox baris & “,” & kolom
End Sub
MENGHAPUS BARIS YANG KOSONG
Sub hapus_baris_kosong( )
Rng = Selection.Rows.Count
ActiveCell.Offset(0, 0).Select
For i = 1 To Rng
If ActiveCell.Value = "" Then
Selection.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Next I
End Sub
Menebalkan dan Mewarnai
Huruf (Font)
Contoh berikut akan
menebalkan dan memberi warna merah pada huruf dimana sel sedang aktif.
Sub tebal_merah( )
Selection.Font.Bold = True
Selection.Font.ColorIndex = 3
End Sub
MENGIRIMKAN WORKBOOK MELALUI
EMAIL
Sub email( )
ActiveWorkbook.SendMail
recipients:= ”excel@ahoo.c”
End Sub
FUNGSI EXCEL
Menggunakan fungsi
bawaan Excel dalam VBE hampir sama dengan menggunakannya dalam Excel. Misal
fungsi rounduntuk membulatkan sebuah angka, dalam spreadsheet akan
terlihat seperti ini
= round(1.2367, 2)
Dalam VBE Anda cukup
menggunakan Application kemudian disusul fungsi yang akan
dipakai.
Sub bulat( )
ActiveCell = Application.Round(ActiveCell,
2)
End Sub
MENGHAPUS NAMA-NAMA RANGE
Contoh berikut akan
menghapus semua nama-nama range di dalam workbook Anda
Sub hapus_nama_range( )
Dim NameX As Name
For Each NameX In Names
ActiveWorkbook.Names(NameX.Name).Delete
Next NameX
End Sub
LAYAR BERKEDIP
Program dalam macros yang
sedang berjalan dapat membuat layar berkedip-kedip, untuk menghentikannya Anda
dapat menyisipkan kode berikut.
Application.ScreenUpdating = False
MENUJU RANGE TERTENTU
Untuk menuju suatu range tertentu,
kode-kode berikut dapat digunakan.
Application.Goto
Reference:=”A1”
Atau,
Range(“A1”).Select
MENUJU SHEET TERTENTU
Sedangkan untuk
menuju worksheet tertentu, gunakan kode-kode berikut.
Sheets(1).Select
Atau
Sheet1.Select
Untuk menuju Sheet terdepan
(nomor 1)
Sheet(“coba”).Select
Untuk menuju Sheet bernama
“coba”
MENYEMBUNYIKAN WORKSHEET
Kode berikut berfungsi
untuk menyembunyikan Sheet1
Sheet1.Visible = xlSheetVeryHidden
Pengguna tidak dapat
membuka sheet yang telah disembunyikan dengan cara ini, hanya
dengan kode VBE sheet dapat dibuka kembali.
INPUT BOX
Kode berikut berguna
untuk memunculkan Input Box
InputBox(“Masukkan Nama”)
Menebalkan dan Mewarnai
Huruf (Font)
Contoh berikut akan
menebalkan dan memberi warna merah pada huruf dimana sel sedang aktif.
Sub tebal_merah( )
Selection.Font.Bold = True
Selection.Font.ColorIndex = 3
End Sub
MENGIRIMKAN WORKBOOK MELALUI
EMAIL
Sub email( )
ActiveWorkbook.SendMail
recipients:= ”excel@ahoo.c”
End Sub
FUNGSI EXCEL
Menggunakan fungsi
bawaan Excel dalam VBE hampir sama dengan menggunakannya dalam Excel. Misal
fungsi rounduntuk membulatkan sebuah angka, dalam spreadsheet akan
terlihat seperti ini
= round(1.2367, 2)
Dalam VBE Anda cukup
menggunakan Application kemudian disusul fungsi yang akan
dipakai.
Sub bulat( )
ActiveCell = Application.Round(ActiveCell,
2)
End Sub
MENGHAPUS NAMA-NAMA RANGE
Contoh berikut akan
menghapus semua nama-nama range di dalam workbook Anda
Sub hapus_nama_range( )
Dim NameX As Name
For Each NameX In Names
ActiveWorkbook.Names(NameX.Name).Delete
Next NameX
End Sub
LAYAR BERKEDIP
Program dalam macros yang
sedang berjalan dapat membuat layar berkedip-kedip, untuk menghentikannya Anda
dapat menyisipkan kode berikut.
Application.ScreenUpdating = False
MENUJU RANGE TERTENTU
Untuk menuju suatu range tertentu,
kode-kode berikut dapat digunakan.
Application.Goto
Reference:=”A1”
Atau,
Range(“A1”).Select
MENUJU SHEET TERTENTU
Sedangkan untuk
menuju worksheet tertentu, gunakan kode-kode berikut.
Sheets(1).Select
Atau
Sheet1.Select
Untuk menuju Sheet terdepan
(nomor 1)
Sheet(“coba”).Select
Untuk menuju Sheet bernama
“coba”
MENYEMBUNYIKAN WORKSHEET
Kode berikut berfungsi
untuk menyembunyikan Sheet1
Sheet1.Visible = xlSheetVeryHidden
Pengguna tidak dapat
membuka sheet yang telah disembunyikan dengan cara ini, hanya
dengan kode VBE sheet dapat dibuka kembali.
INPUT BOX
Kode berikut berguna
untuk memunculkan Input Box
InputBox(“Masukkan Nama”)