minggu, 22 februari 2009 - labkom sma 34 jakarta web viewmenggunakan fungsi bawaan excel dalam vbe...

39
Belajar VB-Excel ADDRESS BELAJAR EXCEL-VB http://twahyono.blog.uksw.edu/2013/06/download-buku-pemrograman- visual-basic.html http://hasvieanz.blogspot.com/ Beberapa Contoh Kode Auto Run 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

Upload: trinhdiep

Post on 01-Feb-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Belajar VB-Excel

ADDRESS BELAJAR EXCEL-VB

http://twahyono.blog.uksw.edu/2013/06/download-buku-pemrograman-visual-basic.html

http://hasvieanz.blogspot.com/

Beberapa Contoh Kode

Auto Run

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:= [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

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

Diposkan oleh Ben

Label: Excel, Macro, VB, VBA, Visual Basic, Visual Basic ApplicationVB

Sabtu, 07 Maret 2009

Melangkah Lebih Jauh

Di awal tutorial ini penulis telah menyebutkan bahwa WorkSheet (demikian juga dengan WorkBook) merupakan sebuah obyek dalam Ms Excell. Seperti kita ketahui, Visual Basic merupakan bahasa pemograman yang berorientasi obyek.

Pada bab-bab sebelumya sebenarnya kita telah membentuk sebuah obyek bernama "Module1" yang dapat dipanggil dengan menekan Ctrl+q, dan memberinya prosedur bernama "coba".

Perhatikan ketika kita mengetik "Module1", kemudian mengetik "." Maka akan muncul tampilan seperti diatas. Sebuah kotak dengan sebuah gambar berwarna hijau dengan tulisan "coba".

Pada penjelasan berikut, kita akan membuat prosedur-prosedur buatan kita sendiri pada Worksheet dan Workbook. Mengapa? Karena kode-kode program dalam prosedur yang kita buat di sebuah Worksheet dan Workbook tertentu, hanya akan bekerja pada Worksheet atau Workbook tersebut. Sedang prosedur yang tertulis pada Modules, bekerja pada Worksheet dalam Worbook yang aktif.

Sebagai contoh ketikan kode ini dalam prosedur Sub Coba() dalam Module 1:

Range("A1").Value= "coba"

lalu buka contoh.xls-sheet1, jalankan program,

buka contoh.xls-Sheet2, jalankan program,

kemudian sheet3,

Kemudian buat sebuah Workbook baru,

Pada Workbook baru, bernama Book1 ini, buka Sheet1, jalankan program,

Bila Anda melanjutkan pada book1.xls-Sheet2 dan Sheet3, program yang kita buat pada contoh.xls-Module1 akan dikerjakan pada setiap Worksheet yang aktif, walapun Worksheet tersebut berada pada Worbook lain.

Hal ini akan merepotkan bila Anda hanya ingin program VBE yang dibuat bekerja pada Worbook tertentu, sedang dalam pekerjaan Anda sehari-hari Anda harus membuka banyak Workbook.

Pemograman Sheet

Untuk memulai, masuklah ke dalam Sheet1 dengan cara double klik pada windows project, tampilan berikut akan muncul ;

Setelah itu buatlah sebuah prosedur bernama lembar1,

lalu isikan kode berikut;

pergi ke Module1, dan isikan kode berikut

Kembali ke Ms. Excell, buka Sheet1, jalankan program dengan menekan Ctrl + q , hasilnya adalah ;

Hapus kata "lembar1" di Sheet1, kemudian buka Sheet2, kemudian tekan Cttrl + q, dan hasilnya adalah

range A1 tidak terisi apapun pada Sheet2, bukalah Sheet1 dan Anda akan mendapatkan bahwa pada range A1 terdapat kata "lembar1".

Membuat Shortkey untuk Program pada Sheet

Untuk membuat Shortcut key dari program yang telah kita buat, maka tekan Alt + F8, atau menggunakan menu ToolsMacroMacros

akan tampil

sorot sheet1.lembar, tekan tombol Option,

pada isian Shorcut Key, isikan huruf w.

Kembali ke Excell, dan tekan Ctrl + w, lihat apa yang terjadi.

Menyisipkan Control Object pada WorkSheet

Seperti VB6, pada VBE terdapat pula obyek-obyek kontrol, seperti Command Button, Text Box, Option Button, Label, dan sebagainya. Tetapi, tidak semua kontrol yang ada di VB6 terdapat di VBA Excel.

Pertama-tama kita perlu menghidupkan Control Toolbox, dimana terdapat kontrol-kontrol yang kita perlukan. Untuk itu arahkan kursor ke menu View-Toolbars-Control Toolbox seperti gambar dibawah,

kemudian tekan dan akan tampil:

Tarik Box tersebut ke arah bawah agar tidak menghalangi WorkSheet,

Untuk menyisipkan kontrol dan merubah-rubah propertinya, maka kita perlu menghidupkan Design Mode.

tekan gambar segitiga yang memiliki nama Design Mode, sehingga gambar tersebut terlihat terang

sebagai contoh kita akan menyisipkan Command Button di Sheet1,

tekan Icon Command Button pada ToolBox,

lalu kursor akan berubah menjadai tanda "+"