BUKU TAMU

Kamis, 14 Juni 2012

Membuat Form VBE

Bagi anda pengguna Excel tentu tidak jauh dari mengisi data ke dalam sheet pada kolom dan baris. Untuk mempermudah pengisian apalagi jika datanya banyak alangkah lebih baik menggunakan form. Menggunakan form akan lebih simple karena anda tidak harus selalu kembali ke kolom awal jika baris pada kolom terakhir sudah selesai di input. Keuntungan lain anda diingatkan jika belum mengisi data.

Langkah Membuat Form

- Buka aplikasi Excel pada MS Office (disini saya menggunakan Excel 2007)
- Buat tabel seperti gambar berikut:


- Ganti nama Sheet1 menjadi INPUTDATA
- Klik Developer pada Menubar
- Klik Visual Basic
- Klik Insert New Form
- Buat pada form 10 buah label, 9 buah TextBox dan 2 buah CommandButton
- Atur posisi dan properties kontrol sehingga menjadi seperti gambar berikut:


- Untuk label Nama properti TextBox beri nama: TxNama
- Untuk label NIS properti TextBox beri nama: TxNIS
- Untuk label Matematika properti TextBox beri nama: TxMatematika
- Untuk label PMP properti TextBox beri nama: TxPMP
- Untuk label IPS properti TextBox beri nama: TxIPS
- Untuk label IPA properti TextBox beri nama: TxIPA
- Untuk label B.Indonesia properti TextBox beri nama: TxBind
- Untuk label B.Inggris properti TextBox beri nama: TxBing
- Untuk label Orkes properti TextBox beri nama: TxOrkes
- Untuk label CommandButton beri nama SIMPAN dan KELUAR

Udah belum...??? Jika sudah mari kita teruskan

- Klik ganda pada CommandButton SIMPAN
- Lalu ketikkan kode berikut:

Private Sub SIMPAN_Click()
TxNama.SetFocus --->Untuk menempatkan kursor awalnya selalu di TextBox Nama
If TxNama.Text = "" Then
MsgBox "Anda Belum Mengisi Nama", vbInformation, "PESAN"
Exit Sub
End If
If TxNIS.Text = "" Then
MsgBox "Anda Belum Mengisi NIS", vbInformation, "PESAN"
Exit Sub
End If
If TxMatematika.Text = "" Then
MsgBox "Anda Belum Mengisi Nilai Matematika", vbInformation, "PESAN"
Exit Sub
End If
If TxPMP.Text = "" Then
MsgBox "Anda Belum Mengisi Nilai PMP", vbInformation, "PESAN"
Exit Sub
End If
If TxIPS.Text = "" Then
MsgBox "Anda Belum Mengisi Nilai IPS", vbInformation, "PESAN"
Exit Sub
End If
If TxIPA.Text = "" Then
MsgBox "Anda Belum Mengisi Nilai IPA", vbInformation, "PESAN"
Exit Sub
End If
If TxBind.Text = "" Then
MsgBox "Anda Belum Mengisi Nilai B.Indonesia", vbInformation, "PESAN"
Exit Sub
End If
If TxBing.Text = "" Then
MsgBox "Anda Belum Mengisi Nilai B.Inggris", vbInformation, "PESAN"
Exit Sub
End If
If TxOrkes.Text = "" Then
MsgBox "Anda Belum Mengisi Nilai Orkes", vbInformation, "PESAN"
Exit Sub
End If
ActiveWorkbook.Sheets("INPUTDATA").Activate
Range("B2").Select
Do
If IsEmpty(ActiveCell) = False Then
ActiveCell.Offset(1, 0).Select
End If
Loop Until IsEmpty(ActiveCell) = True
ActiveCell.Value = TxNama.Value
ActiveCell.Offset(0, 1) = TxNIS.Value
ActiveCell.Offset(0, 2) = TxMatematika.Value
ActiveCell.Offset(0, 3) = TxPMP.Value
ActiveCell.Offset(0, 4) = TxIPS.Value
ActiveCell.Offset(0, 5) = TxIPA.Value
ActiveCell.Offset(0, 6) = TxBind.Value
ActiveCell.Offset(0, 7) = TxBing.Value
ActiveCell.Offset(0, 8) = TxOrkes.Value
Call HAPUS ---> Fungsinya untuk mengosongkan form pada saat SIMPAN diklik
Exit Sub
End Sub

Private Sub HAPUS()
TxNama.Text = ""
TxNIS.Text = ""
TxMatematika.Text = ""
TxPMP.Text = ""
TxIPS.Text = ""
TxIPA.Text = ""
TxBind.Text = ""
TxBing.Text = ""
TxOrkes.Text = ""
End Sub

- Kemudian klik ganda pada CommandButton KELUAR
- Lalu ketikkan kode berikut:

Private Sub KELUAR_Click()
End --> Untuk keluar dari program
End Sub

- Jalankan program dengan meng-klik Run-->Run Sub/UserForm atau tekan F5
Isi data data pada form, untuk pindah ke TextBox berikutnya tekan Enter. Setelah diisi lalu klik SIMPAN maka otomatis data akan pindah ke sheet Excel dan form akan kosong siap diisi kembali. Coba juga kosongkan salah satu, maka akan muncul pesan untuk mengingatkan yang belum diisi tadi.
Tak percaya?? Buktiin aja Ndiri....

Membuat Pengingat Di Ms. Excell

Bagi Anda yang selalu mengiluti Blog ini,, ada Tips bagi anda tentang gimana cara membuat Pesan Pengingat pada MS-Excel.
Langsung saja yaa!!!
Biasanya,, karena terlalu padat dan sibuknya kegiatan kita,, terkadang kita lupa tentang sesuatu,, apakah itu janji dengan seseorang, tugas yang telah direncanakan, atau hal lain yang harus kita kerjakan selanjutnya.
Sekarang ada cara untuk membuat Pesan Pengingat melalui program MS-Excel yang dikerjakan dengan menggunakan Visual Basic Excel.
Gini Caranya……!!
1. Buka Document Excel-mu
2. Click Visual Basic Editor / ALT + F11.
3. Click Insert | Module
4. Ketik Code di bawah ini
Untuk Isi pesan
Sub Pesan()
MsgBox “Sudah Jam 10.30 Sholat Duha Dulu”End Sub
Untuk mengatur jam berapa tampilnnya Pesan tersebut.
Sub PanggilPesan()
Application.OnTime TimeValue(“10:30:00”), “Pesan”
End Sub

Anda bisa mengatur jam sesuai format yang anda inginkan contoh : 10:30:00 am, ingat hapus sebelum anda menutup Workbook codenya di VBA harus dihapus.
Atau jika anda ingin pesannya muncul pada tinggal code diganti dengan :
Application.OnTime DateValue(“Bulan/Tanggal/tahun Jam”), “Pesan”
Kalau memakai ini anda harus menyimpan sebagai Excel Macro-Enabled Workbook (xlsm).
Dan agar macro anda aktif tanpa harus ada peringatan maka anda harus menyiapkan Trusted Location,
caranya sebagai berikut :
1. Click Macro Security di Tab Developer
2. Click Trusted Location

3. Click Add New Location dan pilih Folder yang diinginkan.

Membuat Form Sederhana

Seringkali kita duduk berjam-jam di depan komputer hanya untuk mengerjakan tugas di Ms Excel.  Dengan sedikit bantuan visual basic Editor atau yang biasa kita kenal degan makro pekerjaan yang bisanya lama bisa kita percepat, dengan merekam pekerjaan2 tersebut dan memanggilnya saat kita butuhkan…
Dalam kesempatan ini saya akan membahas bagaimana membuat userform yang tentu dalam sebuah pekerjaan Excel sangat membantu, khususnya dalam penginputan data.
Dalam percobaan ini saya menggunakan data yang berisi Nomor Urut, Nama,  Alamat, Serta no telepon.

Setelah data di buat seperti di atas kita buka jendela visual basic editor dengan menekan tombol Alt + F11 atau pada jendela ms Excel….
Pilih Insert kemudian pilih Userform!

Buat tiga buah textbox, yang nantinya akan berfungsi untuk Nama, Alamat, Serta no telepon..Kemudian buat sebuah CommandButton yang nantinya berfungsi sebagi perintah pengisian database, rename menjadi Ok atau Proses atau apapun sekehendak anda…
Beri label di samping masing – masing textbox….
Nama untuk textbox1, Alamat Untuk Textbox 2 , No Telepon Untuk textbox3….

Nah!!!! Sekarang tinggal mengisi perintah…dounble klik Command button 1 atau tombol OK….
akan muncul jendela untuk mengetikan script…
dan ketikan script berikut :
Private Sub CommandButton1_Click()
Range(“a2″).Select    ’>>>> Memilih cell a2
ActiveCell.End(xlDown).Select   ‘ >>>>>>>> Menuju ke cell paling bawah yang terahir di isi
ActiveCell.Offset(1, 0).Select  ’ >>>>> pindah ke cell yang di bawahnya satu baris
ActiveCell.FormulaR1C1 = “=R[-1]C+1″  ’ >>>>> mengisi cell dengan nomor urut
ActiveCell.Offset(0, 1).Select    ’ >>>>> bergeser satu cell ke kanan
ActiveCell.Value = TextBox1.Text  ’ >>Mengisi cell yang aktif sesuai dengan kata yang di ketik di textbox1
ActiveCell.Offset(0, 1).Select   ‘ >>>>> bergeser satu cell ke kanan
ctiveCell.Value = TextBox2.Text ‘ >>Mengisi cell yang aktif sesuai dengan kata yang di ketik di textbox1
ActiveCell.Offset(0, 1).Select   ‘ >>>>> bergeser satu cell ke kanan
ActiveCell.Value = TextBox3.Text  ’ >>Mengisi cell yang aktif sesuai dengan kata yang di ketik di textbox1
End Sub
Private Sub CommandButton1_Click()
Range(“a2″).Select    ’>>>> Memilih cell a2ActiveCell.End(xlDown).Select   ‘ >>>>>>>> Menuju ke cell paling bawah yang terahir di isiActiveCell.Offset(1, 0).Select  ’ >>>>> pindah ke cell yang di bawahnya satu barisActiveCell.FormulaR1C1 = “=R[-1]C+1″  ’ >>>>> mengisi cell dengan nomor urutActiveCell.Offset(0, 1).Select    ’ >>>>> bergeser satu cell ke kananActiveCell.Value = TextBox1.Text  ’ >>Mengisi cell yang aktif sesuai dengan kata yang di ketik di textbox1ActiveCell.Offset(0, 1).Select   ‘ >>>>> bergeser satu cell ke kananctiveCell.Value = TextBox2.Text ‘ >>Mengisi cell yang aktif sesuai dengan kata yang di ketik di textbox1ActiveCell.Offset(0, 1).Select   ‘ >>>>> bergeser satu cell ke kananActiveCell.Value = TextBox3.Text  ’ >>Mengisi cell yang aktif sesuai dengan kata yang di ketik di textbox1

End Sub
Jika script sudah di ketikan semua, kita tinggal mencobanya…
Pilih menu run, lalu menu Run sub/Userform atau dengan menekan tombol f5!!
Silahkan isi nama, alamat serta no telepon kemudian lihat hasilnya!!!!
Untuk memudahkan pemanggilan userform nantinya, kita harus membuat tombol yang berfungsi untuk memanggil userform yang akan kit pakai..
Buka jendela Ms. Excel, buat sebuah tombol dengan textbox yang tersedia, dengan cara pilih menu develover kemudian pilih insert, seelanjutnya cari button…dan sisipkan pada sheet yang akan di pake..

Selanjutnya kembali ke jendela visual basic, buat sebuah modul..Insert >> mOdule, kemudian buat sebuah prosedur..Insert>> PRosedur, beri nama “Tampil”
ketikan scrypt pada prosedur tersebut :
Sub Tampil()
UserForm1.Show
End Sub
Buka kembali jendela Ms Excel, klik kanan tombol yang tadi di buat pilih assign macro, pilih macro “Tampil”….
dan..tombol yang anda buat pun sudah dapat berfungsi…
Hufff…….
Cukup ribet ya???
Memang untuk belajar visual basic for application atau macro butuh kesabaran….ya…….saya juga masih belajar…
selamat mencoba!!!!!!!

VBE Part 4

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