Ada beberapa cara untuk membuat macros
yang kita buat berjalan secara otomatis ketika pertama kali membuka workbook.
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 round untuk 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”)
Menyisipkan
Baris dan Kolom
Kode berikut akan menyisipkan baris diatas range
A1,
Range(“A1”).Select
Selection.EntireRow.Insert
Sedang yang berikut akan menyisipkan satu kolom
disamping kiri range A1,
Range(“A1”).Select
Selection.EntireColumn.Insert
Mengatur
Ulang Ukuran Range
Selection.Resize(7,7).Select
Memberi Nama
Range
Selection.Name = “nama”
Menyimpan
File
Kode berikut berguna untuk menyimpan file tanpa
memberi nama,
ActiveWorkbook.Save
Sedangkan bila Anda hendak memberi nama (SaveAs),
gunakan kode berikut,
ActiveWorkbook.SaveAs Filename:=”C:\coba.xls”
Penjadwalan
Kadang-kadang kita hendak menjadwalkan sebuah tugas
kepada Excel, contohnya menyimpan file pada jam-jam tertentu. VBE dapat
melakukannya dengan menggunakan fungsi Application.OnTime. Sebagai
contoh, kode dibawah ini akan menjalankan prosedur Simpan( ) pada jam
12:00 dan 16:00, prosedur Simpan( ) sendiri berisi perintah untuk
menyimpan file,
Sub tugas()
Application.OnTime TimeValue("12:00:00"),
"Simpan"
Application.OnTime TimeValue("16:00:00"),
"Simpan"
End Sub
Sub Simpan()
ActiveWorkbook.Save
End Sub
Bila Anda hendak merubah jamnya, missal jam 10:03:05,
maka rubah TimeValue menjadi TimeValue(“10:03:05”).
Sedangkan bila Anda hendak melakukannya satu jam
setelah prosedur tugas( ) dijalankan maka rubahlah kodenya seperti demikian,
Sub tugas()
Application.OnTime
Now + TimeValue("01:00:00"), "Simpan"
End Sub
Perhatikan penambahan kata “Now”. Kode-kode di atas
bekerja bila disimpan dalam module, bula Anda ingin menyimpannya di
dalam Sheet1 (atau worksheet manapun), maka rubahlah “Simpan” menjadi Sheet1.Simpan