• 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