Macro Excel
Macro Excel
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.
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.
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.
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].
3. Setelah muncul jendela “Macros”, isi “Macro name” dengan nama “AutoNew”. Perlu
diperhatikan, nama makro harus disimpan dengan nama “AutoNew”.
5. Selanjutnya, akan muncul jendela Microsoft Visual Basic editor. Pada jendela tersebut,
ketikkan skrip di bawah ini.
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 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
* 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 seperti gambar di bawah ini
Gambar 3
* 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.
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
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.
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
* 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:
1. http://pengetahuan-asikmenarik.blogspot.com/2009/11/macro-dalam-microsoft-
word-apa-dan.html
2. http://tekno.kompas.com/read/2009/03/30/10522211/Melindungi.Word.dengan.Pa
ssword
Belajar VB-Excel
Memulai Makro Excel
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)
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,
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.
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,
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 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.
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()
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
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”
Multiple Range
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:
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:
Kemudian kita set variabel tersebut, sesuai dengan range yang kita inginkan ;
Atau
atau
atau
Kemudian kita dapat melakukan operasi range pada variabel yang telah
dibentuk. Sebagai contoh
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:
Perhatikan ketika kita mengetik "Module1", kemudian mengetik "." Maka akan
muncul tampilan seperti diatas. Sebuah kotak dengan sebuah gambar berwarna
hijau dengan tulisan "coba".
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,
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".
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
kembali ke Excel dan maitkan Design Mode dengan cara menekannya, sehingga
tampilannya tidak terang lagi,
lalu tekan Command Button, maka akan tampil :
Range("A1").Value = TextBox1.Value
Selanjutnya kembali ke Sheet1 (pada Visual Basi Editor), isikan kode beirkut di
Prosedur "lembar1",
UserForm1.Show
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
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
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( )
End Sub
Waktu Sekarang
Contoh berikut akan menampilkan waktu pada saat ini
Sub sekarang( )
baris = ActiveCell.Row
kolom = ActiveCell.Column
End Sub
Rng = Selection.Rows.Count
ActiveCell.Offset(0, 0).Select
For i = 1 To Rng
Selection.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Next I
End Sub
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
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
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
Application.Goto Reference:=”A1”
Atau,
Range(“A1”).Select
Sheets(1).Select
Atau
Sheet1.Select
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”)
Range(“A1”).Select
Selection.EntireRow.Insert
Sedang yang berikut akan menyisipkan satu kolom disamping kiri range A1,
Range(“A1”).Select
Selection.EntireColumn.Insert
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()
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()