Modul VBA
Transcript of Modul VBA
Excel VBA Macro Programing – STIKI MALANG
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 1
Excel VBA Macro Programing – STIKI MALANG
Daftar IsiBAB I
SEKILAS EXCEL VBA MACRO 4
A. Pengenalan Makro 4
B. Membuat Makro di Excel 4
C. Excel Macro Recorder 8
BAB II
DASAR DASAR EXCEL VBA MACRO 14
D. Macro Security 14
E. Visual Basic Editor di Excel 16
F. Macro Comments 18
G. MsgBox19
H. Macro Errors 21
I. Debug Macros 23
J. Objects, Properties dan Methods 25
K. Workbook and Worksheet 27
L. Application Object 30
BAB III
Pemrograman VBA 31
M. Variables 31
N. String Manipulation 35
O. Calculate 38
P. If Then Statement 40
Q. Cells 42
R. Loop 43
S. Logical Operators 46
T. Range 49
U. Events 55
V. Array 57
W. Date and Time 58
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 2
Excel VBA Macro Programing – STIKI MALANG
X. Function and Sub 62
BAB IV
Kontrol 64
Y. Textbox64
Z. Listbox 66
AA. Combobox 68
BB. Checkbox 70
CC. Option Buttons 72
DD. Userform 74
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 3
Excel VBA Macro Programing – STIKI MALANG
BAB I
SEKILAS EXCEL VBA MACRO
A. Pengenalan Makro
Anda akan terasa mudah untuk mengikuti tutorial ini (Pengenalan Makro, Dasar-
dasar VBA, Pemrograman dan Kontrol) untuk membuat segala macam macro di Excel VBA.
Di bawah ini Anda dapat menemukan gambaran yang lengkap. Tidak masalah jika Anda baru
ke Excel VBA dan ingin memulai dari awal atau hanya ingin menggunakan tutorial ini
sebagai referensi.
Bagian ini adalah untuk pengguna Excel yang tidak memiliki pengetahuan Excel
VBA. Excel VBA, yang merupakan singkatan untuk Excel Visual Basic for Applications,
adalah nama dari bahasa pemrograman dari Microsoft Excel. Dengan Excel VBA Anda dapat
mengotomatisasi tugas di Excel dengan menulis Makro disebut. Hal ini dapat menghemat
banyak waktu! Lebih penting lagi ada hal-hal tertentu yang tidak dapat Anda lakukan dengan
Excel saja seperti program sederhana. Excel VBA memungkinkan Anda untuk melakukan
hal-hal di Excel.
B. Membuat Makro di Excel
Untuk membuat makro di Excel, Anda harus mengaktifkan Excel Visual Basic.
Selanjutnya, Anda dapat membuat makro yang akan dieksekusi setelah mengklik pada
tombol perintah.
Nyalakan Tab DeveloperSebelum anda memulai bekerja dengan Excel VBA Macro, anda harus mengaktifkan
menu Developer untuk memunculkan menu macro.
1. Klik pada tab File dan pilih Options. Excel Options kotak dialog akan muncul.2. Klik Customize Ribbon di sisi kiri dari kotak dialog.
3. Dalam Choose commands fromdi sisi kiri kotak dialog, pilih Popular Commands.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 4
Excel VBA Macro Programing – STIKI MALANG
4. Dalam Customize the ribbondi sisi kanan kotak dialog, pilih Main tabs.
5. Periksa kotak dan centang Developerdan klik OK.
Buat tombol perintah Anda sekarang dapat klik pada tab Developer yang telah ditempatkan di sebelah tab
View.
1. Klik pada Insert.2. Klik Command Button di bagian ActiveX Controls.
3. Sekarang Anda dapat menyeret Command Button pada worksheet Anda.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 5
Excel VBA Macro Programing – STIKI MALANG
Membuat dan Menetapkan Makro Jika semua sudah siap, sekarang saatnya untuk membuat makro (memberi code
pada tombol perintah).
1. Klik kanan pada CommandButton1.2. Klik pada View Code.
3. Visual Basic Editor akan muncul. Tempatkan kursor Anda di antara 'Private Sub CommandButton1_Click()' dan 'End Sub'.
4. Sebagai contoh, tambahkan baris kode berikut:
Range("A1").Value = "Hello"
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 6
Excel VBA Macro Programing – STIKI MALANG
Makro ini menempatkan kata Halo ke dalam sel A1.
5. Tutup Editor Visual Basic.6. Sebelum Anda mengklik Commend Button pada sheet, pastikan Desain Mode
terpilih. Anda dapat melakukan ini dengan mengklik pada Desain Mode lagi.
Hasil ketika Anda mengklik Commend Button pada lembaran:
Selamat. Anda baru saja menciptakan sebuah makro di Excel VBA!
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 7
Excel VBA Macro Programing – STIKI MALANG
C. Excel Macro Recorder
Excel Macro Recorder adalah alat yang sangat berguna di Excel VBA. Dengan
Perekam Makro Excel Anda dapat merekam tugas Anda dengan Excel. Selanjutnya, Anda
bisa menjalankan tugas berulang dengan mengklik sebuah tombol yang dapat menghemat
banyak waktu. Pada bahasan ini menjelaskan seluk-beluk Recorder Makro Excel.
Mengapa tidak menggunakan Perekam Makro Excel untuk semuanya?
Sayangnya ada banyak hal tidak dapat Anda lakukan dengan Perekam Macro
Excel. Misalnya, kita tidak bisa loop melalui berbagai data dengan Perekam Makro. Selain
itu Recorder Makro menggunakan kode lebih banyak dari yang dibutuhkan, yang dapat
memperlambat proses Anda turun.
Untuk merekam, menjalankan dan mengedit makro, jalankan langkah-langkah berikut.
Merekam Makro
1. Klik pada tab Developer.2. Klik pada Record Macro. Lihat gambar di bawah ini. Setiap perintah yang Anda
lakukan akan disimpan ke dalam makro!
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 8
Excel VBA Macro Programing – STIKI MALANG
3. Di sini Anda dapat memberikan nama makro Anda dan Anda dapat memasukkan shortcut untuk makro Anda. Anda dapat menyimpan makro Anda dalam tiga workbook. Jika Anda memilih untuk menyimpan makro Anda dalam Workbook Makro Pribadi, makro akan tersedia untuk semua workbook Anda (Excel File). Hal ini karena Excel store makro Anda dalam workbook tersembunyi yang terbuka secara otomatis ketika Excel dimulai. Jika Anda memilih untuk menyimpan makro Anda di Workbook Baru, makro hanya akan tersedia dalam workbook dibuka secara otomatis baru. Jika Anda memilih untuk menyimpan makro Anda dalam Workbook ini, makro hanya akan tersedia dalam buku kerja saat ini.
Kita sekarang akan merekam makro perubahan format Sel untuk Percentase.
4. Klik OK. 5. Klik kanan mouse pada sel yang aktif (sel yang dipilih). Pastikan untuk tidak memilih
sel lain! Kemudian klik pada Format Cells ...
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 9
Excel VBA Macro Programing – STIKI MALANG
6. Percentase Pilih dan klik OK.
7. Akhiri, Klik Stop Recording.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 10
Excel VBA Macro Programing – STIKI MALANG
Selamat! Anda baru saja direkam makro dengan Record Makro Excel!
Jalankan Recorder MakroSekarang Anda dapat menguji makro untuk melihat jika dapat mengubah format sel
untuk Format Percentase.
1. Masukkan beberapa nomor antara 0 dan 1 di Excel. Pilih nomor.
2. Klik pada tab Developer. 3. Klik Macro.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 11
Excel VBA Macro Programing – STIKI MALANG
4. Klik Run.
Format sel harus mengubah Format Percentase. Hasil:
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 12
Excel VBA Macro Programing – STIKI MALANG
Mengedit Makro Ada dua cara untuk melihat makro. Anda dapat klik pada tab Macros dari Developer
dan kemudian klik Edit. Visual Basic Editor akan muncul. Anda juga dapat langsung
membuka Visual Basic Editor dengan mengklik Visual Basic dari tab Developer (atau tekan
Alt + F11).
Makro kita telah ditempatkan menjadi sebuah modul yang disebut Module1.
Sebelumnya kami menempatkan kode, yang kita dibuat tanpa Excel Macro Recorder
langsung pada Sheet1. Kode ditempatkan dalam modul, tersedia untuk workbook secara
keseluruhan, sementara kode ditempatkan pada selembar kertas yang hanya tersedia untuk
lembar tertentu.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 13
Excel VBA Macro Programing – STIKI MALANG
BAB II
DASAR DASAR EXCEL VBA MACRO
Bagian ini menjelaskan dasar-dasar Excel Visual Basic. Adalah baik untuk
mengetahui terminologi dasar dijelaskan dalam bagian ini sebelum Anda mulai pemrograman
di Excel Visual Basic.
D. Macro Security
Menyiapkan pengaturan macro security Anda dengan benar adalah penting untuk
melindungi diri terhadap virus potensial. Pastikan pengaturan makro keamanan Anda
ditetapkan dengan benar. Untuk mengatur pengaturan Macro Security di Excel, jalankan
langkah-langkah berikut.
1. Klik pada Keamanan Makro.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 14
Excel VBA Macro Programing – STIKI MALANG
2. Di sini Anda memiliki empat pilihan. Opsi pertama akan menonaktifkan semua macro. Pilihan kedua akan selalu meminta Anda untuk mengaktifkan makro. Pilihan ketiga hanya akan memungkinkan macro dengan tanda tangan digital untuk menjalankan, dan meminta Anda untuk memungkinkan orang lain. Pilihan keempat akan mengaktifkan semua macro.
Saran kami adalah menggunakan tingkat keamanan kedua jika Anda men-
download banyak file Excel dari internet. Dengan tingkat keamanan yang Anda selalu dapat
menonaktifkan makro jika Anda tidak percaya pemilik dari file Excel. Gunakan tingkat
keamanan keempat jika Anda seorang pemula dan hanya mengetik macro Anda sendiri saat
ini. Dengan tingkat keamanan Anda tidak harus mengaktifkan macro sepanjang waktu.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 15
Excel VBA Macro Programing – STIKI MALANG
E. Visual Basic Editor di Excel
Pelajari bagaimana untuk memulai Visual Basic Editor dan mendapatkan
konfigurasi terbaik dari Explorer Proyek dan Window Kode dalam Versi Excel Anda. Visual
Basic Editor adalah titik awal untuk menciptakan macro di Excel VBA, sehingga sangat
penting untuk mendapatkan hak konfigurasi. Untuk memulai Visual Basic Editor di Excel,
klik pada Visual Basic (atau tekan Alt + F11).
Visual Basic Editor akan muncul:
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 16
Excel VBA Macro Programing – STIKI MALANG
Jendela kiri dengan nama sheet dalam hal itu disebut Proyek Explorer. Jika Anda
tidak dapat melihat Explorer Proyek, klik View dan kemudian klik Project Explorer.
Kemungkinan besar Explorer Proyek sudah akan muncul sebagai sebuah kolom di sisi kiri
layar. Jika tidak, jalankan tiga langkah berikut untuk mencapai hal ini.
1. Klik kanan pada Explorer Proyek. 2. Periksa Dockable (jika perlu). 3. Klik pada Proyek - VBAProject dan tarik Explorer Proyek ke sisi kiri layar.
Jendela Kode dapat ditambahkan dengan mengklik pada salah satu nama lembar.
Untuk menutupi seluruh layar, Anda dapat memaksimalkan Code Window. Kami pikir ini
adalah konfigurasi terbaik dari Visual Basic Editor.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 17
Excel VBA Macro Programing – STIKI MALANG
F. Macro Comments
Tambahkan Macro comments untuk Excel VBA kode dan kode Anda akan lebih
mudah untuk dibaca sebagai meningkatkan ukuran program.Sebuah Macro comments
adalah sepotong teks dalam makro yang tidak akan dieksekusi oleh Excel VBA. Hal ini
hanya untuk memberikan Anda informasi tentang makro. Untuk membiarkan Excel VBA
tahu bahwa itu adalah komentar, tempatkan tanda petik di antara text(‘komentar’). Jalankan
langkah-langkah berikut untuk menempatkan komentar.
1. Peluncuran Visual Basic Editor.2. Masukkan baris: ‘Tempatkan kata Halo ke dalam sel A1'sebelum baris kode. Setelah
baris dimasukkan, pada Excel VBA baris text warna hijau untuk menunjukkan bahwa itu adalah sebuah komentar.
Ini adalah praktik yang baik untuk menggunakan komentar. Macro comments
menjadi lebih berguna sebagai meningkatkan Program.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 18
Excel VBA Macro Programing – STIKI MALANG
G. MsgBox
Excel VBA MsgBox (kotak pesan) adalah sebuah kotak dialog, Anda dapat
menggunakan di Excel VBA untuk menampilkan informasi kepada pengguna program Anda.
Di bawah ini Anda dapat menemukan tiga contoh tentang cara mudah untuk membuat
MsgBox di Excel VBA.
1. Untuk menampilkan MsgBox dengan pesan "ini menyenangkan", berikan tombol peritah pada lembar kerja Anda dan hanya menambahkan baris kode berikut:
MsgBox "This is fun"
Hasil ketika Anda mengklik tombol perintah pada lembaran:
2. Sekarang kita mencoba untuk membuat MsgBox sedikit lebih maju.
Masukkan nomor acak ke dalam sel A1.
Bukan "This is Fun", tambahkan baris kode berikut:
MsgBox "Entered value is " & Range("A1").Value
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 19
Excel VBA Macro Programing – STIKI MALANG
Hasil ketika Anda mengklik tombol perintah pada lembaran:
Kami menggunakan & operator untuk menggabungkan (bergabung) dua string.
Meskipun Range ("A1"). Nilai bukan string, ia bekerja di sini.
3. Untuk memulai baris baru dalam kotak pesan, Anda dapat menggunakan vbNewLine. Tambahkan baris kode berikut:
MsgBox "Line 1" & vbNewLine & "Line 2"
Hasil ketika Anda mengklik tombol perintah pada lembaran:
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 20
Excel VBA Macro Programing – STIKI MALANG
H. Macro Errors
Sayangnya, tidak semuanya berjalan benar pada kali pertama. Excel VBA kadang-
kadang akan memberikan macro errors mengatakan bahwa ada sesuatu yang tidak
diprogram dengan benar. Ada terlalu banyak Excel Visual Basic untuk menjelaskan
kesalahan mereka semua pada tahap ini. Namun, di sini adalah tip yang baik untuk
menangani kesalahan.
Pertama, kita ingin membuat kesalahan makro.
1. Tempatkan tombol perintah pada lembar kerja Anda dan tambahkan baris kode berikut salah:
MgBox “This is fun”
(Bukan garis yang benar M s gBox “This is fun”)
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 21
Excel VBA Macro Programing – STIKI MALANG
2. Klik tombol perintah pada lembaran.
Hasil:
3. Klik OK. 4. Selanjutnya, di Visual Basic Editor, klik Reset untuk menghentikan debugger! (Lebih
lanjut tentang debugger di bab berikutnya) Sekarang mengubah kode. Excel VBA telah mewarnai MgBox kata biru untuk menunjukkan kesalahan makro.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 22
Excel VBA Macro Programing – STIKI MALANG
I. Debug Macros
Anda mungkin telah mendengar tentang teknik yang disebut debugging
sebelumnya. Dengan teknik ini Anda dapat menemukan kesalahan dalam kode VBA Excel
Anda sebelum Anda mengeksekusi kode. Untuk menunjukkan cara untuk men-debug makro,
jalankan langkah-langkah berikut.
1. Buka Visual Basic Editor. 2. Buat makro yang salah berikut ini:
3. Tempatkan kursor Anda sebelum Private. 4. Ada dua cara untuk debug makro.Tekan F8 atau memilih Debug dari Menu dan
kemudian Langkah KeDebug makro Anda. Baris pertama akan menjadi kuning.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 23
Excel VBA Macro Programing – STIKI MALANG
5. Tekan F8 lagi. Kode baris kedua akan menjadi kuning. Selama debugger berpikir semuanya baik-baik saja, tidak akan terjadi.
6. Tekan F8 dua kali. Kesalahan berikut akan muncul.
7. Ia mengatakan bahwa objek tidak mendukung properti atau metode. Rentang objek memiliki properti yang disebut Nilai. Nilai tidak dieja dengan benar di sini, jadi debugger tidak mengakui properti. Lebih lanjut tentang objek, properti dan metode di Properti Obyek, dan Metode. Anda mungkin menemukan debug banyak pekerjaan pada tahap ini, tetapi pasti akan melunasi setelah program Anda menjadi lebih rumit.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 24
Excel VBA Macro Programing – STIKI MALANG
J. Objects, Properties dan Methods
Dalam Excel VBA, objek, properti dan metode yang terhubung dengan sebuah titik
Properties sesuatu yang objek memiliki (mereka menggambarkan objek)., Sementara
metode melakukan sesuatu yang (mereka melakukan aksi dengan objek).
Excel VBA PropertyMari kita lihat sebuah objek VBA Excel dan VBA Excel properti. Kami akan
menggunakan objek Range dan properti Formula. Objek Rentang tidak lebih dari sebuah sel
(atau sel) pada lembar kerja Anda. Kita sudah tahu dari Excel bahwa sebuah sel dapat berisi
formula.
1. Tempatkan nilai 10 ke dalam sel A1. 2. Buat tombol perintah.
3. Tambahkan baris:
Range("B1").Formula = Range("A1") * 2
4. Jalankan makro. Makro ini menempatkan formula ke dalam sel B1 dan hasilnya akan dihitung (20).
Excel VBA MethodSekarang mari kita lihat sebuah objek VBA Excel dan VBA Excel metode. Kami
akan menggunakan objek Range lagi dan metode ClearContents.
1. Tempatkan nilai 10 ke dalam sel A1. 2. Buat tombol perintah.
3. Tambahkan baris:
Range("A1").ClearContents
4. Jalankan makro. Sel A1 sekarang kosong! Itulah cara mudah pemrograman berorientasi obyek dalam Excel Visual Basic!
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 25
Excel VBA Macro Programing – STIKI MALANG
Lihat semua properti dan metode dari objek.
Range objek memiliki sifat lebih banyak dan metode. Ingin melihat lebih banyak?
1. Buka Visual Basic Editor. 2. Ketik: Range.
3. Sebuah daftar akan muncul menunjukkan kepada Anda semua metode Excel VBA dan sifat dari objek Range. Jari-jari adalah sifat dan kotak-kotak hijau adalah metode dari objek Range.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 26
Excel VBA Macro Programing – STIKI MALANG
K. Workbook and Worksheet
Jika Anda tidak akrab dengan Objects, Properties dan Metode, kami sangat
menganjurkan Anda untuk membaca bab pertama ini.
Object HierarchySekarang bahwa Anda telah melihat objek Range, Anda dapat memahami
Workbook dan Worksheet objek lebih baik. Dalam Excel Visual Basic setiap objek dapat
berisi objek lain, dan objek yang dapat berisi objek lain, dll Dengan kata lain, Excel VBA
pemrograman melibatkan bekerja dengan hirarki objek. Hal ini mungkin terdengar cukup
membingungkan, tetapi kita akan membuatnya jelas.
Ibu dari semua obyek Excel itu sendiri. Kami menyebutnya objek Aplikasi. Obyek
aplikasi berisi objek lain. Sebuah contoh dari sebuah objek dari objek Aplikasi adalah objek
Workbook (File Excel). Hal ini dapat setiap workbook yang telah Anda buat. Workbook
objek berisi objek lain, seperti objek Worksheet. Objek Lembar berisi objek lainnya, seperti
objek Range.
Kami telah menggunakan baris kode berikut:
Range("A1").Value
tapi apa yang kita maksudkan adalah sel A1 pada lembar kerja pertama Book1. Jadi kita
benar-benar harus menambahkan baris berikut di Excel VBA:
Application.Workbooks("Book1").Worksheets(1).Range("A1").Value
Untungnya kita tidak perlu menambahkan baris kode dengan cara ini. Hal ini karena Excel
Visual Basic tahu kami berarti Book1 dan lembar pertama karena kami menempatkan tombol
perintah kami(ingat?). Sekarang juga ingat modul otomatis dibuat ketika kita direkam makro
dengan Perekam Macro Excel . Kode ditempatkan dalam modul tersedia untuk semua
workbook dan worksheet.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 27
Excel VBA Macro Programing – STIKI MALANG
Tempatkan tes Sub ke dalam modul (Dalam Visual Basic Editor, klik Insert dan
kemudian Modul).
Sub test()
Range("A1").Value = "code placed here"
End Sub
1. Mengeksekusi kode (Klik Macro dan kemudian Run, atau klik pada Run dari Visual Basic Editor). Kata-kata "code placed here" akan ditempatkan ke dalam sel A1.
2. Sekarang pergi ke worksheet kedua. Mengeksekusi kode lagi. Anda akan melihat bahwa kata-kata akan ditempatkan pada worksheet kedua juga!
3. Sekarang bahkan membuka workbook baru dan mengeksekusi makro lagi. Anda akan melihat bahwa kata-kata akan ditempatkan di sana juga! Itu karena kita tidak menentukan nama workbook atau worksheet dan Excel VBA secara otomatis mengambil buku kerja yang aktif dan lembar kerja aktif. Sadarilah bahwa jika Anda ingin mengubah hal yang berbeda pada sheet yang berbeda untuk memasukkan objek Lembar Kerja.
Properties and methods of the Workbook and Worksheet objectAnda mungkin telah memperhatikan bahwa worksheet dan workbook keduanya
jamak (lihat baris kode lengkap disebutkan sebelumnya). Itu karena mereka sebenarnya
koleksi. Koleksi workbook berisi semua objek Workbook yang sedang terbuka. Koleksi
Worksheet berisi semua objek Worksheet dalam workbook.
Anda dapat merujuk ke anggota koleksi, yaitu: workbook tunggal atau worksheet
tunggal, dalam dua cara. Menggunakan nomor indeks, worksheet (1) adalah sheet pertama
dimulai dari kiri. Menggunakan nama anggota: Worksheet ("Sheet1").
Ini mungkin tidak mengejutkan Anda bahwa koleksi dan anggota koleksi memiliki
sifat dan metode juga. Berikut adalah beberapa contoh.
1. Properti Count koleksi Lembar dan koleksi workbook. Baris kode berikut menghitung jumlah lembar pencatatan Tempat. tombol perintah pada lembar kerja Anda dan menambahkan baris kode:
MsgBox Worksheets.Count
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 28
Excel VBA Macro Programing – STIKI MALANG
Hasil ketika Anda mengklik tombol perintah pada lembaran:
Anda juga dapat menggunakan properti Hitung untuk menghitung jumlah workbook
aktif.
2. Metode pengumpulan Tambahkan workbook dan koleksi Worksheets. The following code line creates a new worksheet. Kode baris berikut membuat lembar kerja baru.
Worksheets.Add
Anda juga dapat menggunakan metode Add untuk menambahkan buku kerja baru.
3. Objek Lembar berisi koleksi lebih menarik, seperti koleksi Baris. Dalam Excel VBA Anda dapat menggunakan metode Pilih untuk memilih baris. Baris kode di bawah ini memilih baris 2.
Worksheets(1).Rows(2).Select
Dengan cara yang sama, Anda dapat memilih kolom. Baris kode di bawah ini memilih kolom
7.
Worksheets(1).Columns(7).Select
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 29
Excel VBA Macro Programing – STIKI MALANG
L. Application Object
Ibu dari semua obyek Excel itu sendiri. Kami menyebutnya objek Aplikasi. Obyek
aplikasi memberikan akses ke banyak pilihan Excel terkait.
WorksheetFunction
Anda dapat mengakses hampir semua fungsi Excel melalui objek Aplikasi.
1. Misalnya, menempatkan tombol pada lembar kerja Anda dan tambahkan baris kode
berikut:
Range("A3").Value = Application.WorksheetFunction.Average(Range("A1:A2"))
Ketika Anda mengklik tombol perintah pada worksheet, Excel VBA menghitung
rata-rata nilai di A2 untuk A1 dan untuk tempat-tempat hasil ke dalam sel A3.
Catatan: bukan Application.WorksheetFunction.Average, Anda juga dapat hanya menggunakan WorksheetFunction.Average.
Ada fungsi lembar kerja lebih banyak dapat Anda gunakan di Excel VBA. Ingin melihat lebih banyak?
1. Jalankan Visual Basic Editor. 2. Ketik: worksheetfunction.
3. Sebuah daftar akan muncul menunjukkan kepada Anda semua fungsi worksheet yang tersedia.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 30
Excel VBA Macro Programing – STIKI MALANG
BAB III
Pemrograman VBA
Pada bab ini anda akan belajar bagaimana agar mendapatkan hasil yang maksimal
dari Excel VBA. Excel VBA Pemrograman tidak sulit, tetapi Anda perlu tahu kata kunci
yang digunakan di Excel VBA.
M. Variables
Sub-bab ini mengajarkan Anda bagaimana cara mendeklarasikan, menginisialisasi
dan menampilkan variabel Excel VBA. Sebuah variabel digunakan untuk menyimpan sebuah
nilai. Sebuah variabel dapat berisi dari salah satu type. Dalam Excel VBA, kita memiliki
beberapa macam tipe variabel.
Variable of type IntegerVariabel integer digunakan untuk menyimpan bilangan bulat.
Code :
Dim x As Integerx = 6Range("A1").Value =x
Hasil :
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 31
Excel VBA Macro Programing – STIKI MALANG
1. “Dim x As Integer” kode baris pertama menyatakan variabel Excel VBA dengan nama x bertipe Integer.
2. Selanjutnya, kita menginisialisasi variabel. Dalam Excel VBA (dan dalam banyak bahasa pemrograman lain), menginisialisasi hanya berarti menetapkan awal nilai ke variabel. Hal ini dilakukan dengan menambahkan baris “x = 6”.
3. Akhirnya, kita menempatkan nilai yang diberikan untuk variabel x ke dalam sel A1. Hal ini dapat dilakukan dengan menambahkan baris: “Range (“ A1 “). Value = x”
Variable of type StringVariabel string digunakan untuk menyimpan teks.
Code :
Dim book As Stringbook = "bible"Range("A1").Value = book
Hasil :
1. “ Dim book As String” kode baris pertama menyatakan variabel Excel VBA dengan book nama tipe String.
2. Selanjutnya, kita menginisialisasi variabel. Misalnya, tambahkan baris: book = “bible”. Selalu gunakan apostrophes untuk menginisialisasi variabel String.
3. Akhirnya, kita menempatkan teks ditugaskan untuk book variabel ke sel A1. Anda dapat mencapai ini dengan menambahkan baris “Range (“A1”). Nilai = book”.
Variable of type Double Sebuah variabel tipe dua kali lebih akurat daripada variabel bertipe Integer dan juga
dapat menyimpan nomor setelah koma.
Code :
Dim x As Integerx = 5.5MsgBox "value is " & x
Hasil :
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 32
Excel VBA Macro Programing – STIKI MALANG
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 33
Excel VBA Macro Programing – STIKI MALANG
Tapi itu bukan nilai yang benar! variabel diinisialisasi dengan nilai 5,5 dan anda
mendapatkan nilai 6. Apa yang kita butuhkan adalah variabel tipe Double.
Code :
Dim x As Doublex = 5.5MsgBox "value is " & x
Hasil :
Catatan: Anda mungkin bertanya-tanya mengapa Anda akan menggunakan variabel Integer, jika Anda bisa menggunakan variabel Double lebih akurat. Itu karena variabel double, perlu lebih banyak ruang dan sebagai hasilnya kode Anda akan berjalan lebih lambat. Terlepas dari ini, Anda akan melihat bahwa kesalahan lebih mudah untuk menemukan ketika Anda menggunakan variabel dari type yang tepat.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 34
Excel VBA Macro Programing – STIKI MALANG
Variable of type Boolean
Code :
Dim continue As Booleancontinue = TrueIf continue = True Then MsgBox "Boolean variables are cool"
Hasil :
1. Kode baris pertama menyatakan tipe variabel Boolean.2. Selanjutnya, kita menginisialisasi variabel Boolean dengan nilai Benar.3. Akhirnya, kita dapat menggunakan variabel Boolean untuk hanya menampilkan
MsgBox jika variabel memegang nilai Benar.
Variable of type DateUntuk mendeklarasikan tanggal, kita menggunakan pernyataan Dim. Untuk
menginisialisasi tanggal, kita gunakan fungsi DateValue. Ingin mempelajari lebih lanjut
tentang tanggal? Buka sub-bab Date dan Time.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 35
Excel VBA Macro Programing – STIKI MALANG
N. String Manipulation
Ada banyak fungsi di Excel VBA dapat kita gunakan untuk memanipulasi string. Di
bawah ini Anda dapat menemukan review dari fungsi yang paling penting.
Tempatkan tombol perintah pada lembar kerja Anda dan tambahkan baris kode yang
dijelaskan dalam bahasan ini. Untuk mengeksekusi baris kode.
Join Strings
Kami menggunakan operator & untuk menggabungkan string.
Code :
Dim text1 As String, text2 As String
text1 = “Hi “
text2 = “Tim”
MsgBox text1 & text2
Hasil :
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 36
Excel VBA Macro Programing – STIKI MALANG
LeftUntuk ekstrak karakter paling kiri dari string, gunakan Left.
Code :
Dim text As Stringtext = “example text”
MsgBox Left(text, 4)
Hasil :
RightUntuk ekstrak karakter paling kanan dari string, gunakan Right. Kita langsung dapat
menyisipkan teks dalam fungsi juga.
Code :
MsgBox Right(“example text”, 2)
Hasil :
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 37
Excel VBA Macro Programing – STIKI MALANG
LenUntuk mendapatkan panjang string, gunakan Len.
Code :
MsgBox Len(“example text”)
Hasil :
Catatan: ruang ( posisi 8 ) termasuk!
InstrUntuk mencari posisi substring dalam string, gunakan Instr.
Code :
MsgBox Instr(“example text”, “am”)
Hasil :
Catatan: string “am” ditemukan di posisi 3
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 38
Excel VBA Macro Programing – STIKI MALANG
MidUntuk mengekstrak substring, mulai di tengah-tengah string, gunakan Mid
Code :
MsgBox Mid(“example text”, 9, 4)
Hasil :
Catatan: mulai pada posisi 9 (t) dengan panjang 4
O. Calculate
Mari kita mengembangkan sebuah makro kecil yang melibatkan perhitungan
sederhana (menambahkan nilai ke variabel) dan teknik pemrograman yang sangat penting.
Tempatkan tombol perintah pada lembar kerja Anda dan tambahkan baris kode berikut:
Dim x As Integerx = Range(“A1″).Value
x = x + 1Range(“A1″).Value = x
1. Kode baris pertama menyatakan variabel dengan nama x bertipe Integer.2. Selanjutnya, kita menginisialisasi variabel ini dengan nilai sel A1.
3. Kami ingin menambahkan 1 ke variabel x. Anda dapat melakukan ini dengan menambahkan baris x = x +1. Dalam Excel Visual Basic (dan dalam bahasa pemrograman lain), simbol ‘=’ berarti menjadi. Ini tidak berarti sama! Jadi x = x + 1
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 39
Excel VBA Macro Programing – STIKI MALANG
berarti x menjadi x + 1. Dengan kata lain: mengambil nilai sekarang dari x dan tambahkan 1 untuk itu. Contoh: Jika x = 6, x menjadi 6 + 1 = 7.
4. Akhirnya, tempat variabel dengan nilai baru ke dalam sel A1.
Keluar Editor Visual Basic dan masukkan nilai ke dalam sel A1. Klik pada Tombol
yang di beriperintah tadi untuk melihat bagaimana nilai sel A1 bertambah setiap kali Anda
klik pada Tombol.
Hasil :
Anda baru saja membuat sebuah counter di Excel VBA. Bagus!
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 40
Excel VBA Macro Programing – STIKI MALANG
P. If Then Statement
Dalam banyak situasi kami hanya ingin Excel VBA untuk mengeksekusi baris kode
tertentu ketika kondisi tertentu terpenuhi. If Then Statement memungkinkan Anda untuk
melakukan hal ini.
If Than Statement
Tempatkan tombol perintah pada lembar kerja Anda dan tambahkan baris kode berikut:
Dim score As Integer, grade As Stringscore = Range(“A1″).Value
If score >= 60 Then grade = “passed”
Range(“B1″).Value = grade
1. Kode baris pertama menyatakan dua variabel. Salah satu variabel bertipe Integer dan satu variabel bertipe String.
2. Selanjutnya, kita menginisialisasi variabel dengan skor nilai sel A1.
3. Jika skor lebih tinggi atau sama dengan 60, kita memberikan teks ‘lulus’ ke kelas variabel.
4. Akhirnya, kita menempatkan nilai dari variabel kelas dalam sel B1.
Keluarlah dari Visual Basic Editor, masukkan nilai ke dalam sel A1, dan klik pada
CommandButton1.
Hasil :
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 41
Excel VBA Macro Programing – STIKI MALANG
Else StatementJika skor lebih rendah dari 60, baris kode sebelumnya B1 sel kosong. Kita dapat
menggunakan pernyataan Lain untuk menetapkan teks ‘gagal’ ke kelas variabel jika skor
lebih rendah dari 60.
Dim score As Integer, grade As Stringscore = Range(“A1″).Value
If score >= 60 Then grade = “passed”Else grade = “failed”End If
Range(“B1″).Value = grade
Hasil :
Catatan: Ini adalah praktik yang baik untuk selalu memulai baris baru setelah kata-kata Then dan Else dan diakhiri dengan End If . Hanya jika ada satu baris kode setelah Then ada pernyataan Lain, diijinkan untuk menempatkan baris kode langsung setelah Then dan menghilangkan End If
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 42
Excel VBA Macro Programing – STIKI MALANG
Q. Cells
Sejauh ini kita telah menggunakan objek Rentang untuk menempatkan nilai ke
dalam sel atau membaca nilai dari sel. Alih-alih objek Range, Anda juga dapat menggunakan
Cells. Sebagai contoh, Cells (4,2). Nilai adalah sama dengan Range("B4").value. Cells(4,2).
Nilai sesuai dengan nilai Cells dengan rownumber 4 dan columnnumber 2, yang merupakan
Cells B4.
Tempatkan tombol pada lembar kerja Anda dan tambahkan baris kode berikut:
Cells(4, 2).Value = 100
Hasil ketika Anda mengklik tombol perintah pada lembaran :
Anda mungkin bertanya-tanya mengapa Anda akan menggunakan Cells, jika Anda
bisa menggunakan Range objek lebih umum. Itu karena menggunakan Cells ini sangat
berguna ketika kita ingin loop melalui ranges.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 43
Excel VBA Macro Programing – STIKI MALANG
R. Loop
Excel VBA loop (atau untuk loop berikutnya) adalah statement pemrograman yang
sangat berguna yang sering digunakan di Excel VBA. Pertama, kita akan melihat contoh
mudah bagaimana loop melalui berbagai satu dimensi.
Single Loop
Anda dapat menggunakan single loop untuk loop melalui berbagai satu dimensi.
Tempatkan tombol pada lembar kerja Anda dan tambahkan baris kode berikut:
Dim total As Integer, i As Integertotal = 0
For i = 1 To 4 'ignore the two code lines below, they are only added to illustrate the loop Cells(i, 1).Select MsgBox "i = " & i
If Cells(i, 1).Value > 40 Then total = total + 1Next i
MsgBox total & " values higher than 40"
1. Dua baris pertama kode mendeklarasikan dua variabel bertipe Integer. Satu bernama total dan satu bernama i.
2. Selanjutnya, kita menginisialisasi variabel total dengan value 0.
3. Tambahkan berikutnya untuk loop yang berlangsung dari 1 sampai 4.
4. Buat pernyataan If Then yang peningkatan total 1 jika value lebih tinggi dari 40.
5. Akhirnya, menggunakan kotak pesan untuk menampilkan jumlah total nilai yang lebih tinggi dari 40.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 44
Excel VBA Macro Programing – STIKI MALANG
Hasil ketika Anda mengklik tombol perintah pada lembar beberapa kali:
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 45
Excel VBA Macro Programing – STIKI MALANG
Penjelasan: Kode garis antara For dan Next akan dieksekusi empat kali. For i = 1, 2, 3 and 4. For i =1, Excel VBA mengisi 1 untuk i dan mendapat Cells (1,1).value. Ini adalah nilai pertama. Ketika Excel VBA mencapai Next i, ia melompat kembali ke pernyataan meningkatnya For i dengan 1. For i = 2, Excel VBA mengisi 2 untuk i dan mendapat Cells(1,2).value. Ini adalah nilai kedua. For i = 2, Excel VBA juga total 1 kenaikan karena nilai kedua lebih tinggi dari 40. For i = 3, dll
Excel VBA loop melalui kode empat kali dan setelah itu meninggalkan For Next loop dan mengeksekusi code.
Hasil:
Catatan: itu adalah praktik yang baik untuk selalu indentasi (tab) kode antara kata-kata For dan Next. Hal ini membuat kode Anda lebih mudah dibaca.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 46
Excel VBA Macro Programing – STIKI MALANG
S. Logical Operators
Dalam segala macam macro kita menggunakan Excel VBA operator logis. Tiga
operator logika yang paling banyak digunakan di Excel Visual Basic adalah: And, Or dan
Not. Setiap operator logis sekarang akan diilustrasikan dengan bantuan contoh yang mudah.
Logical Operator And Sebagai contoh, kita menyewa orang untuk pekerjaan tertentu, hanya jika kecerdasan
IQ-nya lebih tinggi atau sama dengan 110 And kesan dia meninggalkan selama wawancara
lebih tinggi Or sama dengan 7 (pada skala 1 sampai 10).
Tempatkan tombol pada lembar kerja Anda dan tambahkan baris kode berikut: .
If Range("B1").Value >= 110 And Range("B2").Value >= 7 Then Range("B4").Value = "Hire"Else Range("B4").Value = "Do not hire"End If
Hasil ketika Anda mengklik tombol perintah pada lembaran:
Makro menggunakan operator logika And untuk mendapatkan hasil yang tepat.
Kami tidak mempekerjakan orang karena kecerdasan IQ-nya lebih rendah dari 110.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 47
Excel VBA Macro Programing – STIKI MALANG
Logical Operator Or
Sebagai contoh, kita menyewa orang untuk pekerjaan tertentu, hanya jika kecerdasan
IQ-nya lebih tinggi atau sama dengan 110 Or kesan dia meninggalkan selama wawancara
lebih tinggi atau sama dengan 7 (pada skala 1 sampai 10) .
Code:
If Range("B1").Value >= 110 Or Range("B2").Value >= 7 Then Range("B4").Value = "Hire"Else Range("B4").Value = "Do not hire"End If
Hasil:
Contoh ini menunjukkan efek dari pernyataan Or. Meskipun, kecerdasan IQ orang tersebut jauh di bawah 110, kita mempekerjakan orang tersebut karena ia meninggalkan kesan yang sangat baik selama wawancara.
Logical Operator Not Sebagai contoh, kita tidak menyewa orang untuk pekerjaan tertentu, yang 'rakus' dan
'semua tentang uang'. Makro di bawah ini menggunakan operator logis Not untuk
mendapatkan hasil yang tepat. Operator Not menunjuk bahwa kondisi tidak pasti benar.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 48
Excel VBA Macro Programing – STIKI MALANG
Sedikit menyesuaikan makro sebelumnya.
Code:
If (Range("B1").Value >= 110 Or Range("B2").Value >= 9) And Not Range("B3").Value = "Yes" Then Range("B4").Value = "Hire"Else Range("B4").Value = "Do not hire"End If
Hasil:
Kami ingin salah satu dari dua kondisi pertama yang benar (gunakan tanda kurung)
dan kondisi ketiga tidak harus benar. Kami tidak mempekerjakan orang karena kondisi ketiga
benar (Cells B3 berisi kata Yes).
Anda dapat mendebug melalui kode menggunakan F8 (lihat gambar di bawah).
Tempatkan kursor pada kode untuk melihat nilai-nilai yang sebenarnya! The '_' simbol yang
digunakan di sini untuk melanjutkan pernyataan pada baris baru (tidak diperlukan). Selalu uji
makro Anda ketika Anda menggunakan operator logika untuk memastikan bahwa mereka
melakukan apa yang Anda inginkan.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 49
Excel VBA Macro Programing – STIKI MALANG
T. Range
Bab ini memberikan gambaran sifat dan metode dari objek Range sangat penting
VBA Excel.
Range Examples
Kita telah melihat objek Range di bab-bab sebelumnya. Range objek adalah representasi dari sebuah Cell (atau Cells) pada lembar kerja Anda. Kode baris: ". Range (" A1 ") value = 1 'tempat nilai 1 ke dalam Cell A1. Anda juga dapat mengeksekusi operasi di Excel Visual Basic pada lebih dari satu Cells pada waktu yang sama. Lihat tiga macro berikut.
Tempatkan tombol pada lembar kerja Anda dan tambahkan baris kode berikut:
Range("A1:A4").Value = 2
Hasil ketika Anda mengklik tombol perintah pada lembaran:
Code:
Range("A1:B4").Value = 5
Hasil :
Code:
Range("A1:A2,B3:C4").Value = 10
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 50
Excel VBA Macro Programing – STIKI MALANG
Hasil :
Declare a RangeDalam bab variabel, kami belajar bagaimana cara mendeklarasikan variabel di Excel
VBA. Selain mendeklarasikan variabel, Anda juga dapat mendeklarasikan objek Excel VBA
Range. Anda dapat melakukan ini dengan menggunakan kata kunci Dim dan Set.
Tempatkan tombol pada lembar kerja Anda dan tambahkan baris kode berikut:
Dim example As RangeSet example = Range("A1:D1")
example.Value = 8
Hasil ketika Anda mengklik tombol perintah pada lembaran:
Select a RangeSebuah metode penting dari object Excel VBA Range adalah metode Select. Metode
Select hanya memilih kisaran.
Code:
Dim example As RangeSet example = Range("A1:C4")
example.Select
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 51
Excel VBA Macro Programing – STIKI MALANG
Hasil:
RowsProperti Baris memberikan akses ke baris tertentu dari kisaran. Makro berikut
memilih baris ketiga Range ("A1: C4").
Dim example As RangeSet example = Range("A1:C4")
example.Rows(3).Select
Hasil:
Catatan: Range ("A1: C4") telah diformat untuk ilustrasi.
ColumnsProperti Kolom memberikan akses ke kolom tertentu dari kisaran. Makro berikut
memilih kolom kedua dari Range ("A1: C4").
Dim example As RangeSet example = Range("A1:C4")
example.Columns(2).Select
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 52
Excel VBA Macro Programing – STIKI MALANG
Hasil:
Catatan: Range ("A1: C4") telah diformat untuk ilustrasi.
Copy and Paste a RangeMetode Copy dan Paste digunakan untuk menyalin berbagai tertentu dan untuk
menempelkannya di tempat lain pada worksheet. Rentang makro salinan berikut ("A1: A2")
dan pasta menjadi Range ("C4: C5").
Range("A1:A2").SelectSelection.Copy
Range("C4").SelectActiveSheet.Paste
Hasil:
Meskipun hal ini diperbolehkan dalam Excel VBA, jauh lebih mudah untuk
menggunakan baris kode berikut ini yang tidak persis sama.
Range("C4:C5").Value = Range("A1:A2").Value
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 53
Excel VBA Macro Programing – STIKI MALANG
Clear a RangeUntuk menghapus isi range Excel, Anda dapat menggunakan metode Clear. Selain
mengosongkan jangkauan, metode ini juga menghapus format dari jangkauan. Jika Anda
hanya ingin menghapus konten, Anda dapat menggunakan metode ClearContents. Jika Anda
hanya ingin menghapus format, Anda dapat menggunakan metode ClearFormats. Baris kode
berikut membersihkan isi Cell A1.
Range("A1").ClearContents
Catatan:. Range ("A1") ClearContents di Excel VBA adalah persis sama dengan Range ("A1") value = "".
CountDengan properti Count, Anda dapat menghitung jumlah cell, baris dan kolom dari
berbagai Excel. Berikut adalah beberapa contoh.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 54
Excel VBA Macro Programing – STIKI MALANG
Makro berikut menghitung jumlah cell-cell range diformat.
Dim example As RangeSet example = Range("A1:C4")
MsgBox example.Count
Hasil:
Makro berikut menghitung jumlah baris dari range diformat.
Dim example As RangeSet example = Range("A1:C4")
MsgBox example.Rows.Count
Hasil:
Dengan cara yang sama, Anda dapat menghitung jumlah kolom dari kisaran.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 55
Excel VBA Macro Programing – STIKI MALANG
U. Events
Bab ini mengajarkan Anda bagaimana untuk program event workbook di Excel
VBA. Peristiwa tindakan yang dilakukan oleh pengguna, yang memicu Excel VBA untuk
mengeksekusi makro. Pertama, kita akan melihat beberapa contoh peristiwa.
Event Examples
Di bawah ini adalah daftar contoh acara.
Pengguna membuka workbook (workbook event).
Pengguna mengaktifkan lembar kerja (worksheet event).
Pengguna mengubah isi sel pada lembar (worksheet event).
Pengguna mengklik ganda sel (worksheet event).
Workbook Event
Peristiwa Workbook adalah tindakan yang dilakukan pada buku kerja (file Excel
Anda =) yang memicu Excel VBA untuk mengeksekusi makro. Untuk membuat acara
workbook, jalankan langkah-langkah berikut.
1. Jalankan Visual Basic Editor. 2. Double Klik pada Workbook ini dalam Proyek Explorer (PENTING!). Jendela kode
akan muncul menunjukkan kepada Anda dua drop-down daftar.
3. Pilih Workbook dari daftar drop-down kiri.
4. Daftar drop-down kanan menunjukkan Anda semua peristiwa buku kerja (jangan khawatir, Anda tidak akan menggunakan sebagian besar peristiwa ini). Pilih acara Buka. Excel VBA otomatis menempatkan prosedur Sub untuk Anda.
5. Sekarang Anda dapat menambahkan baris yang hanya akan dieksekusi oleh Excel VBA ketika Anda membuka workbook! Tambahkan baris:
MsgBox "Good Morning"
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 56
Excel VBA Macro Programing – STIKI MALANG
6. Tutup file Excel (jangan lupa untuk menyimpan). 7. Buka file Excel dan menguji event workbook.
Hasil:
Catatan: Ada kemungkinan makro Anda belum dieksekusi karena pengaturan keamanan Anda tidak diatur dengan benar. Jika demikian, pergi ke pengaturan keamanan dan klik pada: enable all macros.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 57
Excel VBA Macro Programing – STIKI MALANG
V. Array
Sebuah array Excel VBA adalah sekelompok variabel. Anda dapat merujuk ke
variabel tertentu (elemen) dari array dengan menggunakan nama array dan nomor indeks.
Untuk membuat array satu dimensi, jalankan langkah-langkah berikut.
Tempatkan tombol pada lembar kerja Anda dan tambahkan baris kode berikut:
Dim Films(1 To 5) As String
Films(1) = "Lord of the Rings"Films(2) = "Speed"Films(3) = "Star Wars"Films(4) = "The Godfather"Films(5) = "Pulp Fiction"
MsgBox Films(4)
1. Kode baris pertama menyatakan array String dengan nama Films. Array terdiri dari lima elemen.
2. Selanjutnya, kita menginisialisasi setiap elemen array. Dengan kata lain: kita memberikan nilai awal.
3. Akhirnya, kami menampilkan film keempat menggunakan sebuah MsgBox.
Keluar Editor Visual Basic dan menguji array.
Hasil ketika Anda mengklik tombol perintah pada lembaran:
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 58
Excel VBA Macro Programing – STIKI MALANG
W. Date and Time
Tanggal dan waktu di Excel VBA dapat dimanipulasi dengan berbagai cara. Bab ini
mengajarkan Anda bagaimana untuk mendapatkan tahun, bulan dan hari tanggal VBA Excel,
bagaimana untuk menambahkan jumlah hari untuk date, bagaimana untuk mendapatkan
tanggal dan waktu, bagaimana untuk mendapatkan jam, menit dan kedua dari saat ini waktu
dan bagaimana mengkonversi string ke nomor urut waktu.
Tempatkan rombol pada lembar kerja Anda dan tambahkan baris kode yang
dijelaskan dalam bab ini. Untuk mengeksekusi baris kode, klik tombol perintah pada
lembaran.
Year, Month, Day of a DateMakro berikut akan tahun dari tanggal. Pertama, kita mendeklarasikan sebuah
tanggal dengan menggunakan pernyataan Dim. Untuk menginisialisasi tanggal, kita gunakan
fungsi DateValue.
Code:
Dim exampleDate As Date
exampleDate = DateValue("Jun 19, 2010")
MsgBox Year(exampleDate)
Hasil:
Catatan: Gunakan Bulan dan Hari untuk mendapatkan bulan dan hari dari tanggal.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 59
Excel VBA Macro Programing – STIKI MALANG
DateAddUntuk menambahkan jumlah hari untuk tanggal, menggunakan fungsi DateAdd.
Fungsi DateAdd memiliki tiga argumen. Isi "d" untuk argumen pertama sejak kita ingin
menambahkan hari. Isi 3 untuk argumen kedua untuk menambahkan 3 hari. Argumen ketiga
mewakili tanggal, yang dalam contoh ini, jumlah hari akan ditambah.
Code:
Dim firstDate As Date, secondDate As Date
firstDate = DateValue("Jun 19, 2010")secondDate = DateAdd("d", 3, firstDate)
MsgBox secondDate
Hasil:
Catatan: Ubah "d" untuk "m" untuk menambahkan beberapa bulan untuk kencan. Tempatkan kursor Anda pada DateAdd di Excel VBA dan klik pada F1 untuk bantuan pada penspesifikasi interval lainnya. Format tanggal tergantung pada pengaturan Anda jendela daerah.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 60
Excel VBA Macro Programing – STIKI MALANG
Current Date & Time
Untuk mendapatkan tanggal dan waktu, gunakan fungsi Sekarang.
Code:
MsgBox Now
Hasil:
Catatan: mengganti tanggal, seperti "19 Juni 2010" dengan Sekarang dan Anda dapat menggunakan semua fungsi yang dijelaskan di atas pada tanggal saat ini!
Hour, Minute and Second
Makro berikut mendapatkan jam waktu saat ini.
Code:
MsgBox Hour(Now)
Hasil:
Catatan: Gunakan Menit dan Kedua untuk mendapatkan menit dan detik dari waktu saat ini.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 61
Excel VBA Macro Programing – STIKI MALANG
TimeValue Fungsi TimeValue mengkonversi string ke nomor seri waktu. Nomor seri Waktu
adalah angka antara 0 dan 1. Misalnya, siang (tengah hari) direpresentasikan sebagai 0,5.
Code:
MsgBox TimeValue("9:20:01 am")
Hasil:
Sekarang, dengan jelas melihat bahwa Excel menangani internal kali sebagai angka antara 0 dan 1, tambahkan baris kode berikut:
Dim y As Doubley = TimeValue("09:20:01")MsgBox y
Hasil:
Kami harap Anda menemukan informasi tentang tanggal dan waktu fungsi dalam Excel VBA berguna.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 62
Excel VBA Macro Programing – STIKI MALANG
X. Function and Sub
Perbedaan antara fungsi dan sub di Excel VBA adalah bahwa fungsi dapat
mengembalikan nilai dan sub tidak bisa. Dalam bab ini kita akan melihat sebuah contoh yang
mudah dari fungsi dan sub. Fungsi dan subs menjadi sangat berguna sebagai meningkatkan
ukuran program.
FunctionJika Anda ingin Excel VBA untuk melakukan tugas yang mengembalikan hasilnya,
Anda dapat menggunakan function. Tempatkan fungsi ke dalam modul (Dalam Visual Basic
Editor, klik pada Insert dan kemudian Modul). Misalnya, fungsi dengan Wilayah nama.
Fungsi Wilayah (x As Double, y As Double) As Double
Area = x * y Luas = x * y
End Function End Function
Penjelasan: Fungsi ini memiliki dua argumen (dari ganda type) dan tipe kembali (bagian setelah Seperti juga tipe Double). Anda dapat menggunakan nama fungsi (Area) dalam kode Anda untuk menunjukkan hasil yang Anda ingin kembali (di sini x * y).
Sekarang Anda dapat merujuk ke fungsi ini (dengan kata lain memanggil fungsi) dari tempat lain dalam kode Anda dengan hanya menggunakan nama fungsi dan memberikan nilai untuk setiap argumen.
Tempatkan tombol pada lembar kerja Anda dan tambahkan baris kode berikut:
Dim z As Double
z = Area(3, 5) + 2 z = Luas (3, 5) + 2
MsgBox z MsgBox z
Penjelasan: Fungsi mengembalikan nilai sehingga Anda harus 'menangkap' nilai ini dalam kode Anda. Anda dapat menggunakan variabel lain (z) untuk ini. Selanjutnya, Anda dapat menambahkan nilai untuk variabel ini (jika Anda ingin). Akhirnya, menampilkan nilai menggunakan sebuah MsgBox.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 63
Excel VBA Macro Programing – STIKI MALANG
Hasil ketika Anda mengklik tombol perintah pada lembaran:
Sub Jika Anda ingin Excel VBA untuk melakukan beberapa tindakan, Anda dapat
menggunakan sub. Tempatkan sub ke dalam modul (Dalam Visual Basic Editor, klik pada
Insert dan kemudian Modul). Sebagai contoh, sub dengan nama Daerah.
Sub Area(x As Double, y As Double)
MsgBox x * y
End Sub
Penjelasan: sub ini memiliki dua argumen (dari dua jenis). Ia tidak memiliki tipe kembali! Anda dapat merujuk ke sub (panggilan sub) dari tempat lain dalam kode Anda dengan hanya menggunakan nama sub dan memberikan nilai untuk setiap argumen.
Tempatkan tombol pada lembar kerja Anda dan tambahkan baris kode berikut:
Area 3, 5
Hasil ketika Anda mengklik tombol perintah pada lembaran:
Dapatkah Anda melihat perbedaan antara fungsi dan sub? Fungsi mengembalikan nilai 15. Kami menambahkan nilai 2 hasil ini dan ditampilkan hasil akhir. Ketika kita disebut sub kita
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 64
Excel VBA Macro Programing – STIKI MALANG
tidak memiliki kontrol lebih besar atas hasil (15) karena sub tidak dapat mengembalikan nilai!
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 65
Excel VBA Macro Programing – STIKI MALANG
BAB IV
Kontrol
Bagian ini adalah tentang berkomunikasi dengan pengguna dengan menggunakan
kontrol atau UserForm. Pelajari cara menggunakan kontrol ini di Excel 2010 atau Excel
2007. Anda langsung dapat menempatkan kontrol pada selembar kertas atau tempat mereka
pada UserForm.
Y. Textbox
Sebuah textbox adalah bidang kosong di mana pengguna dapat mengisi sepotong
teks. Pelajari cara menggambar sebuah textbox pada lembar kerja Anda, bagaimana untuk
merujuk ke sebuah textbox dalam kode VBA Excel Anda, dan bagaimana untuk menghapus
textbox.
Draw a Textbox
Excel 2010 dan Excel 2007 pengguna. Klik pada Insert tab Developer dan kemudian klik TextBox di bagian ActiveX Controls.
Catatan: Ini adalah praktik yang baik untuk mengubah nama kontrol. Ini akan membuat kode Anda lebih mudah dibaca bila Anda memiliki kontrol lebih. Jika Anda memilih untuk mengubah nama kontrol, ingat untuk merujuk pada nama-nama dalam kode Anda.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 66
Excel VBA Macro Programing – STIKI MALANG
Link Cell to Textbox
Untuk menghubungkan cell untuk textbox, jalankan langkah-langkah berikut:
1. Klik kanan pada tombol perintah. Klik pada View Code. Tambahkan baris kode berikut:
Range("E2").Value = TextBox1.Value
2. Enter some text into the textbox. Masukkan beberapa teks ke dalam textbox.
Hasil ketika Anda mengklik tombol perintah pada lembaran:
Untuk menempatkan teks dari sel ke textbox (sebaliknya), cukup tambahkan baris kode berikut:
TextBox1.Value = Range("E2").Value
Clear Textbox
Untuk menghapus sebuah textbox, menggunakan baris kode berikut:
TextBox1.Value = ""
Meskipun di beberapa situasi dapat berguna untuk langsung menempatkan sebuah textbox pada lembar kerja Anda, textbox ini sangat berguna ketika ditempatkan pada UserForm.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 67
Excel VBA Macro Programing – STIKI MALANG
Z. Listbox
Excel VBA listbox, adalah daftar drop-down dari mana pengguna dapat membuat
pilihan. Pelajari cara menggambar listbox pada lembar kerja Anda dan bagaimana untuk
menambahkan item ke listbox.
Draw a Listbox
Excel 2010 dan Excel 2007 pengguna. Klik pada Insert tab Developer dan kemudian
klik pada Kotak Daftar di bagian ActiveX Controls.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 68
Excel VBA Macro Programing – STIKI MALANG
Add items to Listbox
Untuk menambahkan beberapa item ke listbox, jalankan langkah-langkah berikut:
1. Klik kanan pada listbox (pastikan mode desain dipilih) klik Properties. Isi E2 untuk LinkedCell dan B2: B4 untuk ListFillRange.
2. Pilih item dari listbox tersebut.
Hasil:
Meskipun di beberapa situasi dapat berguna untuk langsung menempatkan listbox
pada lembar kerja Anda, listbox sangat berguna ketika ditempatkan pada UserForm.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 69
Excel VBA Macro Programing – STIKI MALANG
AA. Combobox
Excel VBA combobox adalah daftar drop-down dari mana pengguna dapat
membuat pilihan. Perbedaan antara listbox dan combobox adalah bahwa dengan combobox
pengguna juga dapat mengisi dalam pilihannya sendiri jika tidak termasuk dalam daftar.
Draw a ComboboxExcel 2010 dan Excel 2007 pengguna. Klik pada Insert tab Developer dan kemudian
klik pada Combo Box di bagian ActiveX Controls.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 70
Excel VBA Macro Programing – STIKI MALANG
Add item to combobox
Untuk menambahkan beberapa item ke combobox, jalankan langkah-langkah berikut:
1. Klik kanan pada combobox (pastikan mode desain dipilih) sebuah klik Properties. Isi E2 untuk LinkedCell dan B2: B4 untuk ListFillRange.
2. Pilih item dari combobox atau mengisi pilihan Anda sendiri.
Hasil:
Meskipun di beberapa situasi dapat berguna untuk langsung menempatkan combobox pada lembar kerja Anda, combobox sangat berguna ketika ditempatkan pada UserForm.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 71
Excel VBA Macro Programing – STIKI MALANG
BB. Checkbox
Sebuah kotak centang Excel VBA adalah bidang yang dapat diperiksa untuk
menyimpan informasi. Pelajari cara menggambar kotak centang pada lembar kerja Anda dan
bagaimana untuk merujuk ke kotak centang dalam kode Anda.
Draw a CheckboxExcel 2010 dan Excel 2007 pengguna. Klik pada Insert tab Developer dan kemudian
klik pada Kotak Centang di bagian ActiveX Controls.
Catatan: Ini adalah praktik yang baik untuk mengubah nama kontrol. Ini akan membuat kode Anda lebih mudah dibaca bila Anda memiliki kontrol lebih. Jika Anda memilih untuk mengubah nama kontrol, ingat untuk merujuk pada nama-nama dalam kode Anda.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 72
Excel VBA Macro Programing – STIKI MALANG
Refer to Checkbox in your CodeUntuk merujuk pada kotak centang di Anda kode VBA Excel, jalankan langkah-
langkah berikut:
1. Klik kanan pada kotak centang. Klik pada View Code. Tambahkan baris kode berikut:
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then Range("C2").Value = 1If CheckBox1.Value = False Then Range("C2").Value = 0
End Sub
2. Keluarlah dari Visual Basic Editor dan memeriksa checkbox.
Hasil:
Meskipun di beberapa situasi dapat berguna untuk langsung menempatkan kotak
centang pada lembar kerja Anda, checkbox ini sangat berguna ketika ditempatkan pada
UserForm.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 73
Excel VBA Macro Programing – STIKI MALANG
CC. Option Buttons
Excel VBA tombol pilihan adalah sama dengan kotak centang kecuali bahwa
tombol pilihan tergantung pada masing-masing kotak centang, sementara lainnya tidak. Ini
berarti bahwa ketika Anda memeriksa satu tombol pilihan tombol pilihan lainnya secara
otomatis akan hapus centang.
Draw an Option ButtonExcel 2010 dan Excel 2007 pengguna. Klik pada Insert tab Developer dan kemudian
klik pada tombol Option di bagian ActiveX Controls.
Catatan: Ini adalah praktik yang baik untuk mengubah nama kontrol. Ini akan membuat kode Anda lebih mudah dibaca bila Anda memiliki kontrol lebih. Jika Anda memilih untuk mengubah nama kontrol, ingat untuk merujuk pada nama-nama dalam kode Anda.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 74
Excel VBA Macro Programing – STIKI MALANG
Refer to Option Button in your CodeUntuk merujuk ke tombol pilihan dalam kode VBA Excel Anda, jalankan langkah-
langkah berikut:
1. Klik kanan pada option button. Klik pada View Code. Tambahkan baris kode berikut:
Private Sub OptionButton1_Click()
If OptionButton1.Value = True Then Range("D3").Value = 30
End Sub
2. Klik kanan pada tombol pilihan kedua. Klik pada View Code. Tambahkan baris kode berikut:
Private Sub OptionButton2_Click()
If OptionButton2.Value = True Then Range("D3").Value = 50
End Sub
3. Keluarlah dari Visual Basic Editor dan klik pada tombol pilihan.
Hasil:
Anda akan melihat bahwa ketika Anda memeriksa 'Perempuan' tombol pilihan 'Pria'
tombol pilihan secara otomatis akan hapus centang dan sebaliknya.
Meskipun di beberapa situasi dapat berguna untuk langsung menempatkan tombol
pilihan pada lembar kerja Anda, tombol pilihan ini sangat berguna ketika ditempatkan pada
UserForm.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 75
Excel VBA Macro Programing – STIKI MALANG
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 76
Excel VBA Macro Programing – STIKI MALANG
DD. Userform
Bab ini mengajarkan Anda bagaimana untuk membuat Excel VBA UserForm (juga
dikenal sebagai kotak dialog). Anda dapat mendownload UserForm juga.
Userform Example
UserForm kita akan membuat terlihat sebagai berikut.
Controls
Kontrol yang paling penting yang dapat ditambahkan ke Excel VBA UserForm adalah:
Labels
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 77
Excel VBA Macro Programing – STIKI MALANG
Contoh label di UserForm kami adalah: 'Name:' , 'Phone Number:' , 'City Preference:' , 'Dinner Preference:' , dll.
Textboxes
Tiga kotak di samping Label 'Nama:' , 'Phone Number:' and 'Maximum to spend:' adalah boks teks.
Listboxes
Kotak di samping 'Preferensi Kota:' Label adalah listbox.
Comboboxes
Dropdown list-di samping 'Preferensi Makan malam:' Label adalah combobox.
Catatan: combobox adalah sama seperti listbox kecuali bahwa pengguna sekarang dapat juga mengisi dalam pilihannya sendiri jika / nya pilihannya tidak termasuk dalam daftar.
Checkboxes and Option buttons
'13 Juni', 'Juni 20' dan 'Juni 27' adalah contoh dari Checkbox. 'Yes' and 'No' adalah contoh dari tombol pilihan.
Catatan: Checkbox dan tombol pilihan terutama sama kecuali bahwa tombol pilihan tergantung pada masing-masing kotak centang, sementara lainnya tidak. Ini berarti bahwa ketika Anda ingin memeriksa satu tombol pilihan tombol pilihan lainnya secara otomatis akan hapus centang.
Frames
Bidang dengan ‘Car’ nama termasuk dua tombol pilihan adalah kontrol Frame.
Catatan: dalam rangka untuk tombol pilihan untuk memiliki fungsi bergantung dijelaskan sebelumnya yang terbaik adalah untuk menempatkan tombol-tombol pilihan dalam kontrol Frame.
Command buttons
Tombol perintah tiga di bawah UserForm adalah contoh tombol perintah.
Spin buttons
Tombol spin ditempatkan di samping textbox di bagian bawah Form tersebut.
Create the Userform
Sekarang adalah waktu untuk menciptakan UserForm!
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 78
Excel VBA Macro Programing – STIKI MALANG
1. Jalankan Visual Basic Editor. 2. Klik pada ThisWorkbook dari Proyek Explorer. Jika Explorer Proyek tidak terlihat,
klik View dan kemudian Project Explorer.
3. Dari Menu klik Insert dan kemudian UserForm. Layar Anda harus dibentuk sebagai berikut:
4. Jika Toolbox tidak muncul secara otomatis, klik pada View dan kemudian Toolbox. 5. Tambahkan semua kontrol. Setelah ini telah selesai, hasilnya harus konsisten dengan
gambar UserForm ditampilkan sebelumnya. Sebagai contoh, membuat Label dengan mengklik pada Label dari Toolbox. Selanjutnya, Anda dapat menarik Label Pada UserForm. Ketika Anda tiba di CarFrame, ingat untuk menarik Bingkai ini terlebih dahulu sebelum Anda menempatkan dua tombol pilihan di dalamnya.
6. Mengubah nama dan keterangan dari kontrol. Klik kanan mouse pada kontrol masing-masing. Kemudian klik Properties. Nama yang digunakan dalam kode VBA Excel. Keterangan adalah mereka yang muncul pada layar Anda. Mengubah nama dan keterangan dari kontrol sesuai dengan tabel di bawah ini.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 79
Excel VBA Macro Programing – STIKI MALANG
Control Name (in VBA) Caption
Userform DinnerPlannerUserForm Dinner Planner
Textbox NameTextBox N/A
Textbox PhoneTextBox N/A
Listbox CityListBox N/A
Combobox DinnerComboBox N/A
Checkbox DateCheckBox1 June 13th
DateCheckBox2 June 20th
DateCheckBox3 June 27th
Frame CarFrame Car
Option button CarOptionButton1 Yes
CarOptionButton2 No
Textbox MoneyTextBox N/A
Spin button MoneySpinButton N/A
Command button OKButton OK
Command button CancelButton Cancel
Command button ClearButton Clear Form
9 Labels No need to change See Picture
Catatan: itu adalah praktik yang baik untuk mengubah nama kontrol. Ini akan membuat kode Anda lebih mudah untuk dibaca.
Show the Userform
Untuk menampilkan UserForm, menempatkan tombol perintah pada lembar kerja Anda dan tambahkan baris kode berikut:
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 80
Excel VBA Macro Programing – STIKI MALANG
Private Sub CommandButton1_Click()
DinnerPlannerUserForm.Show
End Sub
UserForm_InitializeSub UserForm_Initialize berjalan secara otomatis setiap kali UserForm dimuat.
Jadi, ketika Anda menggunakan metode Tampilkan untuk UserForm, kode secara otomatis
akan dieksekusi.
Private Sub UserForm_Initialize()
'Empty NameTextBoxNameTextBox.Value = ""
'Empty PhoneTextBoxPhoneTextBox.Value = ""
'Empty CityListBoxCityListBox.Clear
'Fill CityListBoxWith CityListBox .AddItem "San Fransisco" .AddItem "Oakland" .AddItem "Richmond"End With
'Empty DinnerComboBoxDinnerComboBox.Clear
'Fill DinnerComboBoxWith DinnerComboBox .AddItem "Italian" .AddItem "Chinese" .AddItem "Frites and Meat"End With
'Uncheck DataCheckBoxesDateCheckBox1.Value = FalseDateCheckBox2.Value = FalseDateCheckBox3.Value = False
'Set no car as defaultCarOptionButton2.Value = True
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 81
Excel VBA Macro Programing – STIKI MALANG
'Empty MoneyTextBoxMoneyTextBox.Value = ""
'Set Focus on NameTextBoxNameTextBox.SetFocus
End Sub
Hasil kode: Fields dikosongkan, daftar dihuni dan kotak centang dicentang. CarOptionButton2 diatur sebagai default, dengan asumsi bahwa sebagian besar orang tidak memiliki mobil. Akhirnya, kode baris terakhir mengatur fokus pada NameTextbox karena ini adalah di mana kita ingin memulai ketika UserForm dimuat. Untuk menambahkan kode ini ke UserForm, jalankan langkah-langkah berikut.
1. Jalankan Visual Basic Editor. 2. Klik pada View dan kemudian Kode dari Menu atau klik kanan pada UserForm dan
kemudian View Code.
3. Jendela kode akan muncul menunjukkan kepada Anda dua drop-down daftar. Pilih UserForm dari daftar drop-down kiri. Pilih Inisialisasi dari daftar drop-down yang tepat.
4. Tambahkan kode.
Assign a macro to the Cancel buttonUntuk menutup VBA Excel UserForm ketika Anda klik pada tombol Cancel,
jalankan langkah-langkah berikut.
1. Jalankan Visual Basic Editor. 2. Double klik pada DinnerPlannerUserForm dari Proyek Explorer.
3. Double klik pada tombol Cancel.
4. Tambahkan baris kode berikut:
Private Sub CancelButton_Click()
Unload Me
End Sub
Assign a macro to the Clear buttonUntuk memanggil Sub UserForm_Initialize ketika Anda klik pada tombol Clear,
jalankan langkah-langkah berikut.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 82
Excel VBA Macro Programing – STIKI MALANG
1. Jalankan Visual Basic Editor. 2. Double klik pada DinnerPlannerUserForm dari Proyek Explorer.
3. Double klik pada tombol Clear.
4. Tambahkan baris kode berikut:
Private Sub ClearButton_Click()
Call UserForm_Initialize
End Sub
Assign a macro to the OK button
Setelah mengklik tombol OK, informasi dari UserForm akan ditempatkan pada lembar kerja Anda.
Private Sub OKButton_Click()
Dim emptyRow As Long
'Make Sheet1 ActiveSheets(1).Activate
'Determine emptyRowemptyRow = WorksheetFunction.CountA(Range("A:A")) + 1
'Export Data to worksheetCells(emptyRow, 1).Value = NameTextBox.ValueCells(emptyRow, 2).Value = PhoneTextBox.ValueCells(emptyRow, 3).Value = CityListBox.ValueCells(emptyRow, 4).Value = DinnerComboBox.Value
If DateCheckBox1.Value = True Then Cells(emptyRow, 5).Value = DateCheckBox1.Caption
If DateCheckBox2.Value = True Then Cells(emptyRow, 5).Value = Cells(emptyRow, 5).Value & " " & DateCheckBox2.Caption
If DateCheckBox3.Value = True Then Cells(emptyRow, 5).Value = Cells(emptyRow, 5).Value & " " & DateCheckBox3.Caption
If CarOptionButton1.Value = True Then Cells(emptyRow, 6).Value = "Yes"Else Cells(emptyRow, 6).Value = "No"
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 83
Excel VBA Macro Programing – STIKI MALANG
End If
Cells(emptyRow, 7).Value = MoneyTextBox.Value
End Sub
Penjelasan kode: Pertama, kita mengaktifkan Sheet1. Selanjutnya, kita menentukan emptyRow. Informasi dari UserForm akan ditempatkan di baris ini. EmptyRow meningkat setiap kali sebuah record ditambahkan. Akhirnya, kita mengambil informasi dari UserForm ke kolom tertentu dari emptyRow. Double klik pada tombol OK untuk menambahkan kode seperti yang kami lakukan dengan Batal dan tombol Hapus.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 84
Excel VBA Macro Programing – STIKI MALANG
Assign a macro to the Money Spin ButtonDengan menggunakan Tombol Putar Uang pengguna dapat menunjukkan betapa
dia / dia ingin menghabiskan. Jalankan langkah-langkah berikut untuk program ini:
1. Jalankan Visual Basic Editor. 2. Double klik pada DinnerPlannerUserForm dari Proyek Explorer.
3. Double klik pada tombol Putar Uang.
4. Tambahkan baris kode berikut:
Private Sub MoneySpinButton_Change()
MoneyTextBox.Text = MoneySpinButton.Value
End Sub
Test the Userform
Keluarlah dari Visual Basic Editor, mengisi baris 1, dan menguji UserForm.
Hasil:
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 85