Vba Macro
Vba Macro
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
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
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
Layar Berkedip
Program dalam macros yang sedang berjalan dapat membuat layar berkedip-kedip, untuk menghentikannya Anda dapat menyisipkan kode berikut. Application.ScreenUpdating = False
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)
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 8 komentar Link ke posting ini Label: Excel, Macro, VB, VBA, Visual Basic, Visual Basic ApplicationVB
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"
kemudian sheet3,
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 ;
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".
akan tampil
pada isian Shorcut Key, isikan huruf w. Kembali ke Excell, dan tekan Ctrl + w, lihat apa yang terjadi.
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
lalu kursor akan berubah menjadai tanda "+" , gunakan kursor untuk membentuk sebuah Command Button dengan cara klik kiri pada mouse.
untuk memasukan kode maka double- clik kiri mouse pada Command Button sehinnga Visual Basic Editor muncul
End Sub
CommandButton1_Click berarti program akan dijalankan pada saat Command Button ditekan. Seperti terlihat bahwa prosedur ini terdapat di dalam Sheet1, WorkSheet dimana Command Button disisipkan.
kembali ke Excel dan maitkan Design Mode dengan cara menekannya, sehingga tampilannya tidak terang lagi,
Kita dapat mengakses properti Command Button, dengan cara menyalakan kembali Design Mode lalu klik kanan Command Button,
di sisi sebelah kiri akan tampil Windows Properties. Kita dapat merubah tampilan (Caption) pada Command Button dengan cara merubah isian Caption di Properties,
Menggunakan UserForm
Untuk menggunakan UserForm, pertama sisipkan dahulu obyek ini kedalam project kita.
selanjutnya Anda dapat melakukan langkah-langkah pemograman seperti di VB6. Pada contoh berikut kita akan menyisipakan sebuah CommandButton dan sebuah TextBox ke dalam form kita. Isi dari sebuah range (kita pilih range A1) di salah satu WorkSheet (pada contoh ini kita pilih Sheet1) akan sama dengan isi TextBox ketika CommandButton ditekan. Pertama-tama kita sisipkan sebuah CommandButton dan TextBox pada UserForm,
Range("A1").Value = TextBox1.Value
Selanjutnya kembali ke Sheet1 (pada Visual Basi Editor), isikan kode beirkut di Prosedur "lembar1",
UserForm1.Show
Kode di atas memerintahkan agar UserForm1 muncul
Sebagai catatan, karena UserForm muncul maka Anda tidak dapat menggunakan WorkSheet pada Excel. Bila Anda menginginkan agar, bisa beralih ke WorkSheet, maka kode berikut dapat digunakan (hanya bekerja pada Excell 2000 ke atas).
UserForm1.Show vbModeless
Bila program kembali dijalankan maka Anda dapat beralih dari UserForm ke WorkSheet.