MACRO
Macro dalam Microsoft Word : Apa dan Bagaimana
Salah satu kelebihan Microsoft Word adalah adanya satu fasilitas yang bernama
macro. Fasilitas ini mempunyai fleksibilitas dimana user dapat membentuk dan
mengarahkannya untuk berbagai macam kepentingan dalam koridor otomatisasi. Dari
yang sederhana sampai yang mampu berreplikasi seperti virus macro.
Apa Sih macro itu ?
Macro merupakan kumpulan perintah - perintah dalam Word yang dirangkai menjadi
satu perintah. Sehingga pekerjaan yang berulang - ulang dapat dilakukan secara
otomatis dan mudah. Hal ini akan sangat menguntungkan ketimbang melakukan
perintah - perintah secara satu per satu dan berulang - ulang. Contoh yang
sederhana misalnya pembaca sering menuliskan suatu kata atau kalimat yang sama
secara terus - menerus, maka yang semacam ini dapat dibuatkan macronya sehingga
pekerjaan mengetik menjadi lebih cepat dan mudah serta tidak membuang - buang
waktu.
Macro Bawaan Microsoft Word
Sebenarnya semua perintah - perintah yang ada dalam Word merupakan macro.
Misalnya ketika pembaca memilih menu File kemudian Save, maka Word akan
menjalankan macro yang bernama FileSave. Begitu juga ketika pembaca memilih
menu Help kemudian About Microsoft Word, maka akan dijalankan macro HelpAbout
sehingga tampil kotak About Microsoft Word. Cobalah jalankan aplikasi Word
kemudian pilihlah menu Tools > Macro > Macros, maka akan dihadapkan pada
kotak dialog macros. Selanjutnya pada kotak Macro in pilihlah Word commands,
sehingga akan terlihat nama - nama macro yang ada di Word. Pilihlah HelpAbout
kemudian tekan tombol Run.
Bila seorang user membuat sebuah macro dengan nama yang sama dengan nama macro
yang telah ada dalam Word commands, maka Microsoft Word akan mendahulukan macro
yang dibuat oleh user.
Membuat Macro
Ada dua cara untuk membuat macro; menggunakan macro recorder atau menggunakan
editor Visual Basic yang telah disertakan saat pembaca menginstall Microsoft
Word.
Membuat Macro Menggunakan Macro Recorder
Cara ini merupakan cara yang paling mudah dalam membuat macro. Cukup mengikuti
langkah - langkah berikut ini :
* Jalankan program Microsoft Word
* Setelah jendela Microsoft Word tampil pilihlah menu Tools > Macro >
Record New Macro
* User dihadapkan pada kotak dialog Record Macro seperti pada gambar 1. Beri
nama untuk macro yang akan user buat pada kotak Macro Name, misalnya
"Percobaan1". Pada kotak Store macro in, dapat menentukan dokumen
yang akan digunakan untuk menyimpan macro. Bila memilih Normal.dot, berarti
macro akan disimpan di file Normal.dot dan akan tetap ada setiap kali akan
menjalankan Word. Bila memilih yang kedua yaitu pada dokumen yang sedang
dibuat, maka macro hanya akan ada pada dokumen tersebut. Bila membuka dokumen
yang lain atau membuat dokumen yang baru, maka macro yang akan dibuat ini tidak
akan ada. Dalam hal ini penulis memilih Normal.dot. Setelah itu tekan tombol Ok
Melindungi Word dengan Password
Bila komputer Anda digunakan beramai-ramai oleh banyak
orang, Anda harus melindungi aplikasi yang tidak boleh dipakai oleh semua
orang. Nah, ada cara sederhana agar orang lain tidak dapat menggunakan aplikasi
Word seenaknya.
Kita bisa membuat sebuah aplikasi di mana bila seseorang ingin menggunakan
aplikasi Microsoft Word mereka harus memasukkan sebuah password yang telah kita
tentukan. Caranya begini:
1. Buka aplikasi Microsoft Word Anda, kemudian pilih tab [View].
2. Pada pita di bawahnya, klik tombol [Macros].
3. Setelah muncul jendela “Macros”, isi “Macro name” dengan nama “AutoNew”.
Perlu diperhatikan, nama makro harus disimpan dengan nama “AutoNew”.
4. Klik [Create] untuk mulai membuat makro.
5. Selanjutnya, akan muncul jendela Microsoft Visual Basic editor. Pada jendela
tersebut, ketikkan skrip di bawah ini.
pass = InputBox("Masukkan password Anda.")
If pass = "rahasia" Then
End
Else
MsgBox ("Password yang Anda masukkan salah.")
ActiveDocument.Close
End If
Pada skrip di atas, Anda dapat mengganti “rahasia” dengan password yang akan
Anda inginkan.Simpan makro Anda kemudian tutup aplikasi Microsoft Word.
Sekarang, buatlah shortcut Microsoft Word baru dengan cara mengklik kanan mouse
pada desktop dan pilih menu [New] > [Shortcut]. Isi “Type the location of
the item” dengan "C:-Program Files-Microsoft
Office-Office12-WINWORD.EXE" /n, kemudian klik [Next].
Isikan “Type a name for this Shortcut” dengan nama “Microsoft Office Word
2007”. Hapus shortcut yang ada di menu start, kemudian pindahkan shortcut yang
baru saja Anda buat ke menu Start, menggantikan shortcut yang asli.
Setelah itu tutup aplikasi Microsoft word. Mulai sekarang bila seseorang ingin
menggunakan Microsoft Word dan membuat dokumen baru, muncullah kotak yang
meminta password.
Sumber: PCplus
Gambar 1
* Kemudian pada bidang kerja Word akan terdapat tool Stop Recording dan Pause
Recording
(lihat gambar 2) dan juga pointer mouse yang berubah menjadi gambar panah
dengan gambar kaset.
Tombol Stop Recording fungsinya untuk mengakhiri proses pembuatan macro,
sedangkan tombol Pause Recording fungsinya menghentikan sementara pembuatan
macro. Pembuatan macro dapat dilanjutkan lagi bila pembaca mengklik tombol
Pause Recording untuk kali yang kedua
Gambar 2
* Sebagai contoh sederhana coba pembaca ketikkan teks berikut ini "Saat
ini saya sedang belajar
membuat macro", kemudian bloklah kalimat tersebut dan ganti menjadi tebal
(Bold) atau dengan menekan tombol CTRL+B
* Untuk mengakhiri proses pembuatan macro tekanlah tombol Stop Recording
Selesailah sudah proses pembuatan macro yang sederhana. Untuk menjalankan macro
yang telah di buat akan dijelaskan pada bagian selanjutnya.
Membuat Macro Menggunakan Visual Basic
Editor
Membuat macro dengan cara ini terasa lebih sulit dari cara di atas, karena
harus menguasai bahasa Visual Basic. Tetapi jangan cemas, bila mempelajari buku
yang membahas Visual Basic, tentu bisa menguasai Visual Basic.
Minimalnya untuk keperluan membuat macro dalam Word. Adapun cara untuk membuat
macro dengan menggunakan Visual Basic Editor adalah seperti diterangkan pada
langkah - langkah berikut ini :
* Pilihlah menu Tools > Macro > Macros, atau pembaca dapat juga
menggunakan shortcut key
ALT+F8. Pada kotak dialog Macros yang tampil, ketikkan "Percobaan2"
di kotak Macro name dan
tekan tombol Create
* Pembaca akan dibawa pada jendela aplikasi Microsoft Visual Basic. Selanjutnya
ketikkan teks
berikut ini diantara Sub Percobaan 2 dan End Sub, tepatnya di bawah tulisan
yang berwarna
hijau
Selection.TypeText Text:="Saat ini saya sedang belajar membuat macro"
Selection.MoveLeft Unit:=wdCharacter, Count:=42, Extend:=wdExtend
Selection.Font.Bold = wdToggle
* Kemudian klik menu File > Close and return to Microsoft Word atau tekan
tombol keyboard ALT+Q
Selesai sudah cara membuat macro yang sederhana dengan menggunakan Visual Basic
Editor.
Menjalankan Macro
Untuk dapat menjalankan macro - macro yang telah dibuat kapan saja dibutuhkan, caranya
adalah sebagai berikut :
* Klik menu Tools > Macro > Macros sehingga pembaca akan dihadapkan pada
kotak dialog Macros
* Selanjutnya pada kotak Macro name, sorotlah macro yang akan dijalankan.
Pembaca dapat memilih salah satu dari dua macro yang telah dibuat karena
keduanya akan menghasilkan hasil yang sama. Kemudian tekan tombol Run Hasilnya pada
bidang kerja Word akan terdapat tulisan tebal "Saat ini saya sedang
belajar membuat macro" yang
ditambahkan secara otomatis. Jadi pembaca tidak perlu repot - repot mengetiknya. Ini berarti menghemat waktu dan
mempercepat pembaca dalam bekerja.
Mengedit dan Mengganti Nama Macro
Macro - macro yang telah pembaca buat tersebut, dapat diganti namanya atau
diedit sesuai
kebutuhan. Kali ini kita sedikit bermain dengan macro yang telah pembaca buat
di atas :
* Klik menu Tools > Macro > Macros, atau dengan shortcut key ALT+F8,
untuk menampilkan kotak Macros
* Pada kotak Macro name pilihlah macro Percobaan1, kemudian tekan tombol Edit
* Pembaca akan dibawa pada jendela Microsoft Visual Basic dengan kursor
berkedip - kedip pada bagian macro Percobaan1. Sebagai contoh mengedit, ubahlah
tulisan berikut ini
Selection.Font.Bold = wdToggle
menjadi
Selection.Font.Italic = wdToggle
* Sebagai contoh mengganti nama macro, ubahlah tulisan berikut ini
Sub Percobaan2()
menjadi
Sub HelpAbout()
* Selanjutnya pilih menu File > Close and return to Microsoft Word untuk
menutup aplikasi
Visual Basic dan kembali ke Word
Dengan demikian Anda telah mengganti nama macro Percobaan1 dan sekaligus
mengeditnya.
Untuk dapat menjalankan macro tersebut dengan cara yang telah penulis jelaskan
di atas.
Atau bisa juga memilih menu Help > About Microsoft Word. Dan hasilnya adalah
tulisan "Saat
ini saya sedang belajar membuat macro" dalam gaya italic bukan lagi kotak
About Microsoft Word. Hal ini lantaran
Anda telah membuat nama macro yang sama dengan macro Word command sehingga Microsoft
Word mendahulukan macro yang dibuat oleh user. Cara inilah yang biasanya
dimanfaatkan oleh para pembuat virus macro.
Menghapus Macro
Bila tidak lagi membutuhkan macro - macro tersebut, kita dapat menghapusnya
dengan cara berikut ini :
* Pilih menu Tools > Macro > Macros sehingga kotak dialog Macros tampil.
Pada kotak Macros in
pilihlah nama dokumen dimana macro yang akan pembaca hapus berada. Bila pembaca
akan menghapus kedua macro yang telah dibuat di atas, maka pilihlah Normal.dot,
karena kedua macro tersebut disimpan disitu.
* Setelah itu sorot nama macro yang akan dihapus, dan tekan tombol Delete.
Kotak dialog
konfirmasi akan tampil, cukup pembaca klik tombol Yes
* Sorot lagi nama macro lainnya bila pembaca ingin menghapus macro yang lain
* Tekan tombol Close untuk menutup kotak dialog Macros
Membuka Dokumen yang Terakhir dengan Macro
Sebagai contoh yang pertama, marilah kita membuat macro ini dengan menggunakan
Macro Recorder.
* Pertama kali buka kotak dialog Record New Macro dengan memilih menu Tools
> Macro > Record New Macro
* Di kotak Macro name beri nama dengan "Autoexec", dan tekan tombol
Ok
* Setelah pointer mouse berubah menjadi tanda panah dan kaset, kliklah menu
File kemudian angka satu yang berada di bawah submenu Properties. Ini merupakan
daftar dari dokumen yang terakhir kali
buka dengan Word
* Terakhir tekan tombol Stop Recording
Hasilnya adalah setiap kali Anda menjalankan aplikasi Word, maka secara
otomatis akan dibuka
juga dokumen yang terakhir kali pembaca buka. Coba pembaca tutup aplikasi Word
dan jalankan kembali.
Password Untuk Menggunakan Microsoft Word
Contoh yang kedua ini tidak kalah menariknya dengan yang pertama. Penulis akan
menjelaskan
bagaimana membuat password untuk menggunakan Microsoft Word, sehingga hanya
user yang
mengetahui passwordnya yang dapat menggunakan aplikasi Word. Simak yah caranya
ini :
* Terlebih dahulu hapus dulu macro autoexec pada contoh yang terdahulu, agar
tidak bentrok.
Lihat bahasan mengenai menghapus macro
* Pilih menu Tools > Macro > Macros. Pada kotak Macro name ketikkan
"autoexec" dan pastikan
pada kotak Macro in terpilih Normal.dot, kemudian tekan tombol Create
* Selanjutnya masuk ke bagian inti, yaitu ketikkan teks berikut ini
strCakra = InputBox("Masukkan password dulu", "Password")
If strCakra = "Belajar" Then
intDepox = MsgBox("Password Anda Benar")
Application.Activate
Else
intDepox = MsgBox("Password Anda salah, jangan gunakan Word")
Application.Run macroname:="fileexit"
End If
* Dan terakhir, pilih menu File > Close and return to Microsoft Word
* Keluar aplikasi Word
Sekarang bila akan menjalankan aplikasi Word, maka akan dimintai password.
Cukup ketikkan
kata "Belajar" (tanpa kutip dan case sensitive). Bila passwordnya
salah atau user menekan
tombol Cancel, maka aplikasi Word akan menutup secara otomatis.
Referensi:
- http://pengetahuan-asikmenarik.blogspot.com/2009/11/macro-dalam-microsoft-word-apa-dan.html
- http://tekno.kompas.com/read/2009/03/30/10522211/Melindungi.Word.dengan.Password
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 cara paling mudah untuk membuat sebuah macro,
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.
Mengendalikan Range merupakan 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.
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.
Menggunakan Range dengan Cell
Kita dapat membuat sebuah range pada Excell sebagai
“titik pusat” lalu dengan bantuan Cells(Rowindex, Columnlindex)., kita dapat
menempatkan sebuah nilai atau rumus di sekitar Range 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 dilihat Range(“D5”).Cells(1,1) adalah Range D5 yang menjadi pusat.
Bila Range tidak 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”
Membuat Sebuah Variabel dari Range
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 tidak 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"
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.
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:=
”excel@ahoo.c”
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