Adabeberapa 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
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-kopiRange
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
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
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
MenujuRangeTertentu
Untuk menuju suatu range tertentu, kode-kode berikut dapat digunakan.
Application.Goto Reference:=A1
Atau,
Range(A1).Select
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)
Sedang yang berikut akan menyisipkan satu kolom disamping kiri range A1,
Range(A1).Select
Selection.EntireColumn.Insert
MengaturUlangUkuranRange
Selection.Resize(7,7).Select
MemberiNamaRange
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 jam12:00 dan16: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
Desember 17, 2011 Posted by Nass | VB-Excel | Tinggalkan komentar
Mengendalikan Range
Rate This
beri nama macro tersebut dengan nama Coba, dan shortkey tombol q di keyboard
Anda.
Range(A1).Select
Merupakan perintah pada VB Excell untuk memilih range A1, bila A1 diubah
menjadi A4 maka kata coba akan dituliskan pada range A4.
ActiveCell.FormulaR1C1 = coba
Berarti pada sel aktif yang telah dipilih (select) rumus (Formula) coba akan
dituliskan. Activecell sendiri menunjuk pada sel dimana kursor aktif.
bila dijalankan, maka kode ini akan menghasilkan yang sama dengan sebelumnya.
MenggunakanRangedengan Cell
Kita dapat membuat sebuah range pada Excell sebagai titik pusat lalu dengan
bantuan Cells(Rowindex, Columnlindex)., kita dapat menempatkan sebuah nilai
atau rumus disekitarRange yang menjadi pusat. Sebagai contoh tuliskan kode ini
pada Sub Coba()
Range(D5).Cells(1, 1).Value = pusat
Range(D5).Cells(0, 1).Value = atas
Range(D5).Cells(2, 1).Value = bawah
Range(D5).Cells(1, 0).Value = kanan
Range(D5).Cells(1, 2).Value = kiri
Bila kita menginginkan sel yang menjadi titik pusat adalah sel dimana kursor aktif,
maka kode berikut dapat digunakan
ActiveCell.Offset(0, 0).Value = pusat
ActiveCell.Offset(0, 1).Value = kiri
ActiveCell.Offset(0, -1).Value = kanan
ActiveCell.Offset(1, 0).Value = bawah
ActiveCell.Offset(-1, 0).Value = atas
Multiple Range
Kita sudah mempelajari bagaimana menujuk sebuah range tunggal sebagai sasaran
pemograman. Sekarang bagaimana bila kita menginginkan multiple range.
Range (A1:C3).value = oke
Range(A1,D4).value = oke2
Kode-kode di atas menunjuk pada multiple range. Pada kode pertama yang ditunjuk
adalah range A1 sampai C3, sedanga yang kedua adalah A1 sampai D4.
Range Bernama
Bagi Anda yang sering menggunakan Excel, mungkin sering memberi nama pada
sebuah range untuk mempermudah pekerjaan. Pertanyaan dapatkah menunjuk
range bernama tersebut dalam VB Excel ? jawabannya, DAPAT!!
Misalkan Anda memiliki sebuah range yang bernama sel, maka range ini dapat
ditunjuk dengan kode Range (sel), sebagai contoh:
Range (sel).value = ini sel
MembuatSebuahVariabeldariRange
Membentuk sebuah variabel dari range sangatlah mudah pada VBE. Tujuannya agar
mempermudah dalam pemograman. Pertama kita harus membuat dimensinya
terlebih dahulu, caranya dengan menuliskan kode seperti ini:
Dim Pesan As Range
Kemudian kita set variabel tersebut, sesuai dengan range yang kita inginkan ;
Set Pesan = Range(A1)
Atau
Set Pesan = Range(A1).Cells(1, 2)
atau
Set Pesan = Sheet1.Range(A1)
atau
Set Pesan = Sheets(Sheet3).Range(A1)
Kemudian kita dapat melakukan operasi range pada variabel yang telah dibentuk.
Sebagai contoh
Dim Pesan As Range
Set Pesan = Sheet1.Range(A1)
Pesan.Value = pesan nih
Pesan(1, 2).Value = pesan kedua
Range A1 pada Sheet1 akan tertulis pesan nih dan range A2 akan tertulis pesan
kedua. Sebab Pesan(1,2) sama dengan Sheet1.Range(A1).Cells(1,2).
Sebenarnya kita dapat membentuk variabel tanpa membuat dimensinya terlebih
dahulu, tetapi cara ini idak dianjurkan karena memboroskan memori. Caranya
adalah seperti demikian:
Set Pesan = Sheet1.Range(A1)
Pada kasus ini perintah-perintah berikut bisa bekerja,
Pesan.Value = pesan nih
Pesan(1, 2).Value = pesan kedua
Rate This
Untuk membuat Makro Excel Anda harus membuka sebuah file Microsoft
Excel(contohnya book1.xls). Selanjutnya Anda dapat membuat Makro dengan
beberapa cara :
1. Create Macro (Alt + F8)
Pertama- tama buatlah dan bukalah sebuah file Excell bernama contoh.xls. Pada
menu Tools, tunjuk Macro lalu tunjuk Macros
, kemudian klik kiri Mouse (atau tekan Alt +F8),
Ketikan nama Makro yang dikehendaki pada isian Macro name, contohnya : coba.
Maka akan tombol create akan aktif
maka Anda telah membuat sebuah Modul Visual Basic Aplication (VBA) bernama
Module1 dan sebuah prosedur VBA bernama coba ().
Anda dapat memilih agar Makro ini bekerja di seluruh file Excel yang terbuka (All
Open Workbooks), hanya pada file yang sedang Anda buka (This Workbooks),
atau pada file contoh.xls, file Excell dimana Anda membuat Makro-nya. Dengan
cara memilih pilihan tersebut pada Macros In.
Kolom isian Macro name: dimana Anda mengisikan nama Macro. Kolom
Shortcut key bila Anda hendak membuat shortcut key dari keyboard (Ctrl+
tombol keypad yang Anda inginkan). Store Macro in merupakan kolom isian
untuk menentukan dimana macro akan disimpan, pilihannya adalah This Workbook,
New Workbook dan Personal Macro Workbook
. Dan kolom Description, bila Anda ingin memberi penjelasan singkat mengenai
Macro yang akan Anda catat.
Sebagai contoh, kita akan mencatat Macro bernama ok, yang mencatat operasi
Excell berupa pengisian sel A1 dengan kata ok, dan mempunyai shortcut key Ctrl
+ q.
Pertama-tama lakukan langkah-langkah yang telah disebutkan sehingga muncul
tampilan sebagai berikut,
Pencatatan sedang dilakukan, isilah sel A1 dengan kata ok, lalu pada Menu Tools,
sorot Macro, kemudian tekan Stop Recording dan pencatatan akan berhenti
Untuk melihat kode VBA yang telah tercatat, pada menu Tools sorot Macro, sorot
Macros.
Pilihlah ok pada Macro name: lalu tekan tombol Edit, sehingga akan muncul
tampilan sebagai berikut,