Anda di halaman 1dari 84

Excel VBA Macro Programing STIKI MALANG

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 1


Excel VBA Macro Programing STIKI MALANG

Daftar Isi
BAB I
SEKILAS EXCEL VBA MACRO 4
A. Pengenalan Makro 4
B. Membuat Makro di Excel 4
C. Excel Macro Recorder 8

BAB II
DASAR DASAR EXCEL VBA MACRO 14
D. Macro Security 14
E. Visual Basic Editor di Excel 16
F. Macro Comments 18
G. MsgBox19
H. Macro Errors 21
I. Debug Macros 23
J. Objects, Properties dan Methods 25
K. Workbook and Worksheet 27
L. Application Object 30

BAB III
Pemrograman VBA 31
M. Variables 31
N. String Manipulation 35
O. Calculate 38
P. If Then Statement 40
Q. Cells 42
R. Loop 43
S. Logical Operators 46
T. Range 49
U. Events 55
V. Array 57
W. Date and Time 58

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 2


Excel VBA Macro Programing STIKI MALANG

X. Function and Sub 62

BAB IV
Kontrol 64
Y. Textbox 64
Z. Listbox 66
AA. Combobox 68
BB. Checkbox 70
CC. Option Buttons 72
DD. Userform 74

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 3


Excel VBA Macro Programing STIKI MALANG

BAB I

SEKILAS EXCEL VBA MACRO

A. Pengenalan Makro

Anda akan terasa mudah untuk mengikuti tutorial ini (Pengenalan Makro, Dasar-
dasar VBA, Pemrograman dan Kontrol) untuk membuat segala macam macro di Excel VBA.
Di bawah ini Anda dapat menemukan gambaran yang lengkap. Tidak masalah jika Anda baru
ke Excel VBA dan ingin memulai dari awal atau hanya ingin menggunakan tutorial ini
sebagai referensi.

Bagian ini adalah untuk pengguna Excel yang tidak memiliki pengetahuan Excel
VBA. Excel VBA, yang merupakan singkatan untuk Excel Visual Basic for Applications,
adalah nama dari bahasa pemrograman dari Microsoft Excel. Dengan Excel VBA Anda dapat
mengotomatisasi tugas di Excel dengan menulis Makro disebut. Hal ini dapat menghemat
banyak waktu! Lebih penting lagi ada hal-hal tertentu yang tidak dapat Anda lakukan dengan
Excel saja seperti program sederhana. Excel VBA memungkinkan Anda untuk melakukan
hal-hal di Excel.

B. Membuat Makro di Excel

Untuk membuat makro di Excel, Anda harus mengaktifkan Excel Visual Basic.
Selanjutnya, Anda dapat membuat makro yang akan dieksekusi setelah mengklik pada tombol
perintah.

Nyalakan Tab 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.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 4


Excel VBA Macro Programing STIKI MALANG

4. Dalam Customize the ribbondi sisi kanan kotak dialog, pilih Main tabs.

5. Periksa kotak dan centang Developerdan klik OK.

Buat tombol perintah


Anda sekarang dapat klik pada tab Developer yang telah ditempatkan di sebelah tab
View.

1. Klik pada Insert.


2. Klik Command Button di bagian ActiveX Controls.

3. Sekarang Anda dapat menyeret Command Button pada worksheet Anda.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 5


Excel VBA Macro Programing STIKI MALANG

Membuat dan Menetapkan Makro


Jika semua sudah siap, sekarang saatnya untuk membuat makro (memberi code
pada tombol perintah).

1. Klik kanan pada CommandButton1.


2. Klik pada View Code.

3. Visual Basic Editor akan muncul. Tempatkan kursor Anda di antara 'Private Sub
CommandButton1_Click()' dan 'End Sub'.
4. Sebagai contoh, tambahkan baris kode berikut:

Range("A1").Value = "Hello"

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 6


Excel VBA Macro Programing STIKI MALANG

Makro ini menempatkan kata Halo ke dalam sel A1.

5. Tutup Editor Visual Basic.


6. Sebelum Anda mengklik Commend Button pada sheet, pastikan Desain Mode
terpilih. Anda dapat melakukan ini dengan mengklik pada Desain Mode lagi.

Hasil ketika Anda mengklik Commend Button pada lembaran:

Selamat. Anda baru saja menciptakan sebuah makro di Excel VBA!

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 7


Excel VBA Macro Programing STIKI MALANG

C. Excel Macro Recorder

Excel Macro Recorder adalah alat yang sangat berguna di Excel VBA. Dengan
Perekam Makro Excel Anda dapat merekam tugas Anda dengan Excel. Selanjutnya, Anda
bisa menjalankan tugas berulang dengan mengklik sebuah tombol yang dapat menghemat
banyak waktu. Pada bahasan ini menjelaskan seluk-beluk Recorder Makro Excel.

Mengapa tidak menggunakan Perekam Makro Excel untuk semuanya?

Sayangnya ada banyak hal tidak dapat Anda lakukan dengan Perekam Macro
Excel. Misalnya, kita tidak bisa loop melalui berbagai data dengan Perekam Makro. Selain
itu Recorder Makro menggunakan kode lebih banyak dari yang dibutuhkan, yang dapat
memperlambat proses Anda turun.

Untuk merekam, menjalankan dan mengedit makro, jalankan langkah-langkah berikut.

Merekam Makro

1. Klik pada tab Developer.


2. Klik pada Record Macro. Lihat gambar di bawah ini. Setiap perintah yang Anda
lakukan akan disimpan ke dalam makro!

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 8


Excel VBA Macro Programing STIKI MALANG

3. Di sini Anda dapat memberikan nama makro Anda dan Anda dapat memasukkan
shortcut untuk makro Anda. Anda dapat menyimpan makro Anda dalam tiga
workbook. Jika Anda memilih untuk menyimpan makro Anda dalam Workbook
Makro Pribadi, makro akan tersedia untuk semua workbook Anda (Excel File). Hal ini
karena Excel store makro Anda dalam workbook tersembunyi yang terbuka secara
otomatis ketika Excel dimulai. Jika Anda memilih untuk menyimpan makro Anda di
Workbook Baru, makro hanya akan tersedia dalam workbook dibuka secara otomatis
baru. Jika Anda memilih untuk menyimpan makro Anda dalam Workbook ini, makro
hanya akan tersedia dalam buku kerja saat ini.

Kita sekarang akan merekam makro perubahan format Sel untuk Percentase.

4. Klik OK.
5. Klik kanan mouse pada sel yang aktif (sel yang dipilih). Pastikan untuk tidak memilih
sel lain! Kemudian klik pada Format Cells ...

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 9


Excel VBA Macro Programing STIKI MALANG

6. Percentase Pilih dan klik OK.

7. Akhiri, Klik Stop Recording.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 10


Excel VBA Macro Programing STIKI MALANG

Selamat! Anda baru saja direkam makro dengan Record Makro Excel!

Jalankan Recorder 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 11


Excel VBA Macro Programing STIKI MALANG

4. Klik Run.

Format sel harus mengubah Format Percentase. Hasil:

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 12


Excel VBA Macro Programing STIKI MALANG

Mengedit Makro
Ada dua cara untuk melihat makro. Anda dapat klik pada tab Macros dari Developer
dan kemudian klik Edit. Visual Basic Editor akan muncul. Anda juga dapat langsung
membuka Visual Basic Editor dengan mengklik Visual Basic dari tab Developer (atau tekan
Alt + F11).

Makro kita telah ditempatkan menjadi sebuah modul yang disebut Module1.
Sebelumnya kami menempatkan kode, yang kita dibuat tanpa Excel Macro Recorder
langsung pada Sheet1. Kode ditempatkan dalam modul, tersedia untuk workbook secara
keseluruhan, sementara kode ditempatkan pada selembar kertas yang hanya tersedia untuk
lembar tertentu.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 13


Excel VBA Macro Programing STIKI MALANG

BAB II

DASAR DASAR EXCEL VBA MACRO

Bagian ini menjelaskan dasar-dasar Excel Visual Basic. Adalah baik untuk
mengetahui terminologi dasar dijelaskan dalam bagian ini sebelum Anda mulai pemrograman
di Excel Visual Basic.

D. Macro Security

Menyiapkan pengaturan macro security Anda dengan benar adalah penting untuk
melindungi diri terhadap virus potensial. Pastikan pengaturan makro keamanan Anda
ditetapkan dengan benar. Untuk mengatur pengaturan Macro Security di Excel, jalankan
langkah-langkah berikut.

1. Klik pada Keamanan Makro.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 14


Excel VBA Macro Programing STIKI MALANG

2. Di sini Anda memiliki empat pilihan. Opsi pertama akan menonaktifkan semua
macro. Pilihan kedua akan selalu meminta Anda untuk mengaktifkan makro. Pilihan
ketiga hanya akan memungkinkan macro dengan tanda tangan digital untuk
menjalankan, dan meminta Anda untuk memungkinkan orang lain. Pilihan keempat
akan mengaktifkan semua macro.

Saran kami adalah menggunakan tingkat keamanan kedua jika Anda men-
download banyak file Excel dari internet. Dengan tingkat keamanan yang Anda selalu dapat
menonaktifkan makro jika Anda tidak percaya pemilik dari file Excel. Gunakan tingkat
keamanan keempat jika Anda seorang pemula dan hanya mengetik macro Anda sendiri saat
ini. Dengan tingkat keamanan Anda tidak harus mengaktifkan macro sepanjang waktu.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 15


Excel VBA Macro Programing STIKI MALANG

E. Visual Basic Editor di Excel

Pelajari bagaimana untuk memulai Visual Basic Editor dan mendapatkan konfigurasi
terbaik dari Explorer Proyek dan Window Kode dalam Versi Excel Anda. Visual Basic Editor
adalah titik awal untuk menciptakan macro di Excel VBA, sehingga sangat penting untuk
mendapatkan hak konfigurasi. Untuk memulai Visual Basic Editor di Excel, klik pada Visual
Basic (atau tekan Alt + F11).

Visual Basic Editor akan muncul:

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 16


Excel VBA Macro Programing STIKI MALANG

Jendela kiri dengan nama sheet dalam hal itu disebut Proyek Explorer. Jika Anda
tidak dapat melihat Explorer Proyek, klik View dan kemudian klik Project Explorer.
Kemungkinan besar Explorer Proyek sudah akan muncul sebagai sebuah kolom di sisi kiri
layar. Jika tidak, jalankan tiga langkah berikut untuk mencapai hal ini.

1. Klik kanan pada Explorer Proyek.


2. Periksa Dockable (jika perlu).
3. Klik pada Proyek - VBAProject dan tarik Explorer Proyek ke sisi kiri layar.

Jendela Kode dapat ditambahkan dengan mengklik pada salah satu nama lembar.
Untuk menutupi seluruh layar, Anda dapat memaksimalkan Code Window. Kami pikir ini
adalah konfigurasi terbaik dari Visual Basic Editor.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 17


Excel VBA Macro Programing STIKI MALANG

F. Macro Comments

Tambahkan Macro comments untuk Excel VBA kode dan kode Anda akan lebih
mudah untuk dibaca sebagai meningkatkan ukuran program.Sebuah Macro comments
adalah sepotong teks dalam makro yang tidak akan dieksekusi oleh Excel VBA. Hal ini hanya
untuk memberikan Anda informasi tentang makro. Untuk membiarkan Excel VBA tahu
bahwa itu adalah komentar, tempatkan tanda petik di antara text(komentar). Jalankan
langkah-langkah berikut untuk menempatkan komentar.

1. Peluncuran Visual Basic Editor.


2. Masukkan baris: Tempatkan kata Halo ke dalam sel A1'sebelum baris kode. Setelah
baris dimasukkan, pada Excel VBA baris text warna hijau untuk menunjukkan bahwa
itu adalah sebuah komentar.

Ini adalah praktik yang baik untuk menggunakan komentar. Macro comments
menjadi lebih berguna sebagai meningkatkan Program.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 18


Excel VBA Macro Programing STIKI MALANG

G. MsgBox

Excel VBA MsgBox (kotak pesan) adalah sebuah kotak dialog, Anda dapat
menggunakan di Excel VBA untuk menampilkan informasi kepada pengguna program Anda.
Di bawah ini Anda dapat menemukan tiga contoh tentang cara mudah untuk membuat
MsgBox di Excel VBA.

1. Untuk menampilkan MsgBox dengan pesan "ini menyenangkan", berikan tombol


peritah pada lembar kerja Anda dan hanya menambahkan baris kode berikut:

MsgBox "This is fun"

Hasil ketika Anda mengklik tombol perintah pada lembaran:

2. Sekarang kita mencoba untuk membuat MsgBox sedikit lebih maju.

Masukkan nomor acak ke dalam sel A1.

Bukan "This is Fun", tambahkan baris kode berikut:

MsgBox "Entered value is " & Range("A1").Value

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 19


Excel VBA Macro Programing STIKI MALANG

Hasil ketika Anda mengklik tombol perintah pada lembaran:

Kami menggunakan & operator untuk menggabungkan (bergabung) dua string.


Meskipun Range ("A1"). Nilai bukan string, ia bekerja di sini.

3. Untuk memulai baris baru dalam kotak pesan, Anda dapat menggunakan
vbNewLine. Tambahkan baris kode berikut:

MsgBox "Line 1" & vbNewLine & "Line 2"

Hasil ketika Anda mengklik tombol perintah pada lembaran:

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 20


Excel VBA Macro Programing STIKI MALANG

H. Macro Errors

Sayangnya, tidak semuanya berjalan benar pada kali pertama. Excel VBA kadang-
kadang akan memberikan macro errors mengatakan bahwa ada sesuatu yang tidak
diprogram dengan benar. Ada terlalu banyak Excel Visual Basic untuk menjelaskan
kesalahan mereka semua pada tahap ini. Namun, di sini adalah tip yang baik untuk
menangani kesalahan.

Pertama, kita ingin membuat kesalahan makro.

1. Tempatkan tombol perintah pada lembar kerja Anda dan tambahkan baris kode
berikut salah:

MgBox This is fun

(Bukan garis yang benar M s gBox This is fun)

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 21


Excel VBA Macro Programing STIKI MALANG

2. Klik tombol perintah pada lembaran.

Hasil:

3. Klik OK.
4. Selanjutnya, di Visual Basic Editor, klik Reset untuk menghentikan debugger! (Lebih
lanjut tentang debugger di bab berikutnya) Sekarang mengubah kode. Excel VBA
telah mewarnai MgBox kata biru untuk menunjukkan kesalahan makro.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 22


Excel VBA Macro Programing STIKI MALANG

I. Debug Macros

Anda mungkin telah mendengar tentang teknik yang disebut debugging


sebelumnya. Dengan teknik ini Anda dapat menemukan kesalahan dalam kode VBA Excel
Anda sebelum Anda mengeksekusi kode. Untuk menunjukkan cara untuk men-debug makro,
jalankan langkah-langkah berikut.

1. Buka Visual Basic Editor.


2. Buat makro yang salah berikut ini:

3. Tempatkan kursor Anda sebelum Private.


4. Ada dua cara untuk debug makro.Tekan F8 atau memilih Debug dari Menu dan
kemudian Langkah KeDebug makro Anda. Baris pertama akan menjadi kuning.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 23


Excel VBA Macro Programing STIKI MALANG

5. Tekan F8 lagi. Kode baris kedua akan menjadi kuning. Selama debugger berpikir
semuanya baik-baik saja, tidak akan terjadi.
6. Tekan F8 dua kali. Kesalahan berikut akan muncul.

7. Ia mengatakan bahwa objek tidak mendukung properti atau metode. Rentang objek
memiliki properti yang disebut Nilai. Nilai tidak dieja dengan benar di sini, jadi
debugger tidak mengakui properti. Lebih lanjut tentang objek, properti dan metode di
Properti Obyek, dan Metode. Anda mungkin menemukan debug banyak pekerjaan
pada tahap ini, tetapi pasti akan melunasi setelah program Anda menjadi lebih rumit.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 24


Excel VBA Macro Programing STIKI MALANG

J. Objects, Properties dan Methods

Dalam Excel VBA, objek, properti dan metode yang terhubung dengan sebuah titik
Properties sesuatu yang objek memiliki (mereka menggambarkan objek)., Sementara
metode melakukan sesuatu yang (mereka melakukan aksi dengan objek).

Excel VBA 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 25


Excel VBA Macro Programing STIKI MALANG

Lihat semua properti dan metode dari objek.

Range objek memiliki sifat lebih banyak dan metode. Ingin melihat lebih banyak?

1. Buka Visual Basic Editor.


2. Ketik: Range.

3. Sebuah daftar akan muncul menunjukkan kepada Anda semua metode Excel VBA dan
sifat dari objek Range. Jari-jari adalah sifat dan kotak-kotak hijau adalah metode dari
objek Range.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 26


Excel VBA Macro Programing STIKI MALANG

K. Workbook and Worksheet

Jika Anda tidak akrab dengan Objects, Properties dan Metode, kami sangat
menganjurkan Anda untuk membaca bab pertama ini.

Object 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 27


Excel VBA Macro Programing STIKI MALANG

Tempatkan tes Sub ke dalam modul (Dalam Visual Basic Editor, klik Insert dan
kemudian Modul).

Sub test()

Range("A1").Value = "code placed here"

End Sub

1. Mengeksekusi kode (Klik Macro dan kemudian Run, atau klik pada Run dari Visual
Basic Editor). Kata-kata "code placed here" akan ditempatkan ke dalam sel A1.
2. Sekarang pergi ke worksheet kedua. Mengeksekusi kode lagi. Anda akan melihat
bahwa kata-kata akan ditempatkan pada worksheet kedua juga!

3. Sekarang bahkan membuka workbook baru dan mengeksekusi makro lagi. Anda akan
melihat bahwa kata-kata akan ditempatkan di sana juga! Itu karena kita tidak
menentukan nama workbook atau worksheet dan Excel VBA secara otomatis
mengambil buku kerja yang aktif dan lembar kerja aktif. Sadarilah bahwa jika Anda
ingin mengubah hal yang berbeda pada sheet yang berbeda untuk memasukkan objek
Lembar Kerja.

Properties and methods of the Workbook and Worksheet 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 28


Excel VBA Macro Programing STIKI MALANG

Hasil ketika Anda mengklik tombol perintah pada lembaran:

Anda juga dapat menggunakan properti Hitung untuk menghitung jumlah workbook
aktif.

2. Metode pengumpulan Tambahkan workbook dan koleksi Worksheets. The following


code line creates a new worksheet. Kode baris berikut membuat lembar kerja baru.

Worksheets.Add

Anda juga dapat menggunakan metode Add untuk menambahkan buku kerja baru.

3. Objek Lembar berisi koleksi lebih menarik, seperti koleksi Baris. Dalam Excel VBA
Anda dapat menggunakan metode Pilih untuk memilih baris. Baris kode di bawah ini
memilih baris 2.

Worksheets(1).Rows(2).Select

Dengan cara yang sama, Anda dapat memilih kolom. Baris kode di bawah ini memilih kolom
7.

Worksheets(1).Columns(7).Select

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 29


Excel VBA Macro Programing STIKI MALANG

L. Application Object

Ibu dari semua obyek Excel itu sendiri. Kami menyebutnya objek Aplikasi. Obyek
aplikasi memberikan akses ke banyak pilihan Excel terkait.

WorksheetFunction

Anda dapat mengakses hampir semua fungsi Excel melalui objek Aplikasi.

1. Misalnya, menempatkan tombol pada lembar kerja Anda dan tambahkan baris kode
berikut:

Range("A3").Value = Application.WorksheetFunction.Average(Range("A1:A2"))

Ketika Anda mengklik tombol perintah pada worksheet, Excel VBA menghitung
rata-rata nilai di A2 untuk A1 dan untuk tempat-tempat hasil ke dalam sel A3.

Catatan: bukan Application.WorksheetFunction.Average, Anda juga dapat hanya


menggunakan WorksheetFunction.Average.

Ada fungsi lembar kerja lebih banyak dapat Anda gunakan di Excel VBA. Ingin melihat lebih
banyak?

1. Jalankan Visual Basic Editor.


2. Ketik: worksheetfunction.

3. Sebuah daftar akan muncul menunjukkan kepada Anda semua fungsi worksheet yang
tersedia.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 30


Excel VBA Macro Programing STIKI MALANG

BAB III

Pemrograman VBA

Pada bab ini anda akan belajar bagaimana agar mendapatkan hasil yang maksimal
dari Excel VBA. Excel VBA Pemrograman tidak sulit, tetapi Anda perlu tahu kata kunci yang
digunakan di Excel VBA.

M. Variables

Sub-bab ini mengajarkan Anda bagaimana cara mendeklarasikan, menginisialisasi


dan menampilkan variabel Excel VBA. Sebuah variabel digunakan untuk menyimpan sebuah
nilai. Sebuah variabel dapat berisi dari salah satu type. Dalam Excel VBA, kita memiliki
beberapa macam tipe variabel.

Variable of type Integer


Variabel integer digunakan untuk menyimpan bilangan bulat.

Code :

Dim x As Integer
x=6
Range("A1").Value =x

Hasil :

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 31


Excel VBA Macro Programing STIKI MALANG

1. Dim x As Integer kode baris pertama menyatakan variabel Excel VBA


dengan nama x bertipe Integer.
2. Selanjutnya, kita menginisialisasi variabel. Dalam Excel VBA (dan dalam
banyak bahasa pemrograman lain), menginisialisasi hanya berarti
menetapkan awal nilai ke variabel. Hal ini dilakukan dengan menambahkan
baris x = 6.
3. Akhirnya, kita menempatkan nilai yang diberikan untuk variabel x ke dalam sel
A1. Hal ini dapat dilakukan dengan menambahkan baris: Range ( A1 ). Value
= x
Variable of type 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 32


Excel VBA Macro Programing STIKI MALANG

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 33


Excel VBA Macro Programing STIKI MALANG

Tapi itu bukan nilai yang benar! variabel diinisialisasi dengan nilai 5,5 dan anda
mendapatkan nilai 6. Apa yang kita butuhkan adalah variabel tipe Double.

Code :

Dim x As 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 34


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 35


Excel VBA Macro Programing STIKI MALANG

N. String Manipulation

Ada banyak fungsi di Excel VBA dapat kita gunakan untuk memanipulasi string. Di
bawah ini Anda dapat menemukan review dari fungsi yang paling penting.

Tempatkan tombol perintah pada lembar kerja Anda dan tambahkan baris kode yang
dijelaskan dalam bahasan ini. Untuk mengeksekusi baris kode.

Join Strings

Kami menggunakan operator & untuk menggabungkan string.

Code :

Dim text1 As String, text2 As String


text1 = Hi
text2 = Tim

MsgBox text1 & text2

Hasil :

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 36


Excel VBA Macro Programing STIKI MALANG

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 37


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 38


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

O. Calculate

Mari kita mengembangkan sebuah makro kecil yang melibatkan perhitungan


sederhana (menambahkan nilai ke variabel) dan teknik pemrograman yang sangat penting.

Tempatkan tombol perintah pada lembar kerja Anda dan tambahkan baris kode berikut:

Dim x As 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 39


Excel VBA Macro Programing STIKI MALANG

berarti x menjadi x + 1. Dengan kata lain: mengambil nilai sekarang dari x dan
tambahkan 1 untuk itu. Contoh: Jika x = 6, x menjadi 6 + 1 = 7.

4. Akhirnya, tempat variabel dengan nilai baru ke dalam sel A1.

Keluar Editor Visual Basic dan masukkan nilai ke dalam sel A1. Klik pada Tombol
yang di beriperintah tadi untuk melihat bagaimana nilai sel A1 bertambah setiap kali Anda
klik pada Tombol.

Hasil :

Anda baru saja membuat sebuah counter di Excel VBA. Bagus!

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 40


Excel VBA Macro Programing STIKI MALANG

P. If Then Statement

Dalam banyak situasi kami hanya ingin Excel VBA untuk mengeksekusi baris kode
tertentu ketika kondisi tertentu terpenuhi. If Then Statement memungkinkan Anda untuk
melakukan hal ini.

If Than Statement

Tempatkan tombol perintah pada lembar kerja Anda dan tambahkan baris kode berikut:

Dim score As Integer, grade As 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 41


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 42


Excel VBA Macro Programing STIKI MALANG

Q. Cells

Sejauh ini kita telah menggunakan objek Rentang untuk menempatkan nilai ke
dalam sel atau membaca nilai dari sel. Alih-alih objek Range, Anda juga dapat menggunakan
Cells. Sebagai contoh, Cells (4,2). Nilai adalah sama dengan Range("B4").value. Cells(4,2).
Nilai sesuai dengan nilai Cells dengan rownumber 4 dan columnnumber 2, yang merupakan
Cells B4.

Tempatkan tombol pada lembar kerja Anda dan tambahkan baris kode berikut:

Cells(4, 2).Value = 100

Hasil ketika Anda mengklik tombol perintah pada lembaran :

Anda mungkin bertanya-tanya mengapa Anda akan menggunakan Cells, jika Anda
bisa menggunakan Range objek lebih umum. Itu karena menggunakan Cells ini sangat
berguna ketika kita ingin loop melalui ranges.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 43


Excel VBA Macro Programing STIKI MALANG

R. Loop

Excel VBA loop (atau untuk loop berikutnya) adalah statement pemrograman yang
sangat berguna yang sering digunakan di Excel VBA. Pertama, kita akan melihat contoh
mudah bagaimana loop melalui berbagai satu dimensi.

Single Loop

Anda dapat menggunakan single loop untuk loop melalui berbagai satu dimensi.

Tempatkan tombol pada lembar kerja Anda dan tambahkan baris kode berikut:

Dim total As Integer, i As 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 44


Excel VBA Macro Programing STIKI MALANG

Hasil ketika Anda mengklik tombol perintah pada lembar beberapa kali:

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 45


Excel VBA Macro Programing STIKI MALANG

Penjelasan: Kode garis antara For dan Next akan dieksekusi empat kali. For i = 1, 2, 3 and 4.
For i =1, Excel VBA mengisi 1 untuk i dan mendapat Cells (1,1).value. Ini adalah nilai
pertama. Ketika Excel VBA mencapai Next i, ia melompat kembali ke pernyataan
meningkatnya For i dengan 1. For i = 2, Excel VBA mengisi 2 untuk i dan mendapat
Cells(1,2).value. Ini adalah nilai kedua. For i = 2, Excel VBA juga total 1 kenaikan karena
nilai kedua lebih tinggi dari 40. For i = 3, dll

Excel VBA loop melalui kode empat kali dan setelah itu meninggalkan For Next loop dan
mengeksekusi code.

Hasil:

Catatan: itu adalah praktik yang baik untuk selalu indentasi (tab) kode antara kata-kata For
dan Next. Hal ini membuat kode Anda lebih mudah dibaca.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 46


Excel VBA Macro Programing STIKI MALANG

S. Logical Operators

Dalam segala macam macro kita menggunakan Excel VBA operator logis. Tiga
operator logika yang paling banyak digunakan di Excel Visual Basic adalah: And, Or dan
Not. Setiap operator logis sekarang akan diilustrasikan dengan bantuan contoh yang mudah.

Logical Operator And


Sebagai contoh, kita menyewa orang untuk pekerjaan tertentu, hanya jika kecerdasan
IQ-nya lebih tinggi atau sama dengan 110 And kesan dia meninggalkan selama wawancara
lebih tinggi Or sama dengan 7 (pada skala 1 sampai 10).

Tempatkan tombol pada lembar kerja Anda dan tambahkan baris kode berikut: .

If Range("B1").Value >= 110 And Range("B2").Value >= 7 Then


Range("B4").Value = "Hire"
Else
Range("B4").Value = "Do not hire"
End If

Hasil ketika Anda mengklik tombol perintah pada lembaran:

Makro menggunakan operator logika And untuk mendapatkan hasil yang tepat.
Kami tidak mempekerjakan orang karena kecerdasan IQ-nya lebih rendah dari 110.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 47


Excel VBA Macro Programing STIKI MALANG

Logical Operator Or

Sebagai contoh, kita menyewa orang untuk pekerjaan tertentu, hanya jika kecerdasan
IQ-nya lebih tinggi atau sama dengan 110 Or kesan dia meninggalkan selama wawancara
lebih tinggi atau sama dengan 7 (pada skala 1 sampai 10) .

Code:

If Range("B1").Value >= 110 Or Range("B2").Value >= 7 Then


Range("B4").Value = "Hire"
Else
Range("B4").Value = "Do not hire"
End If

Hasil:

Contoh ini menunjukkan efek dari pernyataan Or. Meskipun, kecerdasan IQ orang tersebut
jauh di bawah 110, kita mempekerjakan orang tersebut karena ia meninggalkan kesan yang
sangat baik selama wawancara.

Logical Operator Not


Sebagai contoh, kita tidak menyewa orang untuk pekerjaan tertentu, yang 'rakus' dan
'semua tentang uang'. Makro di bawah ini menggunakan operator logis Not untuk
mendapatkan hasil yang tepat. Operator Not menunjuk bahwa kondisi tidak pasti benar.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 48


Excel VBA Macro Programing STIKI MALANG

Sedikit menyesuaikan makro sebelumnya.

Code:

If (Range("B1").Value >= 110 Or Range("B2").Value >= 9) And Not


Range("B3").Value = "Yes" Then
Range("B4").Value = "Hire"
Else
Range("B4").Value = "Do not hire"
End If

Hasil:

Kami ingin salah satu dari dua kondisi pertama yang benar (gunakan tanda kurung)
dan kondisi ketiga tidak harus benar. Kami tidak mempekerjakan orang karena kondisi ketiga
benar (Cells B3 berisi kata Yes).

Anda dapat mendebug melalui kode menggunakan F8 (lihat gambar di bawah).


Tempatkan kursor pada kode untuk melihat nilai-nilai yang sebenarnya! The '_' simbol yang
digunakan di sini untuk melanjutkan pernyataan pada baris baru (tidak diperlukan). Selalu uji
makro Anda ketika Anda menggunakan operator logika untuk memastikan bahwa mereka
melakukan apa yang Anda inginkan.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 49


Excel VBA Macro Programing STIKI MALANG

T. Range

Bab ini memberikan gambaran sifat dan metode dari objek Range sangat penting
VBA Excel.

Range Examples

Kita telah melihat objek Range di bab-bab sebelumnya. Range objek adalah representasi dari
sebuah Cell (atau Cells) pada lembar kerja Anda. Kode baris: ". Range (" A1 ") value = 1
'tempat nilai 1 ke dalam Cell A1. Anda juga dapat mengeksekusi operasi di Excel Visual
Basic pada lebih dari satu Cells pada waktu yang sama. Lihat tiga macro berikut.

Tempatkan tombol pada lembar kerja Anda dan tambahkan baris kode berikut:

Range("A1:A4").Value = 2

Hasil ketika Anda mengklik tombol perintah pada lembaran:

Code:

Range("A1:B4").Value = 5

Hasil :

Code:

Range("A1:A2,B3:C4").Value = 10

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 50


Excel VBA Macro Programing STIKI MALANG

Hasil :

Declare a 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 51


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 52


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 53


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 54


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 55


Excel VBA Macro Programing STIKI MALANG

U. Events

Bab ini mengajarkan Anda bagaimana untuk program event workbook di Excel
VBA. Peristiwa tindakan yang dilakukan oleh pengguna, yang memicu Excel VBA untuk
mengeksekusi makro. Pertama, kita akan melihat beberapa contoh peristiwa.

Event Examples

Di bawah ini adalah daftar contoh acara.

Pengguna membuka workbook (workbook event).

Pengguna mengaktifkan lembar kerja (worksheet event).

Pengguna mengubah isi sel pada lembar (worksheet event).

Pengguna mengklik ganda sel (worksheet event).

Workbook Event

Peristiwa Workbook adalah tindakan yang dilakukan pada buku kerja (file Excel
Anda =) yang memicu Excel VBA untuk mengeksekusi makro. Untuk membuat acara
workbook, jalankan langkah-langkah berikut.

1. Jalankan Visual Basic Editor.


2. Double Klik pada Workbook ini dalam Proyek Explorer (PENTING!). Jendela kode
akan muncul menunjukkan kepada Anda dua drop-down daftar.

3. Pilih Workbook dari daftar drop-down kiri.

4. Daftar drop-down kanan menunjukkan Anda semua peristiwa buku kerja (jangan
khawatir, Anda tidak akan menggunakan sebagian besar peristiwa ini). Pilih acara
Buka. Excel VBA otomatis menempatkan prosedur Sub untuk Anda.

5. Sekarang Anda dapat menambahkan baris yang hanya akan dieksekusi oleh Excel
VBA ketika Anda membuka workbook! Tambahkan baris:

MsgBox "Good Morning"

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 56


Excel VBA Macro Programing STIKI MALANG

6. Tutup file Excel (jangan lupa untuk menyimpan).


7. Buka file Excel dan menguji event workbook.

Hasil:

Catatan: Ada kemungkinan makro Anda belum dieksekusi karena pengaturan keamanan Anda
tidak diatur dengan benar. Jika demikian, pergi ke pengaturan keamanan dan klik pada:
enable all macros.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 57


Excel VBA Macro Programing STIKI MALANG

V. Array

Sebuah array Excel VBA adalah sekelompok variabel. Anda dapat merujuk ke
variabel tertentu (elemen) dari array dengan menggunakan nama array dan nomor indeks.
Untuk membuat array satu dimensi, jalankan langkah-langkah berikut.

Tempatkan tombol pada lembar kerja Anda dan tambahkan baris kode berikut:

Dim Films(1 To 5) As String

Films(1) = "Lord of the Rings"


Films(2) = "Speed"
Films(3) = "Star Wars"
Films(4) = "The Godfather"
Films(5) = "Pulp Fiction"

MsgBox Films(4)

1. Kode baris pertama menyatakan array String dengan nama Films. Array terdiri dari
lima elemen.
2. Selanjutnya, kita menginisialisasi setiap elemen array. Dengan kata lain: kita
memberikan nilai awal.

3. Akhirnya, kami menampilkan film keempat menggunakan sebuah MsgBox.

Keluar Editor Visual Basic dan menguji array.

Hasil ketika Anda mengklik tombol perintah pada lembaran:

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 58


Excel VBA Macro Programing STIKI MALANG

W. Date and Time

Tanggal dan waktu di Excel VBA dapat dimanipulasi dengan berbagai cara. Bab ini
mengajarkan Anda bagaimana untuk mendapatkan tahun, bulan dan hari tanggal VBA Excel,
bagaimana untuk menambahkan jumlah hari untuk date, bagaimana untuk mendapatkan
tanggal dan waktu, bagaimana untuk mendapatkan jam, menit dan kedua dari saat ini waktu
dan bagaimana mengkonversi string ke nomor urut waktu.

Tempatkan rombol pada lembar kerja Anda dan tambahkan baris kode yang
dijelaskan dalam bab ini. Untuk mengeksekusi baris kode, klik tombol perintah pada
lembaran.

Year, Month, Day of a 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 59


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 60


Excel VBA Macro Programing STIKI MALANG

Current Date & Time

Untuk mendapatkan tanggal dan waktu, gunakan fungsi Sekarang.

Code:

MsgBox Now

Hasil:

Catatan: mengganti tanggal, seperti "19 Juni 2010" dengan Sekarang dan Anda dapat
menggunakan semua fungsi yang dijelaskan di atas pada tanggal saat ini!

Hour, Minute and Second

Makro berikut mendapatkan jam waktu saat ini.

Code:

MsgBox Hour(Now)

Hasil:

Catatan: Gunakan Menit dan Kedua untuk mendapatkan menit dan detik dari waktu saat ini.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 61


Excel VBA Macro Programing STIKI MALANG

TimeValue
Fungsi TimeValue mengkonversi string ke nomor seri waktu. Nomor seri Waktu
adalah angka antara 0 dan 1. Misalnya, siang (tengah hari) direpresentasikan sebagai 0,5.

Code:

MsgBox TimeValue("9:20:01 am")

Hasil:

Sekarang, dengan jelas melihat bahwa Excel menangani internal kali sebagai angka antara 0
dan 1, tambahkan baris kode berikut:

Dim y As 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 62


Excel VBA Macro Programing STIKI MALANG

X. Function and Sub

Perbedaan antara fungsi dan sub di Excel VBA adalah bahwa fungsi dapat
mengembalikan nilai dan sub tidak bisa. Dalam bab ini kita akan melihat sebuah contoh yang
mudah dari fungsi dan sub. Fungsi dan subs menjadi sangat berguna sebagai meningkatkan
ukuran program.

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 63


Excel VBA Macro Programing STIKI MALANG

Hasil ketika Anda mengklik tombol perintah pada lembaran:

Sub
Jika Anda ingin Excel VBA untuk melakukan beberapa tindakan, Anda dapat
menggunakan sub. Tempatkan sub ke dalam modul (Dalam Visual Basic Editor, klik pada
Insert dan kemudian Modul). Sebagai contoh, sub dengan nama Daerah.

Sub Area(x As Double, y As Double)

MsgBox x * y

End Sub

Penjelasan: sub ini memiliki dua argumen (dari dua jenis). Ia tidak memiliki tipe kembali!
Anda dapat merujuk ke sub (panggilan sub) dari tempat lain dalam kode Anda dengan hanya
menggunakan nama sub dan memberikan nilai untuk setiap argumen.

Tempatkan tombol pada lembar kerja Anda dan tambahkan baris kode berikut:

Area 3, 5

Hasil ketika Anda mengklik tombol perintah pada lembaran:

Dapatkah Anda melihat perbedaan antara fungsi dan sub? Fungsi mengembalikan nilai 15.
Kami menambahkan nilai 2 hasil ini dan ditampilkan hasil akhir. Ketika kita disebut sub kita

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 64


Excel VBA Macro Programing STIKI MALANG

tidak memiliki kontrol lebih besar atas hasil (15) karena sub tidak dapat mengembalikan
nilai!

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 65


Excel VBA Macro Programing STIKI MALANG

BAB IV

Kontrol

Bagian ini adalah tentang berkomunikasi dengan pengguna dengan menggunakan


kontrol atau UserForm. Pelajari cara menggunakan kontrol ini di Excel 2010 atau Excel
2007. Anda langsung dapat menempatkan kontrol pada selembar kertas atau tempat mereka
pada UserForm.

Y. Textbox

Sebuah textbox adalah bidang kosong di mana pengguna dapat mengisi sepotong
teks. Pelajari cara menggambar sebuah textbox pada lembar kerja Anda, bagaimana untuk
merujuk ke sebuah textbox dalam kode VBA Excel Anda, dan bagaimana untuk menghapus
textbox.

Draw a Textbox

Excel 2010 dan Excel 2007 pengguna. Klik pada Insert tab Developer dan kemudian klik
TextBox di bagian ActiveX Controls.

Catatan: Ini adalah praktik yang baik untuk mengubah nama kontrol. Ini akan membuat kode
Anda lebih mudah dibaca bila Anda memiliki kontrol lebih. Jika Anda memilih untuk
mengubah nama kontrol, ingat untuk merujuk pada nama-nama dalam kode Anda.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 66


Excel VBA Macro Programing STIKI MALANG

Link Cell to Textbox

Untuk menghubungkan cell untuk textbox, jalankan langkah-langkah berikut:

1. Klik kanan pada tombol perintah. Klik pada View Code. Tambahkan baris kode
berikut:

Range("E2").Value = TextBox1.Value

2. Enter some text into the textbox. Masukkan beberapa teks ke dalam textbox.

Hasil ketika Anda mengklik tombol perintah pada lembaran:

Untuk menempatkan teks dari sel ke textbox (sebaliknya), cukup tambahkan baris kode
berikut:

TextBox1.Value = Range("E2").Value

Clear Textbox

Untuk menghapus sebuah textbox, menggunakan baris kode berikut:

TextBox1.Value = ""

Meskipun di beberapa situasi dapat berguna untuk langsung menempatkan sebuah textbox
pada lembar kerja Anda, textbox ini sangat berguna ketika ditempatkan pada UserForm.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 67


Excel VBA Macro Programing STIKI MALANG

Z. Listbox

Excel VBA listbox, adalah daftar drop-down dari mana pengguna dapat membuat
pilihan. Pelajari cara menggambar listbox pada lembar kerja Anda dan bagaimana untuk
menambahkan item ke listbox.

Draw a Listbox

Excel 2010 dan Excel 2007 pengguna. Klik pada Insert tab Developer dan kemudian
klik pada Kotak Daftar di bagian ActiveX Controls.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 68


Excel VBA Macro Programing STIKI MALANG

Add items to Listbox

Untuk menambahkan beberapa item ke listbox, jalankan langkah-langkah berikut:

1. Klik kanan pada listbox (pastikan mode desain dipilih) klik Properties. Isi E2 untuk
LinkedCell dan B2: B4 untuk ListFillRange.

2. Pilih item dari listbox tersebut.

Hasil:

Meskipun di beberapa situasi dapat berguna untuk langsung menempatkan listbox


pada lembar kerja Anda, listbox sangat berguna ketika ditempatkan pada UserForm.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 69


Excel VBA Macro Programing STIKI MALANG

AA. Combobox

Excel VBA combobox adalah daftar drop-down dari mana pengguna dapat
membuat pilihan. Perbedaan antara listbox dan combobox adalah bahwa dengan combobox
pengguna juga dapat mengisi dalam pilihannya sendiri jika tidak termasuk dalam daftar.

Draw a 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 70


Excel VBA Macro Programing STIKI MALANG

Add item to combobox

Untuk menambahkan beberapa item ke combobox, jalankan langkah-langkah berikut:

1. Klik kanan pada combobox (pastikan mode desain dipilih) sebuah klik Properties. Isi
E2 untuk LinkedCell dan B2: B4 untuk ListFillRange.

2. Pilih item dari combobox atau mengisi pilihan Anda sendiri.

Hasil:

Meskipun di beberapa situasi dapat berguna untuk langsung menempatkan combobox pada
lembar kerja Anda, combobox sangat berguna ketika ditempatkan pada UserForm.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 71


Excel VBA Macro Programing STIKI MALANG

BB. Checkbox

Sebuah kotak centang Excel VBA adalah bidang yang dapat diperiksa untuk
menyimpan informasi. Pelajari cara menggambar kotak centang pada lembar kerja Anda dan
bagaimana untuk merujuk ke kotak centang dalam kode Anda.

Draw a 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 72


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 73


Excel VBA Macro Programing STIKI MALANG

CC. Option Buttons

Excel VBA tombol pilihan adalah sama dengan kotak centang kecuali bahwa
tombol pilihan tergantung pada masing-masing kotak centang, sementara lainnya tidak. Ini
berarti bahwa ketika Anda memeriksa satu tombol pilihan tombol pilihan lainnya secara
otomatis akan hapus centang.

Draw an Option 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 74


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 75


Excel VBA Macro Programing STIKI MALANG

DD. Userform

Bab ini mengajarkan Anda bagaimana untuk membuat Excel VBA UserForm (juga
dikenal sebagai kotak dialog). Anda dapat mendownload UserForm juga.

Userform Example

UserForm kita akan membuat terlihat sebagai berikut.

Controls

Kontrol yang paling penting yang dapat ditambahkan ke Excel VBA UserForm adalah:

Labels

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 76


Excel VBA Macro Programing STIKI MALANG

Contoh label di UserForm kami adalah: 'Name:' , 'Phone Number:' , 'City Preference:' ,
'Dinner Preference:' , dll.

Textboxes

Tiga kotak di samping Label 'Nama:' , 'Phone Number:' and 'Maximum to spend:' adalah boks
teks.

Listboxes

Kotak di samping 'Preferensi Kota:' Label adalah listbox.

Comboboxes

Dropdown list-di samping 'Preferensi Makan malam:' Label adalah combobox.

Catatan: combobox adalah sama seperti listbox kecuali bahwa pengguna sekarang dapat juga
mengisi dalam pilihannya sendiri jika / nya pilihannya tidak termasuk dalam daftar.

Checkboxes and Option buttons

'13 Juni', 'Juni 20' dan 'Juni 27' adalah contoh dari Checkbox. 'Yes' and 'No' adalah contoh
dari tombol pilihan.

Catatan: Checkbox dan tombol pilihan terutama sama kecuali bahwa tombol pilihan
tergantung pada masing-masing kotak centang, sementara lainnya tidak. Ini berarti bahwa
ketika Anda ingin memeriksa satu tombol pilihan tombol pilihan lainnya secara otomatis akan
hapus centang.

Frames

Bidang dengan Car nama termasuk dua tombol pilihan adalah kontrol Frame.

Catatan: dalam rangka untuk tombol pilihan untuk memiliki fungsi bergantung dijelaskan
sebelumnya yang terbaik adalah untuk menempatkan tombol-tombol pilihan dalam kontrol
Frame.

Command buttons

Tombol perintah tiga di bawah UserForm adalah contoh tombol perintah.

Spin buttons

Tombol spin ditempatkan di samping textbox di bagian bawah Form tersebut.

Create the Userform

Sekarang adalah waktu untuk menciptakan UserForm!

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 77


Excel VBA Macro Programing STIKI MALANG

1. Jalankan Visual Basic Editor.


2. Klik pada ThisWorkbook dari Proyek Explorer. Jika Explorer Proyek tidak terlihat,
klik View dan kemudian Project Explorer.

3. Dari Menu klik Insert dan kemudian UserForm. Layar Anda harus dibentuk sebagai
berikut:

4. Jika Toolbox tidak muncul secara otomatis, klik pada View dan kemudian Toolbox.
5. Tambahkan semua kontrol. Setelah ini telah selesai, hasilnya harus konsisten dengan
gambar UserForm ditampilkan sebelumnya. Sebagai contoh, membuat Label dengan
mengklik pada Label dari Toolbox. Selanjutnya, Anda dapat menarik Label Pada
UserForm. Ketika Anda tiba di CarFrame, ingat untuk menarik Bingkai ini terlebih
dahulu sebelum Anda menempatkan dua tombol pilihan di dalamnya.

6. Mengubah nama dan keterangan dari kontrol. Klik kanan mouse pada kontrol masing-
masing. Kemudian klik Properties. Nama yang digunakan dalam kode VBA Excel.
Keterangan adalah mereka yang muncul pada layar Anda. Mengubah nama dan
keterangan dari kontrol sesuai dengan tabel di bawah ini.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 78


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 79


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 80


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.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 81


Excel VBA Macro Programing STIKI MALANG

1. Jalankan Visual Basic Editor.


2. Double klik pada DinnerPlannerUserForm dari Proyek Explorer.

3. Double klik pada tombol Clear.

4. Tambahkan baris kode berikut:

Private Sub ClearButton_Click()

Call UserForm_Initialize

End Sub

Assign a macro to the OK button

Setelah mengklik tombol OK, informasi dari UserForm akan ditempatkan pada lembar kerja
Anda.

Private Sub OKButton_Click()

Dim emptyRow As Long

'Make Sheet1 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"

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 82


Excel VBA Macro Programing STIKI MALANG

End If

Cells(emptyRow, 7).Value = MoneyTextBox.Value

End Sub

Penjelasan kode: Pertama, kita mengaktifkan Sheet1. Selanjutnya, kita menentukan


emptyRow. Informasi dari UserForm akan ditempatkan di baris ini. EmptyRow meningkat
setiap kali sebuah record ditambahkan. Akhirnya, kita mengambil informasi dari UserForm
ke kolom tertentu dari emptyRow. Double klik pada tombol OK untuk menambahkan kode
seperti yang kami lakukan dengan Batal dan tombol Hapus.

Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 83


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 84

Anda mungkin juga menyukai