Platform Pemrograman VBA yang berjalan di hampir semua produk Microsoft Office adalah salah satu alat paling ampuh yang dapat digunakan siapa pun untuk meningkatkan penggunaan produk-produk tersebut.
Panduan VBA untuk pemula akan menunjukkan kepada Anda cara menambahkan menu Pengembang ke aplikasi Office Anda, cara memasukkan jendela editor VBA, dan bagaimana pernyataan dan loop VBA dasar bekerja sehingga Anda bisa mulai menggunakan VBA di Excel, Word, Powerpoint, Outlook, dan OneNote .
Ini Panduan VBA menggunakan versi terbaru dari produk Microsoft Office. Jika Anda memiliki versi sebelumnya, Anda mungkin melihat sedikit perbedaan dari tangkapan layar.
Cara Mengaktifkan & Menggunakan Editor VBA
Di salah satu Kantor produk yang digunakan dalam panduan ini, Anda mungkin memperhatikan bahwa Anda tidak memiliki menu Pengembang yang dirujuk. Menu pengembang hanya tersedia di Excel, Word, Outlook, dan Powerpoint. OneNote tidak menawarkan alat untuk mengedit kode VBA dari dalam aplikasi, tetapi Anda masih bisa merujuk API OneNote untuk berinteraksi dengan OneNote dari program Office lainnya.
Anda akan belajar bagaimana melakukan ini di panduan Advanced VBA kami yang akan datang.
Daftar kiri mencakup semua menu yang tersedia dan perintah menu yang tersedia di aplikasi Office tersebut. Daftar di sebelah kanan adalah daftar yang saat ini tersedia atau diaktifkan.
In_content_1 all: [300x250] / dfp: [640x360]->Kiat Pemrograman VBA Umum untuk Pemula
Anda akan melihat ketika editor VBA terbuka, opsi navigasi di panel kiri terlihat berbeda dari satu aplikasi Office ke yang lain.
Ini karena objek yang tersedia tempat Anda dapat menempatkan kode VBA bergantung pada objek apa yang ada dalam aplikasi. Misalnya, di Excel, Anda bisa menambahkan kode VBA ke buku kerja atau objek lembar. Di Word, Anda bisa menambahkan kode VBA ke dokumen. Di Powerpoint, hanya ke modul.
Jadi, jangan kaget dengan menu yang berbeda. Struktur dan sintaksis kode VBA adalah sama di semua aplikasi. Satu-satunya perbedaan adalah objek yang dapat Anda referensi dan tindakan yang dapat Anda lakukan pada objek-objek tersebut melalui kode VBA.
Sebelum kita menyelami objek yang berbeda dan tindakan yang dapat Anda ambil melalui kode VBA, mari kita terlebih dahulu lihat struktur VBA dan sintaksis paling umum yang dapat Anda gunakan saat menulis kode VBA.
Di mana Menempatkan Kode VBA
Saat Anda berada di Editor VBA, Anda perlu menggunakan dua kotak dropdown di bagian atas jendela pengeditan untuk memilih objek yang ingin Anda lampirkan kode, dan ketika Anda ingin kode dijalankan.
Misalnya, dalam Excel, jika Anda memilih Lembar Kerjadan Aktifkan, kode akan berjalan setiap kali lembar kerja dibuka.
lembar kerja lainnya tindakan yang dapat Anda gunakan untuk memicu kode VBA Anda termasuk ketika lembar kerja berubah, ketika itu ditutup (dinonaktifkan), ketika perhitungan lembar kerja dijalankan, dan banyak lagi.
Saat Anda menambahkan kode VBA di editor, selalu buat pastikan untuk menempatkan kode VBA Anda pada objek dan menggunakan tindakan yang benar yang ingin Anda gunakan untuk memicu kode itu.
Pernyataan VBA IF
Sebuah IF pernyataan bekerja di VBA sama seperti kerjanya di bahasa pemrograman lain.
Bagian pertama dari pernyataan IF melihat apakah suatu kondisi atau serangkaian kondisi benar. Ketentuan ini dapat digabungkan oleh operator DAN atau ATAU untuk menautkannya bersama.
Salah satu contohnya adalah memeriksa apakah nilai dalam spreadsheet berada di atas atau di bawah nilai "kelulusan", dan menugaskan pass atau gagal status ke sel lain.
Jika Sel (2, 2)>75 Lalu Sel (2, 3) = “Lulus” Sel Lain (2, 3) = “Gagal”
Jika Anda tidak ingin seluruh pernyataan pada satu baris, Anda dapat membaginya menjadi beberapa baris dengan menambahkan simbol "_" di akhir baris.
Jika Sel (2, 2)>75 Lalu _
Sel (2, 3) = “Lulus” Lainnya _
Sel (2, 3) = “Gagal”
Menggunakan teknik ini seringkali dapat membuat kode lebih mudah dibaca dan di-debug.
VBA Untuk Loops Berikutnya
JIKA pernyataan bagus untuk perbandingan tunggal, seperti contoh di atas dalam melihat satu sel. Tetapi bagaimana jika Anda ingin mengulang seluruh rentang sel dan melakukan pernyataan IF yang sama pada masing-masingnya?
Dalam hal ini Anda memerlukan loop UNTUK.
Untuk melakukan ini, Anda harus menggunakan panjang rentang, dan mengulangi panjang itu dengan jumlah baris yang berisi data.
Untuk melakukan ini, Anda perlu untuk menentukan rentang dan variabel sel, dan mengulanginya. Anda juga harus menetapkan penghitung sehingga Anda dapat menampilkan hasilnya ke baris yang sesuai. Jadi, kode VBA Anda akan memiliki baris ini terlebih dahulu.
Dim rng Sebagai Rentang, sel Sebagai Rentang
Dim rowCounter sebagai Integer
Tentukan ukuran rentang sebagai berikut.
Tetapkan rng = Rentang (“B2: B7”)
rowCounter = 2
Akhirnya, Anda dapat membuat loop FOR Anda untuk menelusuri setiap sel dalam rentang itu dan melakukan perbandingan.
For Each cell In rngIf cell.Value > 75 Then _ Cells(rowCounter, 3) = "Pass" Else _ Cells(rowCounter, 3) = "Fail" rowCounter = rowCounter + 1 Next cell
Setelah Skrip VBA ini dijalankan, Anda melihat menghasilkan spreadsheet yang sebenarnya.
VBA While Loops
A While Loop juga melakukan loop melalui serangkaian pernyataan, seperti halnya loop FOR, tetapi kondisi pengulangan untuk melanjutkan adalah kondisi yang tersisa true.
Misalnya, Anda dapat menulis loop FOR yang sama di atas, sebagai loop WHILE, dengan hanya menggunakan variabel rowCounter sebagai berikut.
While rowCounter < rng.Count + 2If Cells(rowCounter, 2) > 75 Then _ Cells(rowCounter, 3) = "Pass" Else _ Cells(rowCounter, 3) = "Fail" rowCounter = rowCounter + 1 Wend
Catatan: batas penghentian rng.Count + 2diperlukan karena penghitung baris dimulai pada 2 dan harus berakhir pada baris 7 di mana data berakhir. Namun, hitungan rentang (B2: B7) hanya 6, dan loop Sementara hanya akan berakhir setelah penghitung lebih BESAR dari penghitung - sehingga nilai rowCounter terakhir harus 8 (atau rng.Count + 2).
Anda juga dapat mengatur loop Sementara sebagai berikut:
Sementara rowCounter <= rng.Count + 1
Anda dapat hanya menambah hitungan rentang (6) oleh 1, karena begitu variabel rowCounter mencapai akhir data (baris 7), loop dapat selesai.
VBA Do While dan Do Hingga Loops
Do While dan Do Hingga loop hampir identik dengan loop Sementara, tetapi bekerja sedikit berbeda.
Dalam hal ini Anda akan menulis ulang t he Sementara loop di atas sebagai berikut, sebagai loop Do-While.
DoIf Cells(rowCounter, 2) > 75 Then _ Cells(rowCounter, 3) = "Pass" Else _ Cells(rowCounter, 3) = "Fail" rowCounter = rowCounter + 1 Loop While rowCounter < rng.Count + 2
Dalam hal ini logika tidak banyak berubah, tetapi jika Anda ingin memastikan logikanya perbandingan dilakukan setelah semua pernyataan dijalankan (yang memungkinkan semuanya berjalan tidak peduli setidaknya satu kali), lalu loop Do-While atau Do-While adalah pilihan yang tepat.
Pernyataan VBA Select Case
Jenis akhir dari pernyataan logis yang perlu Anda pahami untuk mulai menyusun kode VBA Anda adalah pernyataan Select Case.
Dengan memberikan contoh di atas, katakanlah Anda ingin memiliki metode penilaian yang tidak hanya lulus gagal. Alih-alih, Anda ingin menetapkan nilai huruf dari A hingga F.
Anda bisa melakukan ini dengan pernyataan Select Case berikut:
For Each cell In rngSelect Case cell Case 95 To 100 Cells(rowCounter, 3) = "A" Case 85 To 94 Cells(rowCounter, 3) = "B" Case 75 To 84 Cells(rowCounter, 3) = "C" Case 65 To 74 Cells(rowCounter, 3) = "D" Case 0 To 64 Cells(rowCounter, 3) = "F" End Select rowCounter = rowCounter + 1 Next cell
Spreadsheet yang dihasilkan setelah skrip VBA ini berjalan seperti di bawah ini.
Sekarang Anda tahu semua yang perlu Anda ketahui untuk mulai menggunakan VBA dalam aplikasi Microsoft Office Anda.