Anda di halaman 1dari 13

Auto Run

Auto Exit Sub ExitWithoutPrompt() Application.DisplayAlerts = False Application.Quit End Sub

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 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-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

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

MenujuRangeTertentu
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

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 sebuah Komentar

Mengendalikan Range
MengendalikanRangemerupakan hal yang penting dalam pemograman VBE. Mari kita mulai, pertama buatlah sebuah file contoh.xls. Kemudian buatlah sebuah makro dengan cara Record New Maro,

beri nama macro tersebut dengan nama Coba, dan shortkey tombol q di keyboard Anda.

ketikan kata coba pada range A1

lalu Stop Recording Macro

Lihat hasil pencatatan pada Visual Basic Editor Excell Anda,

kode Macros akan tertulis pada module1,

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.

Rangkaian kode di atas dapat disederhanakan dengan kode seperti berikut ;

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

jalankan program, maka hasilnya akan seperti demikian;

dapat dilihatRange(D5).Cells(1,1) adalah Range D5 yang menjadi pusat. BilaRangetidak disebutkan maka secara default , Range yang menjadi titik pusat adalah Range A1. Anda harus berhati-hati ketika memilih range-range yang berada di tepi, seperti A1, A2, B1, C1, dst. Sebab tidak ada lagi range di atas atau di tepi kanan range-range tersebut.

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

buka Sheet1, pilih Range D5

lalu tekan Ctrl +q, maka akan menghasilkan

kemudian pilih range H15, tekan Ctrl+q maka akan dihasilkan,

Selain dengan kode diatas, terdapat cara lain

bila dijalankan maka hasil yang sama akan didapatkan. Menunjuk sel pada worksheet tertentu Karena ditulis di module maka kode-kode diatas bekerja pada Worksheet yang aktif. Artinya bila Sheet1 yang sedang tebuka maka program aka dijalankan pada Sheet1. Bagaimana bila kita menginginkan agar range yang ditunjuk berada di dalam sheet tertentu. Caranya cukup dengan menuliskan nama worksheet di depan range, sebagai contoh: Sheet1.Range(A1).value=oke Akan mengacu pada range A1 pada Worksheet Sheet1, bila kita menginginkan agar range A1 pada Sheet2 maka ganti kode sebelumnya dengan: Sheet2.Range(A1).value=oke Cara penulisan lain juga dapat dilakukan, contohnya: Set Pesan = Sheets(sheet3).Range(A1) Set Pesan = Sheets(2).Range(A1)

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

Anda mungkin juga menyukai