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 Tools—Macro—Macros

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 "+" , 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

masukkan kode yang diinginkan ke dalam

Private Sub CommandButton1_Click()


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.


Berikut adalah salah satu contoh program

kembali ke Excel dan maitkan Design Mode dengan cara menekannya, sehingga tampilannya tidak terang lagi,


lalu tekan Command Button, maka akan tampil :


Kita dapat mengakses properti Command Button, dengan cara menyalakan kembali Design Mode lalu klik kanan Command Button,

tekan Properties maka akan tampil,


di sisi sebelah kiri akan tampil Windows Properties.

Kita dapat merubah tampilan (Caption) pada Command Button dengan cara merubah isian Caption di Properties,

atau dengan mengedit Command Button,

bila ditekan, akan tampil

lalu rubahalah Caption-nya,


Menggunakan UserForm

Untuk menggunakan UserForm, pertama sisipkan dahulu obyek ini kedalam project kita.


tampilan berikut akan muncul

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,


lalu klik dua kali CommandButton, hingga tampilan berikut muncul


isikan kode berikut

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

kembali ke Excell, dan tekan Ctrl+w untuk menjalankan Prosedur "lembar1".


isi TextBox dengan kata "sudah" lalu tekan CommandButton1,

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.

32 komentar:

berbagi ceritaku mengatakan...

lanjutkan yang lain mas ..... saya ikuti terus iki hehehe thanks alot tutorialnya

Ben mengatakan...

makasih...sekarang lagi sibuk di kantor jadi belum ada waktu lanjutin tutorialnya...

maryanto_raharjo mengatakan...

mantab tu mas..
izin re-post dan tlng kunjung balik ya http://kabartebo.blogspot.com

djie mengatakan...

LENGKAP DAN JELAS.... makasih

Ben mengatakan...

makasih mas....

mikael mengatakan...

Bagus banget mas?? sangat membantu. Kalau bisa tutorialnya dibikin buku nanti saya copy mau beli juga mau..

Ben mengatakan...

makasih mas...untuk blog ini saya sudah bikin bentuk pdf nya...kalau mau, email ke saya nanti saya kasih....free.....

Hanggar PS mengatakan...

pengen deh belajar vb excel tapi bingung mau memulai dari mana butuh buku panduan dan seoarang tutor yang sudah handal di bidang ini

Ben mengatakan...

saya pernah lihat di gramed ada buku yang membahas macro excel...

Sandi Rais mengatakan...

Mas Kalo bisa privet saya mohon informasinya, ada beberapa tugas kuliah yang mengharuskan saya menghitung dengan menggunakan Macro Excel. Kalo ada emailnya mohon dishare. email saya sansandyfti@yahoo.com

Sandi Rais mengatakan...

Kalo bisa privet mohon bantuannya. saya butuh privet untuk macro excel untuk tugas saya. Trims sebelumnya

Sandi Rais mengatakan...

Mas Kalo bisa privet saya mohon informasinya, ada beberapa tugas kuliah yang mengharuskan saya menghitung dengan menggunakan Macro Excel. Kalo ada emailnya mohon dishare. email saya sansandyfti@yahoo.com

Ben mengatakan...

okeh mas...

Gunanto mengatakan...

Terima kasih, saya sangat ingin belajar VB, pas benar dengan yang saya butuhkan

Ben mengatakan...

sama-sama mas Gunanto..silahkan dimanfaatkan...

sayyid mengatakan...

mantab bro!!!

oke dh,thanks nih:D

Ben mengatakan...

sama-sama mas brow.....tararengkyu...

Kursus Web mengatakan...

Apakah VB bisa digunakan untuk buat aplikasi web aplikasi seperti sms gateway mas brow?

Ben mengatakan...

ane sendiri belum pernah coba mas brow...tapi dari referensi ini katanya bisa

http://www.excelforum.com/excel-programming-vba-macros/821308-send-sms-via-excel-vba.html

katanya sama seperti mengirim email

kalo refensi berikut

http://www.xtremevbtalk.com/archive/index.php/t-134765.html

bilang datanya dikirim dulu ke text file, baru dikirim oleh aplikasi lain

juan felix mengatakan...

saya minta aplikasinya VBA

Ben mengatakan...

kalau mau dibuatkan aplikasi VBA, saya bisa maas...silahkan japri ke email saya bernadushs@yahoo.com

Saut Simarmata mengatakan...

bagus sekali mas,
oiya saya mau buat seperti e-form dgn userform pada vb..
kalo utuk pilihan option button program nya apa yaa?
mohon bantuan nya atau soft file nya ke e-mail ini ya mas sautpsimarmata@yahoo.com

atau boleh privat2 nih mas? :)
trims

Saut Simarmata mengatakan...

wah bagus mas,
oiya, saya mau buat e-form dengan userform di vb excel yang pake option button di vb, formula nya apa ya mas?

kalo boleh minta soft file nya ke e-mail ini ya mas, atau ke sautpsimarmata@yahoo.com

boleh privat2 kan mas?
trims :)

Ben mengatakan...

oke, nanti saya kirimkan contohnya...hampir mirip dengan VB kok mas...

boleh aja privat mas, kalau mas tinggal di daerah jakarta, atau tangerang selatan.

u welcome

Rifky mengatakan...

Mas.mohon dapat dishare tutorialnya ya.sangat membantu saya yang newbie.email saya icky_electrical87@yahoo.com.terima kasih

Ben mengatakan...

oke mas...terimakasih

Anonim mengatakan...

Mas, makasi ya buat macronya.. membantu sekali.. mantap..
next time, jgn bosen ya kalo sy request lagi..

Ben mengatakan...

oke mas..terimakasih kembali...sy siap bantu kalo ada request atau programnya trouble

Tour and Travel Bandung mengatakan...

Min mau tanya kan saya nyoba buat program vba di excel untuk input data client biar instant
nah pasudah di tahap ahir saya coba
ternyata yg ke baca sama program vba nya malah ke sheet 2
sementara yg saya pngn simpen data nya di sheet 1
kira2 saya salah nya di bagian apa ?

Regards.
Tour and Travel Bandung

Ben mengatakan...

itu kayaknya agan bikin di module ya??? jadi sheet mana yg kebuka di situ datanya ditaruh..

untuk menghindari itu, coba alamatnya diperjelas gan.

contoh:
sheet1.range("A1")

bukan hanya

range("A1")

jadi programnya akan kirim datanya ke sheet1 di sel A1...biarpun ada sheet lain yang terbuka

Ragards

Belajar Excel mengatakan...

Makasih gah, mau nanya. excel 2007 tidak dapat record macro untuk insert shape.
Ada solusinya engga ya gan?

Ben mengatakan...

Saya belum pernah sih insert shape pake Macro....coba agan googling