SlideShare una empresa de Scribd logo
1 de 86
Descargar para leer sin conexión
Excel VBA Macro Programing – STIKI MALANG
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 1
Excel VBA Macro Programing – STIKI MALANG
Daftar Isi
Daftar Isi ...............................................................................................................2
BAB I...................................................................................................................6
SEKILAS EXCEL VBA MACRO...............................................................................6
Pengenalan Makro .............................................................................................6
Membuat Makro di Excel.....................................................................................6
Nyalakan Tab Developer.................................................................................6
Buat tombol perintah ......................................................................................7
Membuat dan Menetapkan Makro ..................................................................8
Excel Macro Recorder.......................................................................................10
Mengapa tidak menggunakan Perekam Makro Excel untuk semuanya? ......10
Merekam Makro ............................................................................................10
Jalankan Recorder Makro...............................................................................13
Mengedit Makro ............................................................................................15
BAB II................................................................................................................16
DASAR DASAR EXCEL VBA MACRO...................................................................16
Macro Security..................................................................................................16
Visual Basic Editor di Excel...............................................................................18
Macro Comments..............................................................................................20
MsgBox.............................................................................................................21
Macro Errors.....................................................................................................23
Debug Macros...................................................................................................25
Objects, Properties dan Methods......................................................................27
Excel VBA Property........................................................................................27
Excel VBA Method..........................................................................................27
Lihat semua properti dan metode dari objek. ...............................................28
Workbook and Worksheet.................................................................................29
Object Hierarchy............................................................................................29
Properties and methods of the Workbook and Worksheet object..................30
Application Object.............................................................................................32
BAB III...............................................................................................................33
Pemrograman VBA............................................................................................33
Variables...........................................................................................................33
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 2
Excel VBA Macro Programing – STIKI MALANG
Variable of type Integer.................................................................................33
Code :............................................................................................................33
Dim x As Integer
x = 6
Range("A1").Value =x...................................................................................33
Hasil : ..........................................................................................................33
.....................................................................................................................33
“Dim x As Integer” kode baris pertama menyatakan variabel Excel VBA
dengan nama x bertipe Integer.....................................................................33
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”..................................................................................................33
Variable of type String...................................................................................34
Variable of type Double ................................................................................34
Variable of type Boolean...............................................................................36
Variable of type Date.....................................................................................36
String Manipulation ..........................................................................................37
Left................................................................................................................38
Right..............................................................................................................38
Len................................................................................................................39
Instr...............................................................................................................39
Mid.................................................................................................................40
Calculate...........................................................................................................40
If Then Statement.............................................................................................42
Else Statement..............................................................................................43
Cells .................................................................................................................44
Loop .................................................................................................................45
Single Loop....................................................................................................45
Logical Operators .............................................................................................48
Logical Operator And ....................................................................................48
Logical Operator Or.......................................................................................49
Logical Operator Not .....................................................................................49
Range ..............................................................................................................51
Range Examples ...........................................................................................51
Declare a Range............................................................................................52
Select a Range...............................................................................................52
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 3
Excel VBA Macro Programing – STIKI MALANG
Rows..............................................................................................................53
Columns........................................................................................................53
Copy and Paste a Range................................................................................54
Range("C4:C5").Value = Range("A1:A2").Value............................................54
......................................................................................................................54
Clear a Range................................................................................................55
Count.............................................................................................................55
Events ..............................................................................................................57
Event Examples.............................................................................................57
Array ................................................................................................................59
Date and Time .................................................................................................60
Year, Month, Day of a Date............................................................................60
DateAdd.........................................................................................................61
Current Date & Time.....................................................................................62
Hour, Minute and Second..............................................................................62
TimeValue ....................................................................................................63
Function and Sub .............................................................................................64
Function.........................................................................................................64
Sub ...............................................................................................................65
Textbox ............................................................................................................67
Draw a Textbox.............................................................................................67
Link Cell to Textbox .....................................................................................68
TextBox1.Value = Range("E2").Value
......................................................................................................................68
Clear Textbox................................................................................................68
Listbox .............................................................................................................69
Draw a Listbox...............................................................................................69
Add items to Listbox......................................................................................70
Combobox .......................................................................................................71
Draw a Combobox.........................................................................................71
Add item to combobox .................................................................................72
Checkbox .........................................................................................................73
Draw a Checkbox...........................................................................................73
Refer to Checkbox in your Code....................................................................74
Option Buttons .................................................................................................75
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 4
Excel VBA Macro Programing – STIKI MALANG
Draw an Option Button..................................................................................75
Refer to Option Button in your Code..............................................................76
Userform ..........................................................................................................78
Userform Example.........................................................................................78
Controls.........................................................................................................78
Create the Userform......................................................................................79
Show the Userform........................................................................................81
Private Sub CommandButton1_Click()
DinnerPlannerUserForm.Show
End Sub.........................................................................................................82
UserForm_Initialize........................................................................................82
Assign a macro to the Cancel button.............................................................83
Assign a macro to the Clear button...............................................................83
Assign a macro to the OK button...................................................................84
Assign a macro to the Money Spin Button.....................................................86
Test the Userform..........................................................................................86
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 5
Excel VBA Macro Programing – STIKI MALANG
BAB I
SEKILAS EXCEL VBA MACRO
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.
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 Developer
Sebelum 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.
4. Dalam Customize the ribbondi sisi kanan kotak dialog, pilih Main tabs.
5. Periksa kotak dan centang Developerdan klik OK.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 6
Excel VBA Macro Programing – STIKI MALANG
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 7
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 8
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 9
Excel VBA Macro Programing – STIKI MALANG
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 10
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 11
Excel VBA Macro Programing – STIKI MALANG
6. Percentase Pilih dan klik OK.
7. Akhiri, Klik Stop Recording.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 12
Excel VBA Macro Programing – STIKI MALANG
Selamat! Anda baru saja direkam makro dengan Record Makro Excel!
Jalankan Recorder Makro
Sekarang 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 13
Excel VBA Macro Programing – STIKI MALANG
4. Klik Run.
Format sel harus mengubah Format Percentase. Hasil:
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 14
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 15
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.
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 16
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 17
Excel VBA Macro Programing – STIKI MALANG
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 18
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 19
Excel VBA Macro Programing – STIKI MALANG
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 20
Excel VBA Macro Programing – STIKI MALANG
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 21
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 22
Excel VBA Macro Programing – STIKI MALANG
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 23
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 24
Excel VBA Macro Programing – STIKI MALANG
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 25
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 26
Excel VBA Macro Programing – STIKI MALANG
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 Property
Mari 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 Method
Sekarang 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 27
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 28
Excel VBA Macro Programing – STIKI MALANG
Workbook and Worksheet
Jika Anda tidak akrab dengan Objects, Properties dan Metode, kami sangat
menganjurkan Anda untuk membaca bab pertama ini.
Object Hierarchy
Sekarang 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 29
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 object
Anda 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 30
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 31
Excel VBA Macro Programing – STIKI MALANG
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 32
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.
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 Integer
Variabel integer digunakan untuk menyimpan bilangan bulat.
Code :
Dim x As Integer
x = 6
Range("A1").Value =x
Hasil :
“Dim x As Integer” kode baris pertama menyatakan variabel Excel VBA dengan
nama x bertipe Integer.
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”.
1. Akhirnya, kita menempatkan nilai yang diberikan untuk variabel x ke dalam sel
A1. Hal ini dapat dilakukan dengan menambahkan baris: “Range (“ A1 “). Value
= x”
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 33
Excel VBA Macro Programing – STIKI MALANG
Variable of type String
Variabel string digunakan untuk menyimpan teks.
Code :
Dim book As String
book = "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 Integer
x = 5.5
MsgBox "value is " & x
Hasil :
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 34
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 Double
x = 5.5
MsgBox "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 35
Excel VBA Macro Programing – STIKI MALANG
Variable of type Boolean
Code :
Dim continue As Boolean
continue = True
If 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 Date
Untuk 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 36
Excel VBA Macro Programing – STIKI MALANG
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 37
Excel VBA Macro Programing – STIKI MALANG
Left
Untuk ekstrak karakter paling kiri dari string, gunakan Left.
Code :
Dim text As String
text = “example text”
MsgBox Left(text, 4)
Hasil :
Right
Untuk 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 38
Excel VBA Macro Programing – STIKI MALANG
Len
Untuk mendapatkan panjang string, gunakan Len.
Code :
MsgBox Len(“example text”)
Hasil :
Catatan: ruang ( posisi 8 ) termasuk!
Instr
Untuk 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 39
Excel VBA Macro Programing – STIKI MALANG
Mid
Untuk 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
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 Integer
x = Range(“A1″).Value
x = x + 1
Range(“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 40
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 41
Excel VBA Macro Programing – STIKI MALANG
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 String
score = 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 42
Excel VBA Macro Programing – STIKI MALANG
Else Statement
Jika 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 String
score = 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 43
Excel VBA Macro Programing – STIKI MALANG
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 44
Excel VBA Macro Programing – STIKI MALANG
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 Integer
total = 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 + 1
Next 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 45
Excel VBA Macro Programing – STIKI MALANG
Hasil ketika Anda mengklik tombol perintah pada lembar beberapa kali:
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 46
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 47
Excel VBA Macro Programing – STIKI MALANG
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 48
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 49
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 50
Excel VBA Macro Programing – STIKI MALANG
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 51
Excel VBA Macro Programing – STIKI MALANG
Hasil :
Declare a Range
Dalam 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 Range
Set example = Range("A1:D1")
example.Value = 8
Hasil ketika Anda mengklik tombol perintah pada lembaran:
Select a Range
Sebuah metode penting dari object Excel VBA Range adalah metode Select. Metode
Select hanya memilih kisaran.
Code:
Dim example As Range
Set example = Range("A1:C4")
example.Select
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 52
Excel VBA Macro Programing – STIKI MALANG
Hasil:
Rows
Properti Baris memberikan akses ke baris tertentu dari kisaran. Makro berikut
memilih baris ketiga Range ("A1: C4").
Dim example As Range
Set example = Range("A1:C4")
example.Rows(3).Select
Hasil:
Catatan: Range ("A1: C4") telah diformat untuk ilustrasi.
Columns
Properti Kolom memberikan akses ke kolom tertentu dari kisaran. Makro berikut
memilih kolom kedua dari Range ("A1: C4").
Dim example As Range
Set example = Range("A1:C4")
example.Columns(2).Select
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 53
Excel VBA Macro Programing – STIKI MALANG
Hasil:
Catatan: Range ("A1: C4") telah diformat untuk ilustrasi.
Copy and Paste a Range
Metode 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").Select
Selection.Copy
Range("C4").Select
ActiveSheet.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 54
Excel VBA Macro Programing – STIKI MALANG
Clear a Range
Untuk 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 = "".
Count
Dengan properti Count, Anda dapat menghitung jumlah cell, baris dan kolom dari
berbagai Excel. Berikut adalah beberapa contoh.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 55
Excel VBA Macro Programing – STIKI MALANG
Makro berikut menghitung jumlah cell-cell range diformat.
Dim example As Range
Set example = Range("A1:C4")
MsgBox example.Count
Hasil:
Makro berikut menghitung jumlah baris dari range diformat.
Dim example As Range
Set 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 56
Excel VBA Macro Programing – STIKI MALANG
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 57
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 58
Excel VBA Macro Programing – STIKI MALANG
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 59
Excel VBA Macro Programing – STIKI MALANG
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 Date
Makro 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 60
Excel VBA Macro Programing – STIKI MALANG
DateAdd
Untuk 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 61
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 62
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 Double
y = 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 63
Excel VBA Macro Programing – STIKI MALANG
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.
Function
Jika 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 64
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 65
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 66
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.
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 67
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 68
Excel VBA Macro Programing – STIKI MALANG
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 69
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 70
Excel VBA Macro Programing – STIKI MALANG
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 Combobox
Excel 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 71
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 72
Excel VBA Macro Programing – STIKI MALANG
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 Checkbox
Excel 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 73
Excel VBA Macro Programing – STIKI MALANG
Refer to Checkbox in your Code
Untuk 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 = 1
If 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 74
Excel VBA Macro Programing – STIKI MALANG
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 Button
Excel 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 75
Excel VBA Macro Programing – STIKI MALANG
Refer to Option Button in your Code
Untuk 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 76
Excel VBA Macro Programing – STIKI MALANG
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 77
Excel VBA Macro Programing – STIKI MALANG
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
Contoh label di UserForm kami adalah: 'Name:' , 'Phone Number:' , 'City Preference:' ,
'Dinner Preference:' , dll.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 78
Excel VBA Macro Programing – STIKI MALANG
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!
1. Jalankan Visual Basic Editor.
2. Klik pada ThisWorkbook dari Proyek Explorer. Jika Explorer Proyek tidak terlihat,
klik View dan kemudian Project Explorer.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 79
Excel VBA Macro Programing – STIKI MALANG
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 80
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 81
Excel VBA Macro Programing – STIKI MALANG
Private Sub CommandButton1_Click()
DinnerPlannerUserForm.Show
End Sub
UserForm_Initialize
Sub 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 NameTextBox
NameTextBox.Value = ""
'Empty PhoneTextBox
PhoneTextBox.Value = ""
'Empty CityListBox
CityListBox.Clear
'Fill CityListBox
With CityListBox
.AddItem "San Fransisco"
.AddItem "Oakland"
.AddItem "Richmond"
End With
'Empty DinnerComboBox
DinnerComboBox.Clear
'Fill DinnerComboBox
With DinnerComboBox
.AddItem "Italian"
.AddItem "Chinese"
.AddItem "Frites and Meat"
End With
'Uncheck DataCheckBoxes
DateCheckBox1.Value = False
DateCheckBox2.Value = False
DateCheckBox3.Value = False
'Set no car as default
CarOptionButton2.Value = True
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 82
Excel VBA Macro Programing – STIKI MALANG
'Empty MoneyTextBox
MoneyTextBox.Value = ""
'Set Focus on NameTextBox
NameTextBox.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 button
Untuk 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 button
Untuk memanggil Sub UserForm_Initialize ketika Anda klik pada tombol Clear,
jalankan langkah-langkah berikut.
1. Jalankan Visual Basic Editor.
2. Double klik pada DinnerPlannerUserForm dari Proyek Explorer.
3. Double klik pada tombol Clear.
4. Tambahkan baris kode berikut:
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 83
Excel VBA Macro Programing – STIKI MALANG
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 Active
Sheets(1).Activate
'Determine emptyRow
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1
'Export Data to worksheet
Cells(emptyRow, 1).Value = NameTextBox.Value
Cells(emptyRow, 2).Value = PhoneTextBox.Value
Cells(emptyRow, 3).Value = CityListBox.Value
Cells(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"
End If
Cells(emptyRow, 7).Value = MoneyTextBox.Value
End Sub
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 84
Excel VBA Macro Programing – STIKI MALANG
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 85
Excel VBA Macro Programing – STIKI MALANG
Assign a macro to the Money Spin Button
Dengan 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 86

Más contenido relacionado

Similar a Excel vba macro programing

Buku Petunjuk Kinerja guru tahun 2023 pdf
Buku Petunjuk Kinerja guru tahun 2023 pdfBuku Petunjuk Kinerja guru tahun 2023 pdf
Buku Petunjuk Kinerja guru tahun 2023 pdf
iyuliarthawan87
 
Php & mysql pundamental
Php & mysql pundamentalPhp & mysql pundamental
Php & mysql pundamental
Haswi Haswi
 
Php programming fundamental dan my sql fundamental
Php programming fundamental dan my sql fundamentalPhp programming fundamental dan my sql fundamental
Php programming fundamental dan my sql fundamental
angga wardhana
 
Dani r taufani mengolah data dengan access 2007
Dani r taufani   mengolah data dengan access 2007Dani r taufani   mengolah data dengan access 2007
Dani r taufani mengolah data dengan access 2007
Rinto Hermawan
 
Pengantar Teknologi Informasi
Pengantar Teknologi InformasiPengantar Teknologi Informasi
Pengantar Teknologi Informasi
noviaji wibisono
 

Similar a Excel vba macro programing (20)

Modul microsoft word advance
Modul microsoft word advanceModul microsoft word advance
Modul microsoft word advance
 
Data warehouse with kettle open source etl
Data warehouse with kettle open source etlData warehouse with kettle open source etl
Data warehouse with kettle open source etl
 
Buku Petunjuk Kinerja V.17012023.pdf
Buku Petunjuk Kinerja V.17012023.pdfBuku Petunjuk Kinerja V.17012023.pdf
Buku Petunjuk Kinerja V.17012023.pdf
 
Buku Petunjuk Kinerja guru tahun 2023 pdf
Buku Petunjuk Kinerja guru tahun 2023 pdfBuku Petunjuk Kinerja guru tahun 2023 pdf
Buku Petunjuk Kinerja guru tahun 2023 pdf
 
Php & mysql pundamental
Php & mysql pundamentalPhp & mysql pundamental
Php & mysql pundamental
 
Php & mysql Fundamental
Php & mysql FundamentalPhp & mysql Fundamental
Php & mysql Fundamental
 
Php programming fundamental dan my sql fundamental
Php programming fundamental dan my sql fundamentalPhp programming fundamental dan my sql fundamental
Php programming fundamental dan my sql fundamental
 
Cara mudah-menguasai-java
Cara mudah-menguasai-javaCara mudah-menguasai-java
Cara mudah-menguasai-java
 
Dani r taufani mengolah data dengan access 2007
Dani r taufani   mengolah data dengan access 2007Dani r taufani   mengolah data dengan access 2007
Dani r taufani mengolah data dengan access 2007
 
Proposal penjualan toko online asia dress berbasis java dekstop
Proposal penjualan toko online asia dress berbasis java dekstopProposal penjualan toko online asia dress berbasis java dekstop
Proposal penjualan toko online asia dress berbasis java dekstop
 
Excel Laporan Keuangan
Excel Laporan KeuanganExcel Laporan Keuangan
Excel Laporan Keuangan
 
Tik.pr02.003.01 b informasi2
Tik.pr02.003.01 b informasi2Tik.pr02.003.01 b informasi2
Tik.pr02.003.01 b informasi2
 
Pengantar Teknologi Informasi
Pengantar Teknologi InformasiPengantar Teknologi Informasi
Pengantar Teknologi Informasi
 
Ka 01.-praktikum-algoritma-pemrograman-2
Ka 01.-praktikum-algoritma-pemrograman-2Ka 01.-praktikum-algoritma-pemrograman-2
Ka 01.-praktikum-algoritma-pemrograman-2
 
Mi 02.-praktikum-pemrograman-visual-1
Mi 02.-praktikum-pemrograman-visual-1Mi 02.-praktikum-pemrograman-visual-1
Mi 02.-praktikum-pemrograman-visual-1
 
03. prak.-pemrograman-visual-i-vb.net
03. prak.-pemrograman-visual-i-vb.net 03. prak.-pemrograman-visual-i-vb.net
03. prak.-pemrograman-visual-i-vb.net
 
Perkuliahan Aplikasi Komputer Ke 4 dan 5
Perkuliahan Aplikasi Komputer Ke 4 dan 5Perkuliahan Aplikasi Komputer Ke 4 dan 5
Perkuliahan Aplikasi Komputer Ke 4 dan 5
 
Database
DatabaseDatabase
Database
 
Modul 5 Lembar Sebar
Modul 5   Lembar SebarModul 5   Lembar Sebar
Modul 5 Lembar Sebar
 
Modul microsoft word beginner
Modul microsoft word beginnerModul microsoft word beginner
Modul microsoft word beginner
 

Último

Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
JarzaniIsmail
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
ssuser35630b
 
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
pipinafindraputri1
 
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxPPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
dpp11tya
 
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptxBAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
JuliBriana2
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).ppt
novibernadina
 

Último (20)

Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
 
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKAMODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
 
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
 
Regresi Linear Kelompok 1 XI-10 revisi (1).pptx
Regresi Linear Kelompok 1 XI-10 revisi (1).pptxRegresi Linear Kelompok 1 XI-10 revisi (1).pptx
Regresi Linear Kelompok 1 XI-10 revisi (1).pptx
 
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
 
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptxBab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
 
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAKELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
 
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAYSOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
 
vIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxvIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsx
 
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
 
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfProv.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
 
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
 
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
 
Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...
Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...
Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...
 
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxPPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
 
Materi Sosialisasi US 2024 Sekolah Dasar pptx
Materi Sosialisasi US 2024 Sekolah Dasar pptxMateri Sosialisasi US 2024 Sekolah Dasar pptx
Materi Sosialisasi US 2024 Sekolah Dasar pptx
 
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptxBAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
 
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdfKanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).ppt
 

Excel vba macro programing

  • 1. Excel VBA Macro Programing – STIKI MALANG Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 1
  • 2. Excel VBA Macro Programing – STIKI MALANG Daftar Isi Daftar Isi ...............................................................................................................2 BAB I...................................................................................................................6 SEKILAS EXCEL VBA MACRO...............................................................................6 Pengenalan Makro .............................................................................................6 Membuat Makro di Excel.....................................................................................6 Nyalakan Tab Developer.................................................................................6 Buat tombol perintah ......................................................................................7 Membuat dan Menetapkan Makro ..................................................................8 Excel Macro Recorder.......................................................................................10 Mengapa tidak menggunakan Perekam Makro Excel untuk semuanya? ......10 Merekam Makro ............................................................................................10 Jalankan Recorder Makro...............................................................................13 Mengedit Makro ............................................................................................15 BAB II................................................................................................................16 DASAR DASAR EXCEL VBA MACRO...................................................................16 Macro Security..................................................................................................16 Visual Basic Editor di Excel...............................................................................18 Macro Comments..............................................................................................20 MsgBox.............................................................................................................21 Macro Errors.....................................................................................................23 Debug Macros...................................................................................................25 Objects, Properties dan Methods......................................................................27 Excel VBA Property........................................................................................27 Excel VBA Method..........................................................................................27 Lihat semua properti dan metode dari objek. ...............................................28 Workbook and Worksheet.................................................................................29 Object Hierarchy............................................................................................29 Properties and methods of the Workbook and Worksheet object..................30 Application Object.............................................................................................32 BAB III...............................................................................................................33 Pemrograman VBA............................................................................................33 Variables...........................................................................................................33 Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 2
  • 3. Excel VBA Macro Programing – STIKI MALANG Variable of type Integer.................................................................................33 Code :............................................................................................................33 Dim x As Integer x = 6 Range("A1").Value =x...................................................................................33 Hasil : ..........................................................................................................33 .....................................................................................................................33 “Dim x As Integer” kode baris pertama menyatakan variabel Excel VBA dengan nama x bertipe Integer.....................................................................33 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”..................................................................................................33 Variable of type String...................................................................................34 Variable of type Double ................................................................................34 Variable of type Boolean...............................................................................36 Variable of type Date.....................................................................................36 String Manipulation ..........................................................................................37 Left................................................................................................................38 Right..............................................................................................................38 Len................................................................................................................39 Instr...............................................................................................................39 Mid.................................................................................................................40 Calculate...........................................................................................................40 If Then Statement.............................................................................................42 Else Statement..............................................................................................43 Cells .................................................................................................................44 Loop .................................................................................................................45 Single Loop....................................................................................................45 Logical Operators .............................................................................................48 Logical Operator And ....................................................................................48 Logical Operator Or.......................................................................................49 Logical Operator Not .....................................................................................49 Range ..............................................................................................................51 Range Examples ...........................................................................................51 Declare a Range............................................................................................52 Select a Range...............................................................................................52 Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 3
  • 4. Excel VBA Macro Programing – STIKI MALANG Rows..............................................................................................................53 Columns........................................................................................................53 Copy and Paste a Range................................................................................54 Range("C4:C5").Value = Range("A1:A2").Value............................................54 ......................................................................................................................54 Clear a Range................................................................................................55 Count.............................................................................................................55 Events ..............................................................................................................57 Event Examples.............................................................................................57 Array ................................................................................................................59 Date and Time .................................................................................................60 Year, Month, Day of a Date............................................................................60 DateAdd.........................................................................................................61 Current Date & Time.....................................................................................62 Hour, Minute and Second..............................................................................62 TimeValue ....................................................................................................63 Function and Sub .............................................................................................64 Function.........................................................................................................64 Sub ...............................................................................................................65 Textbox ............................................................................................................67 Draw a Textbox.............................................................................................67 Link Cell to Textbox .....................................................................................68 TextBox1.Value = Range("E2").Value ......................................................................................................................68 Clear Textbox................................................................................................68 Listbox .............................................................................................................69 Draw a Listbox...............................................................................................69 Add items to Listbox......................................................................................70 Combobox .......................................................................................................71 Draw a Combobox.........................................................................................71 Add item to combobox .................................................................................72 Checkbox .........................................................................................................73 Draw a Checkbox...........................................................................................73 Refer to Checkbox in your Code....................................................................74 Option Buttons .................................................................................................75 Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 4
  • 5. Excel VBA Macro Programing – STIKI MALANG Draw an Option Button..................................................................................75 Refer to Option Button in your Code..............................................................76 Userform ..........................................................................................................78 Userform Example.........................................................................................78 Controls.........................................................................................................78 Create the Userform......................................................................................79 Show the Userform........................................................................................81 Private Sub CommandButton1_Click() DinnerPlannerUserForm.Show End Sub.........................................................................................................82 UserForm_Initialize........................................................................................82 Assign a macro to the Cancel button.............................................................83 Assign a macro to the Clear button...............................................................83 Assign a macro to the OK button...................................................................84 Assign a macro to the Money Spin Button.....................................................86 Test the Userform..........................................................................................86 Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 5
  • 6. Excel VBA Macro Programing – STIKI MALANG BAB I SEKILAS EXCEL VBA MACRO 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. 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 Developer Sebelum 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. 4. Dalam Customize the ribbondi sisi kanan kotak dialog, pilih Main tabs. 5. Periksa kotak dan centang Developerdan klik OK. Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 6
  • 7. Excel VBA Macro Programing – STIKI MALANG 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 7
  • 8. 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 8
  • 9. 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 9
  • 10. Excel VBA Macro Programing – STIKI MALANG 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 10
  • 11. 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 11
  • 12. Excel VBA Macro Programing – STIKI MALANG 6. Percentase Pilih dan klik OK. 7. Akhiri, Klik Stop Recording. Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 12
  • 13. Excel VBA Macro Programing – STIKI MALANG Selamat! Anda baru saja direkam makro dengan Record Makro Excel! Jalankan Recorder Makro Sekarang 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 13
  • 14. Excel VBA Macro Programing – STIKI MALANG 4. Klik Run. Format sel harus mengubah Format Percentase. Hasil: Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 14
  • 15. 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 15
  • 16. 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. 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 16
  • 17. 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 17
  • 18. Excel VBA Macro Programing – STIKI MALANG 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 18
  • 19. 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 19
  • 20. Excel VBA Macro Programing – STIKI MALANG 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 20
  • 21. Excel VBA Macro Programing – STIKI MALANG 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 21
  • 22. 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 22
  • 23. Excel VBA Macro Programing – STIKI MALANG 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 23
  • 24. 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 24
  • 25. Excel VBA Macro Programing – STIKI MALANG 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 25
  • 26. 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 26
  • 27. Excel VBA Macro Programing – STIKI MALANG 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 Property Mari 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 Method Sekarang 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 27
  • 28. 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 28
  • 29. Excel VBA Macro Programing – STIKI MALANG Workbook and Worksheet Jika Anda tidak akrab dengan Objects, Properties dan Metode, kami sangat menganjurkan Anda untuk membaca bab pertama ini. Object Hierarchy Sekarang 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 29
  • 30. 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 object Anda 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 30
  • 31. 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 31
  • 32. Excel VBA Macro Programing – STIKI MALANG 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 32
  • 33. 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. 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 Integer Variabel integer digunakan untuk menyimpan bilangan bulat. Code : Dim x As Integer x = 6 Range("A1").Value =x Hasil : “Dim x As Integer” kode baris pertama menyatakan variabel Excel VBA dengan nama x bertipe Integer. 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”. 1. Akhirnya, kita menempatkan nilai yang diberikan untuk variabel x ke dalam sel A1. Hal ini dapat dilakukan dengan menambahkan baris: “Range (“ A1 “). Value = x” Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 33
  • 34. Excel VBA Macro Programing – STIKI MALANG Variable of type String Variabel string digunakan untuk menyimpan teks. Code : Dim book As String book = "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 Integer x = 5.5 MsgBox "value is " & x Hasil : Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 34
  • 35. 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 Double x = 5.5 MsgBox "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 35
  • 36. Excel VBA Macro Programing – STIKI MALANG Variable of type Boolean Code : Dim continue As Boolean continue = True If 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 Date Untuk 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 36
  • 37. Excel VBA Macro Programing – STIKI MALANG 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 37
  • 38. Excel VBA Macro Programing – STIKI MALANG Left Untuk ekstrak karakter paling kiri dari string, gunakan Left. Code : Dim text As String text = “example text” MsgBox Left(text, 4) Hasil : Right Untuk 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 38
  • 39. Excel VBA Macro Programing – STIKI MALANG Len Untuk mendapatkan panjang string, gunakan Len. Code : MsgBox Len(“example text”) Hasil : Catatan: ruang ( posisi 8 ) termasuk! Instr Untuk 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 39
  • 40. Excel VBA Macro Programing – STIKI MALANG Mid Untuk 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 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 Integer x = Range(“A1″).Value x = x + 1 Range(“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 40
  • 41. 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 41
  • 42. Excel VBA Macro Programing – STIKI MALANG 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 String score = 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 42
  • 43. Excel VBA Macro Programing – STIKI MALANG Else Statement Jika 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 String score = 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 43
  • 44. Excel VBA Macro Programing – STIKI MALANG 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 44
  • 45. Excel VBA Macro Programing – STIKI MALANG 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 Integer total = 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 + 1 Next 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 45
  • 46. Excel VBA Macro Programing – STIKI MALANG Hasil ketika Anda mengklik tombol perintah pada lembar beberapa kali: Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 46
  • 47. 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 47
  • 48. Excel VBA Macro Programing – STIKI MALANG 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 48
  • 49. 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 49
  • 50. 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 50
  • 51. Excel VBA Macro Programing – STIKI MALANG 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 51
  • 52. Excel VBA Macro Programing – STIKI MALANG Hasil : Declare a Range Dalam 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 Range Set example = Range("A1:D1") example.Value = 8 Hasil ketika Anda mengklik tombol perintah pada lembaran: Select a Range Sebuah metode penting dari object Excel VBA Range adalah metode Select. Metode Select hanya memilih kisaran. Code: Dim example As Range Set example = Range("A1:C4") example.Select Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 52
  • 53. Excel VBA Macro Programing – STIKI MALANG Hasil: Rows Properti Baris memberikan akses ke baris tertentu dari kisaran. Makro berikut memilih baris ketiga Range ("A1: C4"). Dim example As Range Set example = Range("A1:C4") example.Rows(3).Select Hasil: Catatan: Range ("A1: C4") telah diformat untuk ilustrasi. Columns Properti Kolom memberikan akses ke kolom tertentu dari kisaran. Makro berikut memilih kolom kedua dari Range ("A1: C4"). Dim example As Range Set example = Range("A1:C4") example.Columns(2).Select Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 53
  • 54. Excel VBA Macro Programing – STIKI MALANG Hasil: Catatan: Range ("A1: C4") telah diformat untuk ilustrasi. Copy and Paste a Range Metode 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").Select Selection.Copy Range("C4").Select ActiveSheet.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 54
  • 55. Excel VBA Macro Programing – STIKI MALANG Clear a Range Untuk 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 = "". Count Dengan properti Count, Anda dapat menghitung jumlah cell, baris dan kolom dari berbagai Excel. Berikut adalah beberapa contoh. Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 55
  • 56. Excel VBA Macro Programing – STIKI MALANG Makro berikut menghitung jumlah cell-cell range diformat. Dim example As Range Set example = Range("A1:C4") MsgBox example.Count Hasil: Makro berikut menghitung jumlah baris dari range diformat. Dim example As Range Set 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 56
  • 57. Excel VBA Macro Programing – STIKI MALANG 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 57
  • 58. 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 58
  • 59. Excel VBA Macro Programing – STIKI MALANG 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 59
  • 60. Excel VBA Macro Programing – STIKI MALANG 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 Date Makro 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 60
  • 61. Excel VBA Macro Programing – STIKI MALANG DateAdd Untuk 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 61
  • 62. 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 62
  • 63. 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 Double y = 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 63
  • 64. Excel VBA Macro Programing – STIKI MALANG 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. Function Jika 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 64
  • 65. 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 65
  • 66. 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 66
  • 67. 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. 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 67
  • 68. 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 68
  • 69. Excel VBA Macro Programing – STIKI MALANG 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 69
  • 70. 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 70
  • 71. Excel VBA Macro Programing – STIKI MALANG 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 Combobox Excel 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 71
  • 72. 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 72
  • 73. Excel VBA Macro Programing – STIKI MALANG 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 Checkbox Excel 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 73
  • 74. Excel VBA Macro Programing – STIKI MALANG Refer to Checkbox in your Code Untuk 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 = 1 If 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 74
  • 75. Excel VBA Macro Programing – STIKI MALANG 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 Button Excel 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 75
  • 76. Excel VBA Macro Programing – STIKI MALANG Refer to Option Button in your Code Untuk 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 76
  • 77. Excel VBA Macro Programing – STIKI MALANG Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 77
  • 78. Excel VBA Macro Programing – STIKI MALANG 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 Contoh label di UserForm kami adalah: 'Name:' , 'Phone Number:' , 'City Preference:' , 'Dinner Preference:' , dll. Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 78
  • 79. Excel VBA Macro Programing – STIKI MALANG 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! 1. Jalankan Visual Basic Editor. 2. Klik pada ThisWorkbook dari Proyek Explorer. Jika Explorer Proyek tidak terlihat, klik View dan kemudian Project Explorer. Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 79
  • 80. Excel VBA Macro Programing – STIKI MALANG 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 80
  • 81. 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 81
  • 82. Excel VBA Macro Programing – STIKI MALANG Private Sub CommandButton1_Click() DinnerPlannerUserForm.Show End Sub UserForm_Initialize Sub 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 NameTextBox NameTextBox.Value = "" 'Empty PhoneTextBox PhoneTextBox.Value = "" 'Empty CityListBox CityListBox.Clear 'Fill CityListBox With CityListBox .AddItem "San Fransisco" .AddItem "Oakland" .AddItem "Richmond" End With 'Empty DinnerComboBox DinnerComboBox.Clear 'Fill DinnerComboBox With DinnerComboBox .AddItem "Italian" .AddItem "Chinese" .AddItem "Frites and Meat" End With 'Uncheck DataCheckBoxes DateCheckBox1.Value = False DateCheckBox2.Value = False DateCheckBox3.Value = False 'Set no car as default CarOptionButton2.Value = True Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 82
  • 83. Excel VBA Macro Programing – STIKI MALANG 'Empty MoneyTextBox MoneyTextBox.Value = "" 'Set Focus on NameTextBox NameTextBox.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 button Untuk 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 button Untuk memanggil Sub UserForm_Initialize ketika Anda klik pada tombol Clear, jalankan langkah-langkah berikut. 1. Jalankan Visual Basic Editor. 2. Double klik pada DinnerPlannerUserForm dari Proyek Explorer. 3. Double klik pada tombol Clear. 4. Tambahkan baris kode berikut: Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 83
  • 84. Excel VBA Macro Programing – STIKI MALANG 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 Active Sheets(1).Activate 'Determine emptyRow emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1 'Export Data to worksheet Cells(emptyRow, 1).Value = NameTextBox.Value Cells(emptyRow, 2).Value = PhoneTextBox.Value Cells(emptyRow, 3).Value = CityListBox.Value Cells(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" End If Cells(emptyRow, 7).Value = MoneyTextBox.Value End Sub Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 84
  • 85. Excel VBA Macro Programing – STIKI MALANG 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 85
  • 86. Excel VBA Macro Programing – STIKI MALANG Assign a macro to the Money Spin Button Dengan 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 86