Upload
hillzacky-arankaru-devilz
View
240
Download
0
Embed Size (px)
DESCRIPTION
tutorial VBE
Citation preview
Auto Run
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:= ”[email protected]”
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 komentar
Mengendalikan Range
Rate This
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”
Memulai Makro Excel
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),
sehingga muncul tampilan seperti berikut,
Ketikan nama Makro yang dikehendaki pada isian Macro name, contohnya : coba. Maka akan tombol create akan aktif
tekan tombol create, sehingga tampilan berikut akan muncul
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.
2. Record New Macro
Cara kedua ini merupakan favorit penulis, sebab dengan cara ini kita dapat membuat kode visual basic tanpa harus menuliskannya. Pada dasarnya, semua operasi Excell dapat dilakukan oleh Macros. Operasi itu dapat dicatat oleh Macros melalui Record New Macros. Kemudian kita dapat mengubah kode-kode VBA yang dihasilkan oleh operasi yang tercatat tersebut.
Untuk memulai mencatat Makro maka pada menu Tools, sorot Macro kemudian sorot Record New Macros lalu klik kiri Mouse,
sehingga tampilan berikut muncul,
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,
lalu tekan tombol OK.
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,
Cobalah merubah Range(“A1”) menjadi Range(“A2”), simpan dengan menekan gambar disket atau Ctrl + S. Kembali ke contoh.xls, tekan Ctrl + q dari Keyboard, dan lihat apa yang terjadi.
3. Visual Basic Editor (Alt +F11)
Bila Anda sudah mengenal pemograman Visual BASIC, maka cara ini tidaklah sulit. Bahkan kadang-kadang Anda akan sering melakukannya. Untuk menampilkan
Visual Basic Editor Anda cukup menekan Alt+F11 maka tampilan berikut akan muncul,
selanjutanya Anda bisa menyisipkan Module, ClassModule dan UserForm, dan mulai melakukan pemograman seperti yang Anda lakukan di VB6. Seperti Anda lihat lembar kerja (WorkSheet) pada Excell merupakan Objek di VBE.
http://belajar-vbe.blogspot.com/