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
BAB IV
Kontrol 64
Y. Textbox 64
Z. Listbox 66
AA. Combobox 68
BB. Checkbox 70
CC. Option Buttons 72
DD. Userform 74
BAB I
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.
Untuk membuat makro di Excel, Anda harus mengaktifkan Excel Visual Basic.
Selanjutnya, Anda dapat membuat makro yang akan dieksekusi setelah mengklik pada tombol
perintah.
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.
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"
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.
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.
Merekam Makro
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 ...
Selamat! Anda baru saja direkam makro dengan Record Makro Excel!
4. Klik Run.
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.
BAB II
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.
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.
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).
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.
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.
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.
Ini adalah praktik yang baik untuk menggunakan komentar. Macro comments
menjadi lebih berguna sebagai meningkatkan Program.
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.
3. Untuk memulai baris baru dalam kotak pesan, Anda dapat menggunakan
vbNewLine. Tambahkan baris kode berikut:
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.
1. Tempatkan tombol perintah pada lembar kerja Anda dan tambahkan baris kode
berikut salah:
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.
I. Debug Macros
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.
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).
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).
3. Tambahkan baris:
Range("A1").ClearContents
Range objek memiliki sifat lebih banyak dan metode. Ingin melihat lebih banyak?
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.
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.
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.
Tempatkan tes Sub ke dalam modul (Dalam Visual Basic Editor, klik Insert dan
kemudian Modul).
Sub test()
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.
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
Anda juga dapat menggunakan properti Hitung untuk menghitung jumlah workbook
aktif.
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
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.
Ada fungsi lembar kerja lebih banyak dapat Anda gunakan di Excel VBA. Ingin melihat lebih
banyak?
3. Sebuah daftar akan muncul menunjukkan kepada Anda semua fungsi worksheet yang
tersedia.
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
Code :
Dim x As Integer
x=6
Range("A1").Value =x
Hasil :
Code :
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.
Code :
Dim x As Integer
x = 5.5
MsgBox "value is " & x
Hasil :
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.
Code :
Hasil :
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
Code :
Hasil :
Left
Untuk ekstrak karakter paling kiri dari string, gunakan Left.
Code :
MsgBox Left(text, 4)
Hasil :
Right
Untuk ekstrak karakter paling kanan dari string, gunakan Right. Kita langsung dapat
menyisipkan teks dalam fungsi juga.
Code :
Hasil :
Len
Untuk mendapatkan panjang string, gunakan Len.
Code :
Hasil :
Instr
Untuk mencari posisi substring dalam string, gunakan Instr.
Code :
Hasil :
Mid
Untuk mengekstrak substring, mulai di tengah-tengah string, gunakan Mid
Code :
Hasil :
O. Calculate
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
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.
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 :
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:
Range(B1).Value = grade
1. Kode baris pertama menyatakan dua variabel. Salah satu variabel bertipe Integer dan
satu variabel bertipe String.
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 :
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.
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
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:
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.
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:
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
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.
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.
Hasil ketika Anda mengklik tombol perintah pada lembar beberapa kali:
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.
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.
Tempatkan tombol pada lembar kerja Anda dan tambahkan baris kode berikut: .
Makro menggunakan operator logika And untuk mendapatkan hasil yang tepat.
Kami tidak mempekerjakan orang karena kecerdasan IQ-nya lebih rendah dari 110.
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:
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.
Code:
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).
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
Code:
Range("A1:B4").Value = 5
Hasil :
Code:
Range("A1:A2,B3:C4").Value = 10
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:
example.Value = 8
Select a Range
Sebuah metode penting dari object Excel VBA Range adalah metode Select. Metode
Select hanya memilih kisaran.
Code:
example.Select
Hasil:
Rows
Properti Baris memberikan akses ke baris tertentu dari kisaran. Makro berikut
memilih baris ketiga Range ("A1: C4").
example.Rows(3).Select
Hasil:
Columns
Properti Kolom memberikan akses ke kolom tertentu dari kisaran. Makro berikut
memilih kolom kedua dari Range ("A1: C4").
example.Columns(2).Select
Hasil:
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
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.
MsgBox example.Count
Hasil:
MsgBox example.Rows.Count
Hasil:
Dengan cara yang sama, Anda dapat menghitung jumlah kolom dari kisaran.
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
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.
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:
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.
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:
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.
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.
Code:
MsgBox Year(exampleDate)
Hasil:
Catatan: Gunakan Bulan dan Hari untuk mendapatkan bulan dan hari dari tanggal.
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:
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.
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!
Code:
MsgBox Hour(Now)
Hasil:
Catatan: Gunakan Menit dan Kedua untuk mendapatkan menit dan detik dari waktu saat ini.
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:
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.
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.
Area = x * y Luas = x * y
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
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.
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.
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
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
tidak memiliki kontrol lebih besar atas hasil (15) karena sub tidak dapat mengembalikan
nilai!
BAB IV
Kontrol
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.
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.
Untuk menempatkan teks dari sel ke textbox (sebaliknya), cukup tambahkan baris kode
berikut:
TextBox1.Value = Range("E2").Value
Clear Textbox
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.
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.
1. Klik kanan pada listbox (pastikan mode desain dipilih) klik Properties. Isi E2 untuk
LinkedCell dan B2: B4 untuk ListFillRange.
Hasil:
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.
1. Klik kanan pada combobox (pastikan mode desain dipilih) sebuah klik Properties. Isi
E2 untuk LinkedCell dan B2: B4 untuk ListFillRange.
Hasil:
Meskipun di beberapa situasi dapat berguna untuk langsung menempatkan combobox pada
lembar kerja Anda, combobox sangat berguna ketika ditempatkan pada UserForm.
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.
1. Klik kanan pada kotak centang. Klik pada View Code. Tambahkan baris kode berikut:
End Sub
Hasil:
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.
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.
1. Klik kanan pada option button. Klik pada View Code. Tambahkan baris kode berikut:
End Sub
2. Klik kanan pada tombol pilihan kedua. Klik pada View Code. Tambahkan baris kode
berikut:
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.
DD. Userform
Bab ini mengajarkan Anda bagaimana untuk membuat Excel VBA UserForm (juga
dikenal sebagai kotak dialog). Anda dapat mendownload UserForm juga.
Userform Example
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.
Textboxes
Tiga kotak di samping Label 'Nama:' , 'Phone Number:' and 'Maximum to spend:' adalah boks
teks.
Listboxes
Comboboxes
Catatan: combobox adalah sama seperti listbox kecuali bahwa pengguna sekarang dapat juga
mengisi dalam pilihannya sendiri jika / nya pilihannya tidak termasuk dalam daftar.
'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
Spin buttons
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.
Catatan: itu adalah praktik yang baik untuk mengubah nama kontrol. Ini akan membuat kode
Anda lebih mudah untuk dibaca.
Untuk menampilkan UserForm, menempatkan tombol perintah pada lembar kerja Anda dan
tambahkan baris kode berikut:
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.
'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
'Empty MoneyTextBox
MoneyTextBox.Value = ""
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.
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.
Unload Me
End Sub
Call UserForm_Initialize
End Sub
Setelah mengklik tombol OK, informasi dari UserForm akan ditempatkan pada lembar kerja
Anda.
'Determine emptyRow
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1
End If
End Sub
MoneyTextBox.Text = MoneySpinButton.Value
End Sub
Keluarlah dari Visual Basic Editor, mengisi baris 1, dan menguji UserForm.
Hasil: