You are on page 1of 54

Basic Excel For Manager

Macro dan Visual Basic


Materi

01 Pengantar 02 Record Macro 03 Program Sederhana


• Menyiapkan • Bagaimana • Membuat
Microsoft melakukan program
Excel instruksi sederhana dengan
• Pengantar berulang Macro
Macro & dengan macro • Menambah
VBA Tombol
Pengantar Macro &
VBA
● Macro dan VBA
● Memulai dengan Macro
● Tab Developer
● Security Setting
● Membuat dan Menjalankan Module Macro
VBA
1. VBA (Visual Basic for Application) adalah sebuah bahasa pemrograman yang diturunkan dari
Visual Basic atau VB dan dikembangkan oleh Microsoft.
2. Bahasa ini merupakan turunan dari bahasa BASIC (Beginners' All-purpose Symbolic Instruction
Code).
3. Bahasa ini dikembangkan oleh John George Kemeny dan Thomas Eugene Kurtz yang berasal
dari Dartmouth College pada tahun 1963.
VBA Macro
1. Macro adalah baris perintah atau kode yang digunakan untuk menjalankan instruksi pada
aplikasi Microsoft Office.
2. Bahasa pemrograman yang digunakan untuk menuliskan baris perintah kode Macro adalah
VBA.
3. Macro merupakan sebuah tools atau kakas bantu yang memungkinkan anda untuk
menjalankan perintah secara otomatis dan menambahkan fungsionalitas tertentu pada
laporan, dan formulir.
Memulai dengan Macro
1. Silahkan buat folder baru.
2. Beri nama “Belajar Macro” atau nama lain yang anda inginkan.
3. Buka Microsoft Excel.
4. Lakukan pengecekan pada Tab Developer pada Microsoft Excel.
5. Apakah tab tersebut telah ditampilkan?
Tab Developer Microsoft Excel
1. Tab Developer digunakan untuk beberapa hal sebagai berikut.
a. Menulis Macro
b. Menjalankan Macro yang direkam sebelumnya
c. Menggunakan perintah XML
d. Penggunaan ActiveX Control
e. Membuat aplikasi yang dapat digunakan di aplikasi Microsoft
f. Menggunakan form controls
2. Untuk mengaktifkan Tab Developer:
a. Office 2019:
i. Klik kanan pada area ribbon yang kosong
ii. Pilih Customize Ribbon
Tab Developer Microsoft Excel
3. Pada kotak dialog yang muncul,
1. Pilih Customize Ribbon
2. Centang Developer
3. Klik OK
Tab Developer Microsoft Excel
1. Tab Developer juga dapat ditampilkan melalui menu File, Options, Customize Ribbon
2. Lakukan pengaturan seperti sebelumnya, pada kotak dialog yang muncul
Security Setting
1. Untuk memastikan kode VBA dapat dieksekusi
dengan normal, lakukan pengecekan pada
security setting
2. Pada Tab Developer, klik Macro Security

3. Pada kotak dialog yang muncul pastikan


Disable all macro with notification , dicentang.
Security Setting
1. Disable all macros without notifications: Macro disable tanpa notifikasi. Macro tidak boleh
dijalankan sama sekali
2. Disable all macros with notifications: Macro disable dengan notifikasi, macro bisa berjalan
jika diijinkan oleh User.
3. Disable all macros except digitally signed macros: Opsi ini hanya akan mengijinkan Macro
(VBA) yang telah disertai kartu digital. Penjelasan lebih lanjut bisa anda pelajari pada
halaman ini.
4. Enable all macros (not recommended, potentially dangerouscode can run): Mengijinkan
semua macro untuk dapat dijalankan pada excel
5. Trust Acces to the VBA project object model: Item pilihan ini merupakan ijin khusus untuk
dapat mengakses komponen VBProject. Jika dicentang, maka akan diberikan ijin untuk
mengakses komponen VBProject.
Security Setting
Yang perlu diperhatikan:
1. Step-step yang dijalankan oleh macro tidak dapat di-undo
2. Apabila download file Excel ber-macro dari internet harus berhati-hati. Karena ada
kemungkinan disisipi kode program berbahaya.
3. Excel secara default tidak mengaktifkan macro saat file Excel dibuka.
Pengaturan Trusted Location
1. Untuk menjalankan Macro VBA tanpa pemeriksaan atau inspeksi komputer, maka dapat
dilakukan pengaturan pada Trus Center >> Trust Location
2. Pada Tab Developer, klik Macro Security

3. Tekan Add New Location


Pengaturan Trusted Location
1. Tekan browse

2. Arahkan ke lokasi folder yang telah


dibuat sebelumnya
Pengaturan Trusted Location
Ekstensi File Macro VBA
1. Untuk menyimpan program Macro VBA, format file yang dipilih harus tepat.
2. Karena jika format-nya salah, maka kode macro yang dibuat bisa tidak tersimpan.
3. Format file penyimpanan yang tepat adalah

Macro-Enabled Workbook(.xlsm)
Membuka VBA Editor
1. Pada Tab Developer, tekan Visual Basic

2. Pada salah satu worksheet, klik kanan, pilih view code


Membuka VBA Editor
3. Berikut tampilan VBA Editor
Membuat Module Baru
1. Pada VBA Editor yang muncul, klik kanan pada VBAProject, insert, pilih Module. Kemudian
ketikkan kode berikut pada editor yang disediakan.
Membuat Module Baru
2. Perhatikan tampilan VBA Editor sebagai berikut.
Menjalankan Module
1. Untuk menjalankan Macro VBA, tekan tombol run

2. Atau tekan menu Run, klik Run atau F5


Record Macro
● Hal Penting dalam Record Macro
● Tahapan Proses Record Macro
Record Macro
1. Apa saja yang dapat digunakan oleh Record Macro?
a. Melakukan formatting
b. Memasukkan data otomatis
c. Menghitung menggunakan formula
d. dll. (apapun step-step yang bisa dilakukan oleh mouse dan
keyboard)
Record Macro: Menampilkan Teks
1. Klik menu Developer - Record Macro
2. Isikan informasi macro yang akan dibuat
a. Macro name  Nama macro
b. Shortcut  JANGAN beri shortcut yang
umum digunakan seperti Ctrl+S, Ctrl+V,
Ctrl+C, Ctrl+X
c. Store macro in  Tempat
penyimpanan macro
d. Description  Deskripsi macro, isikan
sedetil mungkin
3. Klik OK
Record Macro: Menampilkan Teks
1. Pindahkan cell aktif ke cell A1
2. Ketikkan “Hello World!” pada cell A1
3. Kemudian klik “Stop Recording”
Record Macro: Menampilkan Teks
1. Pindahkan kursor ke cell pada posisi yang lain
2. Klik menu Developer  Macros
3. Kemudian pilih macro yang akan dijalankan
4. Klik Run
5. Maka tulisan “Hello World!” akan muncul di cell A1
Record Macro: Formatting Cell
1. Pilih sebuah cell dan ketikkan “Judul Laporan”
2. Klik tombol Record Macro
3. Kemudian lakukan perubahan format pada teks (JANGAN
pindahkan cell yang aktif), misalkan:
1. Ganti ukuran font menjadi Arial size 40
2. Ganti jadi cetak tebal
3. Ganti background color menjadi hitam
4. Ganti tulisan menjadi putih
4. Klik Stop Recording
Record Macro: Formatting Cell
1. Pilih cell lain
2. Ketikkan kalimat bebas
3. Jalankan macro yang baru saja dibuat
4. Format teks akan mengikuti macro yang telah
dibuat
Record Macro: Nominal Rupiah
1. Biasanya kita melakukan formatting nilai rupiah dengan tahapan sebagai berikut:
a. Select data
b. Klik kanan  Format cell  Accounting  Pilih simbol rupiah
c. Dst.
2. Kita dapat merekam step-step ini menjadi macro. Apabila ada cell yang memerlukan format
yang sama, kita tinggal klik macro. Maka step-step tadi otomatis akan dijalankan
Record Macro: Nominal Rupiah
1. Klik Record Macro
2. Berikan nama dan shortcut, klik OK
3. Rekam step-step : Klik kanan cell  Format cell 
Accounting  Pilih simbol rupiah
4. Klik Stop Recording
Record Macro: Nominal Rupiah
1. Buat data baru
2. Aplikasikan macro ke data yang baru
Record Macro: Entry Data Otomatis
1. Selain dalam satu cell, kita juga dapat mengisi data secara langsung ke beberapa cell
sekaligus
2. Contoh: kita ingin mengisi data yang kosong dengan huruf ‘N’
Record Macro: Entry Data Otomatis
1. Blok area data
2. Pilih menu Find & Select
3. Pilih tab Replace
4. Atur sesuai gambar
5. Klik Replace All
Program Sederhana
dengan VBA
● Procedure
● Tipe Data dan Variabel
● Membuat Tombol
Kelompok Module pada Projek VBA
1. Standard Modules: Module yang sering digunakan pada projek Macro VBA, yang berisi kode
prosedur VBA.
2. Workbook dan Worksheet Module: module yang terikat pada workbook dan worksheet di
Excel. Module ini mirip dengan standard module, namun module ini dapat diisi event
procedure. Event procedure merupakan detonator yang memicu aktifnya sebuah kode.
Contoh: Klik tombol. dsb
3. User Forms Module: Module ini akan muncul ketika ditambahkan form baru. Module ini
berisi prosedur-prosedur VBA serta event procedure untuk kontrol-kontrol yang terkait
dengan objek Form.
4. Class Modules: Objek ini akan muncul jika class module ditambahkan.
Procedure
1. Procedure merupakan sekumpulan kode program yang terdiri dari baris-baris perintah
tertentu dan terletak diantara baris statement pembuka procedure dan statement penutup
procedure untuk mengerjakan tugas atau tindakan tertentu.
2. Struktur procedure di VBA:
a. Statement Pembuka
b. Kode Program
c. Statement Penutup
Procedure
1. [Scope] JenisProsedur NamaProsedur()
a. Scope menggambarkan bagaimana sebuah variable dapat diakses dan
bagaimana sebuah procedure dapat dipanggil. Istilah visibility pada Macro VBA
memiliki arti yang sama dengan scope.
b. Level scope:
i. Procedure: merupakan variable local yang digunakan pada procedure itu saja. Hanya
digunakan ketika procedure tsb dieksekusi.
ii. Module: procedure atau variable yang terdapat di dalam suatu module dan hanya dapat
digunakan oleh module tersebut. Tidak dapat diakses oleh procedure pada modul lain.
c. Project: digunakan oleh seluruh projek Macro VBA. Digunakan dari awal VBA-
projek di-load ke memori, pengecekan keamanan (security macro) hingga projek
macro selesai dan workbook ditutup.
d. Global: Prosedur, variabel, atau class yang digunakan oleh seluruh prosedur dari
VBAProject lain dan ditambahkan melalui referensi.
Procedure
1. Scope dideklarasikan dengan kata kunci tertentu:
a. Public: dapat digunakan dimana saja
b. Private: hanya dapat digunakan pada module yang menggunakan kata kunci
ini
c. Friend: dapat digunakan hanya untuk objek dan class module dan digunakan
untuk projek VBA dimana kata kunci ini digunakan
d. Dim: digunakan hanya untuk mendeklarasikan variable
2. Jenis procedure:
a. Sub procedure: merupakan procedure untuk menjalankan instruksi tertentu
tanpa menghasilkan nilai kembalian.
b. Function procedure: procedure yang menghasilkan sebuah nilai.
c. Property procedure: digunakan untuk mengisi nilai ke sebuah variable.
Biasanya digunakan pada custom class dalam class module dan dapat
digunakan dimana saja, baik di sub procedure ataupun function procedure.
Procedure
1. Procedure property terdiri dari:
a. Let: untuk memasukkan nilai ke variable selain objek
b. Set: untuk memasukkan nilai ke variable objek
c. Get: untuk mengambil nilai dari suatu variable
2. Nama procedure di Excel:
a. Karakter pertama harus berupa huruf abjad
b. Karakter berikutnya dapat berupa huruf, angka, dan tanda baca
tertentu
c. Tidak boleh memakai titik (.) Dan spasi ( ) juga tidak bisa memakai
karakter berikut: #, $,%, &, @, ^, * dan !.
d. Tidak memiliki perbedaan antara huruf besar dan kecil
e. Maksimal karakter yang dapat digunakan adalah 255
Procedure
1. Karakter khusus ketika menulis kode program di VBA:
a. Petik tunggal (‘) : digunakan untuk menuliskan keterangan dan teks
pada kode VBA
b. Underscore (_) : jika satu baris program yang ditulis panjang,
gunakan underscore untuk menandakan bahwa kode ini
merupakan lanjutan dari baris sebelumnya
c. Titik dua (:) : digunakan untuk menandakan akhir sebuah program
Tipe Data VBA
1. Pada VBA penyimpanan data dapat dibagi menjadi dua:
a. Object: apa yang dimanipulasi oleh VBA, contoh: workbook,
worksheet, cell, cell range, dsb.
b. Variabel: nama tertentu sebagai lokasi penyimpanan data atau
wadah sebuah nilai tertentu untuk mewakili nilai tertentu.
Tipe Data VBA
1. Beberapa aturan penamaan variabel:
a. Dapat terdiri dari kombinasi huruf, angka, dan ‘_’
b. Tidak boleh diawali angka
c. Tidak boleh mengandung tanda baca selain ‘_’
2. Jenis tipe data pada VBA:
a. Numeric Data Types
b. Non Numeric Data Types
Tipe Data VBA
1. Numeric Data Type  dapat digunakan untuk melakukan operasi aritmatika.
a. Byte (1 byte memory) memiliki rentang nilai 0 - 255
b. Integer (2 byte memory) memiliki rentang nilai -32.768 sampai 32.767
c. Long (4 byte memory) memiliki rentang nilai -2.147.483.648 sampai
2.147.483.648
d. Single (4 byte memory) memiliki rentang nilai:
i. -3,402823E+38 sampai -1,401298E-45 untuk nilai negatif.
ii. 1,401298E-45 sampai 3,402823E+38 untuk nilai positif.
e. Double (8 byte memory) memiliki rentang nilai:
i. -1,79769313486232E+308 sampai -4,94065645841247E-324 untuk nilai negatif.
ii. 4.94065645841247E-324 sampai 1.79769313486232E+308 untuk nilai positif.
f. Currency (8 byte memory) memiliki rentang nilai:
i. -922.337.203.685.477,5808 sampai 922.337.203.685.477,5807
g. Decimal (12 byte memory)
i. +/- 79.228.162.514.264.337.593.543.950.335 (tanpa nilai desimal).
ii. +/- 7,9228162514264337593543950335 (28 tempat desimal).
Tipe Data VBA
1. Non Numeric Data Type  tipe data selain numeric seperti: teks
a. String fixed dengan ukuran yang telah ditentukan dan biasanya
memiliki Panjang 0 – 65.400 karakter
b. String (variable length) sesuai panjang string biasanya sampai 2
milyar karakter
c. Date untuk menambahkan tanggal. Biasanya memiliki rentang 1
January 100 sampai 31 Desember 9999.
d. Boolean berisi nilai benar dan salah
e. Objek untuk setiap objek yang ditambahkan
f. Variant berisi nilai apapun sebesar double
g. Variant (text) sama dengan variable-length-string
Program Sederhana dengan VBA
1. Buatlah sebuah module baru pada VBA Editor dengan cara klik kanan file dan pilih menu
Insert  Module
Program Sederhana dengan VBA
2. Tambahkan kode program berikut untuk mendeklarasikan 2 fungsi, yaitu sub1 dan sub2.
Terlihat bahwa sub2 berusaha memanggil variabel txt dari sub1
Program Sederhana dengan VBA
3. Tambahkan sheet baru dan tambahkan pula 1 button baru.
4. Masukkan kode program berikut di dalam action button-nya.
Program Sederhana dengan VBA
5. Apabila dijalankan akan muncul error seperti berikut. Hal ini dikarenakan variabel txt hanya
berlaku untuk sub1 saja.
Program Sederhana dengan VBA
6. Agar variabel txt dapat digunakan di fungsi-fungsi yang lain, maka ada dapat dideklarasikan
di bagian paling atas module.

Deklarasi ini juga memiliki scope


private.
Variabel txt hanya bisa diakses di
module itu saja.

Jika menginginkan variabel dapat


diakses di module yang lain, maka
kita dapat mendeklarasikan menjadi
public.
Program Sederhana dengan VBA
7. Mendeklarasikan variabel public dapat dilakukan dengan mengganti Dim menjadi Public.
8. Untuk mengetesnya, kita dapat membuat module baru dan mencoba mengakses variabel txt
dari module tersebut.
Soal Latihan 1
1. Buatlah macro yang bisa menampilkan messagebox
dengan detil sbb:
a. Nama Macro: MacroPahamMateri
b. Deskripsi: “Pemahaman Materi”
c. Title msgbox : “Tampilkan Pilihan”
d. Konten messagebox : “Apakah anda
sudah memahami materi Excel ini?”
e. Tombol : OK dan Cancel
Soal Latihan 2
1. Buatlah macro yang bisa menampilkan messagebox
dengan detil sbb:
a. Nama Macro: MacroPilihanPertanyaan
b. Deskripsi: “Pilihan Pertanyaan”
c. Title msgbox : “Tampilkan Pertanyaan”
d. Konten messagebox : “Anda mau
lanjut?”
e. Tombol : YesNo
f. Jika menekan tombol Yes, maka akan
tampil msgbox “Anda menekan Yes”
g. Selain itu akan tampil msbbox "Anda
menekan No"
Jawaban Soal Latihan 2
Referensi
1. https://docs.microsoft.com/en-us/office/vba/api/overview/
2. https://docs.microsoft.com/en-us/office/vba/language/glossary/vbe-glossary
3. https://docs.microsoft.com/en-us/office/vba/Language/Concepts/Getting-Started/visual-bas
ic-naming-rules
4. https://support.microsoft.com/en-us/office/quick-start-create-a-macro-741130ca-080d-49f5
-9471-1e5fb3d581a8
5. https://www.kelasexcel.id/p/tutorial-macro-vba-excel-indonesia.html

You might also like