EXCEL VBA
Jason Jay
Machine Translated by Google
© Hak Cipta 2017 oleh Jason Jay - Semua hak dilindungi undang-undang.
Jika Anda ingin berbagi buku ini dengan orang lain, silakan beli sebuah
salinan tambahan untuk setiap penerima. Terima kasih telah menghargai kerja keras dari
penulis ini. Jika tidak, transmisi, duplikasi, atau reproduksi salah satu dari
tindakan ilegal terlepas dari apakah itu dilakukan secara elektronik atau cetak. Ini meluas
untuk membuat salinan sekunder atau tersier dari karya tersebut atau salinan rekaman dan
DAFTAR ISI
EXCEL VBA 1
Perkenalan 5
BAB 1 7
Kuis 1 8
BAB 2 9
Makro 9
Membuat Makro 9
Referensi Relatif 11
Menjalankan Makro 12
Kuis 2 14
BAGIAN 3 16
Kuis 3 43
BAB 4 45
Menambahkan Surat? 58
Kuis 4 59
BAB 5 60
Keamanan Makro 87
Komentar 89
Kuis 5 104
Perkenalan
Jika Anda sudah mengetahui cara menggunakan Microsoft Excel tetapi ada beberapa hal
yang tidak dapat Anda lakukan, sekarang saatnya mempelajari fungsionalitas terkuat yang
Visual Basic for Applications adalah bahasa pemrograman yang tergabung dalam Microsoft
Excel, Access, PowerPoint, dan bahkan Word, yang memungkinkan Anda melakukan semua hal
yang sudah Anda ketahui tentangnya dan banyak lagi. Misalnya, Anda ingin setiap kali Anda
membuka file Microsoft Word tertentu, ia menulis secara otomatis tanggal saat ini dua baris di
bawah tempat Anda pergi terakhir kali. Atau mungkin Anda menginginkan seluruh spreadsheet
Excel tanpa rumus di dalamnya dan masih menerapkannya seolah-olah ada di sana. Bagaimana
Anda melakukannya? Semua hal ini dan lebih banyak lagi dilakukan dengan Visual Basic for
Sepertinya program yang dibuat untuk analisis, dan memang begitu. Coba tebak program
program, tetapi izinkan saya memberi tahu Anda bahwa itu dibuat dengan Microsoft Excel,
bagaimana Anda melakukan sesuatu seperti itu tanpa pemrograman? Tidak ada jalan!
Anda akan belajar lebih banyak dari itu dan akan dapat membuatnya sendiri
Jika Anda memerlukan program yang sangat spesifik untuk analisis bisnis Anda, sesuatu
untuk penggunaan pribadi, atau bahkan hanya untuk bersenang-senang, Anda memerlukan
BAB 1
TAB Pengembang VBA
Kami akan menggunakan Microsoft Excel 365 untuk petunjuk dan contoh ini, namun,
dari Microsoft Excel 2007 dan seterusnya akan bekerja sama.
Microsoft Excel tidak menampilkan TAB Pengembang secara default. Itu hanya
memiliki File, Home, Insert, dll. Tapi tidak ada yang disebut Developer. Untuk mengakses
TAB ini ada pilihan yang berbeda, tapi kami akan menunjukkan yang paling mudah.
1. Klik kanan pada Ribbon (setiap bagian di dalam kotak merah, kecuali
tombol).
Kuis 1
b) Klik kanan pada Pita, Sesuaikan Pita, aktifkan Kotak Centang untuk
BAB 2
Makro
Membuat Makro
Anda akan melihat beberapa opsi yang tersedia di TAB Pengembang, sekarang kita akan mulai
untuk menggunakan tombol Rekam Makro .
Makro adalah urutan otomatis yang akan berlaku setiap kali Anda memainkannya.
Bayangkan dalam pekerjaan Anda, Anda melakukan proses yang sama setiap pagi. Butuh
a) Anda menerima file Microsoft Excel dari bos Anda dengan beberapa data dan Anda
perlu menulis tanggal menggunakan Tahun, Bulan, dan Hari dengan cara yang berbeda
kolom.
Anda melakukan ini karena ini adalah format yang dibutuhkan pekerjaan Anda dan Anda telah
Dalam hal ini proses semi-otomatis akan sangat membantu. Excel memberikan opsi itu
kepada kita semua dengan Macro. Makro adalah proses semi-otomatis yang memungkinkan
c) Tombol pintas yang setiap kali Anda tekan akan Menjalankan Makro. Hati-hati, jangan
tambahkan Ctrl + C atau Ctrl + v, jika tidak maka tidak akan menyalin atau menempel lagi,
tetapi menjalankan Makro. Jika Anda menginginkan pintasan yang lebih spesifik, tahan tombol
shift saat Anda menekan sebuah huruf. Misalnya, ctrl + shift + c. Untuk membuatnya berfungsi,
d) Simpan Makro di: Buku kerja pribadi: Akan tersedia untuk semua file yang Anda buka
dengan Excel di komputer itu; Workbook baru akan tersedia untuk file baru saja. Buku
kerja ini, hanya akan berlaku untuk file terbuka saat ini. (Diperlukan untuk memilih salah
satu)
f) Klik Oke.
g) Mulailah melakukan semua yang selalu Anda lakukan, yang akan menambahkan
tanggal saat ini dalam kasus ini.
Machine Translated by Google
h) Setelah Anda selesai, kembali ke Tombol Rekam Makro, yang sekarang disebut Hentikan
Ini akan menjadi Makro yang sangat sederhana, hanya menambahkan tanggal saat ini, tetapi
bagaimana menurut Anda jika Anda juga perlu mengimpor data dari halaman web yang
diperbarui setiap jam, dan perlu mengklasifikasikannya menggunakan beberapa bagan, dan Anda
melakukannya proses yang sama beberapa kali sehari. Tidak diragukan lagi, Makro yang baik akan berguna.
Proses untuk mendapatkan Makro apa pun, sama dengan yang telah kami ikuti. Hanya ada satu
hal penting untuk dipertimbangkan saat membuatnya, yaitu memilih antara menggunakan Referensi
Referensi Relatif
Setelah Anda mengkliknya, itu tetap aktif sampai Anda mengkliknya lagi. Ini digunakan untuk
merekam makro di mana proses harus diterapkan ke rentang yang berbeda, bukan yang sudah
ditetapkan.
Fungsionalitasnya sangat berguna. Makro yang direkam tanpa referensi relatif akan selalu
mengulangi proses pada sel yang sama yang digunakan saat direkam. Namun jika Anda
menggunakan referensi relatif, makro akan dijalankan dari sel aktif. Menggunakan contoh di atas,
bagaimana jika Anda memerlukan tanggal yang ditulis pada sel F4:H4, bukan B2:D2? Satu-satunya
hal yang harus Anda lakukan adalah memilih F4 dan menjalankan Makro. Atau pilih sel yang Anda
butuhkan dan jalankan. Tapi Anda perlu merekam Makro menggunakan Referensi Relatif, lalu pilih
Menjalankan Makro
Ada banyak cara untuk menjalankan Makro. Mari kita lihat yang pertama: Jalankan yang ini dengan
Mungkin ini tidak sepraktis yang kami harapkan, namun kami akan menambahkan lebih banyak
Setelah Anda menambahkan beberapa Makro ke lembar kerja Anda dan mencoba menyimpannya,
Ini mungkin sedikit rumit, karena kebanyakan orang akan berusaha menyimpan file tanpa membaca
pemberitahuan ini:
Fitur berikut ini tidak dapat disimpan di buku kerja bebas makro:
° Proyek VBA
Untuk menyimpan file dengan fitur ini, klik Tidak, lalu pilih file dengan dukungan makro di daftar Jenis File.
Untuk melanjutkan menyimpan sebagai buku kerja bebas makro, klik Ya.
Kebanyakan orang hanya akan mengklik Ya, dan menurut pesan ini mereka tidak akan menyimpan
file dengan Makro mereka, tetapi sebagai Makro gratis. Itu akan membuat Anda kehilangan semua
Untuk menyimpan Macro, klik saja No pada pesan di atas, lalu pilih save as
Setelah Anda membukanya lagi, Anda akan melihat pesan yang mengatakan bahwa Makro
telah dinonaktifkan, dan Tombol yang mengatakan Aktifkan Makro. Klik di atasnya dan tidak
akan ada masalah lebih lanjut. Jika Anda tidak mengkliknya, Anda tidak akan dapat bekerja
Kuis 2
Machine Translated by Google
b) Anda akan mendapatkan notifikasi, di mana kami harus ditolak dan kemudian
Machine Translated by Google
c) Anda akan mendapatkan pemberitahuan, di mana kami akan diberi tahu bahwa kami sedang
menyimpan buku kerja yang mendukung Makro, lalu terima saja untuk menyimpan.
Machine Translated by Google
BAGIAN 3
2.-Dalam prosesnya pilih sel A1, tulis angka 1, dan tekan enter.
3.-Berhenti Merekam.
Di sebelah tombol Rekam Makro, ada satu lagi yang disebut Visual Basic.
Range("A1").Pilih
ActiveCell.FormulaR1C1 = "1"
Range("A2").Pilih
Selamat, Anda memiliki beberapa Kode Visual Basic sekarang. Ini berarti beberapa pesanan:
Pilih Sel A1
Tulis nomor 1
Pilih Sel A2
Persis seperti yang kami lakukan. Tapi sekarang, kita akan mengedit kode agar Makro melakukannya
Machine Translated by Google
Kalau kita lihat, ada polanya, yaitu: pilih, tulis, pilih. Jadi, kita bisa melanjutkan
polanya dengan menambahkan beberapa hal lagi secara langsung, seperti ini:
Range("A1").Pilih
ActiveCell.FormulaR1C1 = "1"
Range("A2").Pilih
ActiveCell.FormulaR1C1 = "2"
Range("A3").Pilih
ActiveCell.FormulaR1C1 = "3"
Range("A4").Pilih
Sekarang setelah Anda menambahkan ini, jalankan makro, tetapi sekarang Anda akan melihat
cara kedua untuk menjalankannya. Tekan tombol hijau di atas kode. Setelah Anda mengkliknya
pergi ke Excel Spreadsheet dengan mengklik simbol Excel. Anda akan melihat bahwa sel
A1:A3 diisi dengan angka yang kita tulis dan Sel A4 dipilih.
Machine Translated by Google
Ini mungkin terlihat sangat rumit, dan memang seperti itu karena manusia biasa melakukan hal-hal
yang tidak dapat dilakukan oleh mesin. Saya harus memilih sel A1, A2, A3 dan seterusnya. Tetapi
Rentang("A1") = 1
Rentang("A2") = 2
Rentang("A3") = 3
Itu dia! Excel dapat melewati langkah-langkah yang tidak dapat dilakukan manusia. Jadi, itu membuatnya jauh lebih
Sekarang, saya pikir jika saya perlu mengikuti pola ini sampai A100 akan menjadi
keras. Apa yang harus saya lakukan?
Rentang("A1:A100") = 1
Ups! Itu menambahkan angka 1 ke semua sel dari A1 hingga A100. Mari kita coba
hal lain:
Rentang("A1:A100") = 1 + 1
Ia menambahkan nomor dua sebagai gantinya. Jadi, Bagaimana cara memberi tahu Excel bahwa saya ingin
Ada beberapa cara. Salah satunya adalah merekam Makro dan selama proses
menambahkan angka 1 ke sel A1, lalu tahan klik kanan pada kotak kecil dan gulir ke
bawah hingga Anda memilih A100. Pilih seri isian. Pergi ke Visual Basic dan Anda akan
lihat kode seperti ini:
Range("A1").Pilih
ActiveCell.FormulaR1C1 = "1"
Selection.AutoFill Destination:=Range("A1:A100"),
Type:=xlFillSeries
Range("A1:A100").Pilih
Machine Translated by Google
Berhasil! Saya pikir kami sudah memiliki ide bagus tentang cara mendapatkan kode VBA yang
kami inginkan. Rekam Makro, dan itu dia. Namun, ada banyak fungsi yang tidak dapat ditawarkan
oleh Macro. Misalnya mengisi sel secara berurutan sesuai dengan angka yang tertulis di sel B2,
dan setelah berubah isi kembali urutan sesuai dengan angka tersebut. Jadi kalau ada angka 1
diisi satu per satu, kalau saya ganti lima jadi lima lima dan seterusnya. Bagaimana Anda akan
merekamnya di Makro? Bagaimana jika itu bukan hanya mengisi urutan, tetapi masalah
Keuangan, bekerja dengan bilangan real dan Anda perlu menyelesaikan masalah
secepat ini?
Merekam Makro tidak selalu cukup, tetapi dalam banyak kasus, ini membantu.
Aplikasi Visual Basic (VBA) adalah bahasa pemrograman, tetapi tidak perlu mengetahui
kode VBA atau pemrograman komputer jika Perekam Makro melakukan apa yang Anda
inginkan.
Anda harus tahu bahwa saat Anda merekam Makro, makro bahkan merekam
kesalahan Anda, dan akan mengulanginya saat Anda menjalankannya. Jika Anda ingin
Ingatlah bahwa merekam Makro yang baik atau menulis kode VBA yang baik, akan
membuat Excel berjalan dengan lancar. Jika tidak, Anda dapat mengharapkan pesan
Kami akan fokus pada hal-hal yang tidak dapat Anda lakukan hanya dengan menggunakan makro yang
direkam. Jadi, Anda dapat mempelajari seberapa kuat Visual Basic for Applications di Microsoft Excel.
Kami memiliki beberapa Macro yang direkam sekarang. Tetapi kami melihat bahwa untuk menjalankannya tidak demikian
itu praktis, jadi bagaimana jika kita menambahkan tombol, dan setiap kali kita menekannya
makro berjalan?
Untuk melakukannya, klik tombol sisipkan di TAB Pengembang. Anda akan melihatnya
menampilkan dua kotak, yang disebut kontrol formulir dan Kontrol ActiveX. Mari pilih Tombol
Kontrol Formulir, lalu di mana pun Anda inginkan di spreadsheet, tahan dan seret untuk
membuat ukuran tombol. Setelah Anda berhenti menahan, Anda akan melihat jendela baru di
mana Anda dapat memilih Makro yang ingin dijalankan oleh Tombol. Pilih dan selesai.
Jika Anda ingin mengubah nama tombol cukup klik dua kali secara perlahan atau klik kanan,
edit teks. Untuk memindahkan posisi tombol, cukup klik kanan, lalu tahan dan seret dengan klik
kiri.
Mari tambahkan Tombol ActiveX. Untuk melakukan ini di TAB Pengembang, klik Sisipkan,
lalu pilih Tombol ActiveX. Tahan dan seret untuk membuat tombol di spreadsheet. Tombol
semacam ini sangat berbeda dengan Tombol Bentuk, karena tombol ini bekerja langsung
dengan VBA.
Machine Translated by Google
Mari tambahkan beberapa fungsionalitas yang tidak dapat dilakukan hanya dengan menggunakan
Macro. Kami ingin tombol itu membuat urutan angka sesuai dengan nilai yang dimasukkan di sel B2.
Maksud saya, jika saya menambahkan angka 1 maka saya akan melihat polanya satu per satu. Jika saya
menulis 5, maka akan menjadi lima kali lima, dan seterusnya, dari A1 ke A100.
Variabel adalah suku aljabar, yang biasanya diwakili oleh huruf dan nilainya bervariasi, misalnya x + y
= 10, dalam persamaan ini ada dua variabel, X dan Y. Mereka dapat bervariasi hingga sama dengan
10. Jika X = 5 dan Y = 5 maka x+y=10 , dan benar juga jika X= 8 dan Y=2, karena X+Y= 8+2 = 10.
Dll.
Di VBA kami juga mendeklarasikan variabel. Dalam hal ini kami akan menambahkan beberapa
Ini adalah sebagian besar jenis variabel, periksa dan lihat ukuran dan jangkauan penyimpanannya
sekarang:
Varian
16 byte Setiap nilai numerik hingga kisaran Double ( dengan angka)
Varian 22 byte + Kisaran yang sama seperti untuk String dengan panjang variabel
panjang
(dengan karakter) string
Dalam tabel ini, kita melihat bahwa setiap variabel memiliki rentang yang berbeda,
beberapa lebih besar dari yang lain, dan pada saat yang sama ukuran penyimpanannya
juga bervariasi. Unit memori terkecil yang tersedia disebut byte, dan menurut tabel ini
mulai dari angka 0 hingga 255.
1. Aktifkan Tombol Mode Desain, yang berada di sebelah Tombol Sisipkan di TAB
Pengembang.
Akhir Sub
Sekarang mari kita tulis beberapa kode di antara baris yang kita lihat:
X=1
Y = Rentang("B1")
Melakukan
X=X+1
Y = Y + Jangkauan("B1")
Akhir Sub
Dim mendeklarasikan variabel, Jadi, dikatakan bahwa X adalah variabel yang akan digunakan
dengan angka dari 0 hingga 255, karena “Byte” hanya menerima rentang tersebut sesuai
X=1
Y=Rentang(“B1”)
Melakukan
Kita sudah mendeklarasikan X sebagai variabel dengan nilai 1. Jadi, Range AX berarti
Range(“A1”)=Y, dan Y adalah Range (“B1”). Jika saya menjumlahkan angka 5 dengan B1, maka Y =
X=X +1
Artinya X=1+1 karena pada saat itu X=1, jadi akhirnya X=2. Lain kali proses ini berulang, itu akan
menjadi X=X+1 lagi, tapi kali ini X=2, jadi akhirnya X=3, karena X=2+1, dan seterusnya.
Y = Y + Jangkauan("B1")
Ini akan mengikuti proses yang sama seperti langkah terakhir, tetapi dengan nilai yang ditambahkan
dalam Range("B1") yang akan kita tambahkan. Jika B1 ada 5, maka akan ditambah 5 lagi, mengikuti
Artinya proses yang sama antara Do dan LOOP akan berulang sampai
X=101.
Akhir Sub
Tambahkan angka 1 ke sel B1 dan tekan tombol. Anda akan melihat bahwa itu mengisi sel dari
A1 ke A100 satu per satu. Cobalah dengan dua, dan Anda akan melihat bahwa itu bertambah
dari A1:A100 dua per dua. Terakhir tambahkan angka 3 dan tekan
tombol.
Selamat! Anda telah menemukan bug pertama Anda! Itu adalah luapan.
Bug adalah kesalahan ketika seseorang menulis kode yang salah. Dalam contoh kita kode
bekerja dengan baik dengan angka dari 0 sampai 255 saja, dan setelah kita meminta file untuk
pergi 3 kali 3 seratus kali kita mengharapkannya dari 3 sampai 300, yang lebih dari 255, sehingga
menyebabkan meluap.
Untuk memperbaikinya, kami memiliki dua opsi, kami meningkatkan nilai variabel atau kami membiarkan
mengubahnya dari byte (0 menjadi 255) menjadi bilangan bulat (-32.768 menjadi 32.767). Akan
sangat bagus jika kami cukup yakin bahwa kami tidak akan bekerja dengan jumlah yang lebih tinggi
Machine Translated by Google
32.767, atau bahkan mengubahnya menjadi "panjang" dari -2.147.483.648 menjadi 2.147.483.647.
Akan sangat bagus untuk bekerja bahkan dengan jutaan, tetapi mari kita bayangkan seseorang
perlu memasukkan miliaran ke dalam B1. Dalam hal itu bahkan variabel panjang tidak akan cukup.
Jadi, cara terbaik untuk menyelesaikan ini adalah jangan mendeklarasikan variabel dan meninggalkan
X=1
Y = Rentang("B1")
Melakukan
X=X+1
Y = Y + Jangkauan("B1")
Akhir Sub
Atau mendeklarasikan nilai sebagai Varian, yang memungkinkan angka atau huruf apa saja.
X=1
Y = Rentang("B1")
Machine Translated by Google
Melakukan
X=X+1
Y = Y + Jangkauan("B1")
Akhir Sub
Mungkin Anda bertanya-tanya mengapa mendeklarasikan variabel sebagai byte atau integer, dll. Jika
Excel dapat menambahkannya secara otomatis seperti pada contoh yang telah kita lihat?
Jawabannya sederhana dan penting untuk diketahui. Ingatlah bahwa variabel sebagai byte menyimpan
dalam Memori RAM hanya 1 byte, yang merupakan jumlah memori terkecil yang mungkin di Excel,
tetapi varian yang dideklarasikan sebagai varian menyimpan setidaknya 22 byte. Jika kita tidak
mendeklarasikan nilai yang kita yakin tidak akan menambahkan lebih dari nilai yang dibutuhkan, itu
akan menghabiskan lebih banyak RAM, itu akan menyebabkan program berjalan lambat dalam tugas
Misalnya, saya perlu mendeklarasikan 1000 variabel sebagai byte. Ini akan mengkonsumsi 1 Kilobyte
RAM saja.
Tapi Secara default, jika Anda tidak menyediakan tipe data, variabelnya dideklarasikan sebagai
Tipe data varian , yang mengkonsumsi 22 byte + panjang string, adalah panjang string
untuk surat.
Jadi, 1000 variabel yang tidak dideklarasikan akan secara otomatis dideklarasikan sebagai varian, dan
akan menghabiskan 22 kilobyte. Ini adalah 21 kilobyte kosong, yang merupakan 95% dari
Machine Translated by Google
tidak tersedia ruang dan tidak digunakan sama sekali jika kami membutuhkannya sebagai byte. Jika
Anda akan memprogram di VBA dan ingin program Anda berjalan dengan lancar, lebih baik Anda
mempelajari variabel apa yang akan dideklarasikan. Jika tidak, mungkin akan memakan waktu lama
Mungkin, salah satu masalah terbesar tentang tidak mendeklarasikan Variabel adalah membuat
bug, karena kita hanya mengetik sesuatu yang salah. Mari kita buat contoh sederhananya.
variabelku = 200
myrange = 1
variabelku = variabelku + 1
jangkauanku = jangkauanku + 1
Lingkaran
Machine Translated by Google
Akhir Sub
Seperti yang Anda lihat, ini adalah kode yang sangat mirip dengan yang kami lakukan sebelumnya. Itu harus berhenti
setelah variabel saya sama dengan 300, tetapi terus berlanjut. Dapatkah Anda melihat masalahnya?
Jika tidak, jalankan kode. Anda akan melihat bahwa itu akan melampaui 300, dan praktis tidak akan berakhir, atau
setidaknya sampai tidak ada lagi file. Di Excel 365 total file yang tersedia adalah 1048576, sehingga akan sampai
kesalahan.
Jika Anda tidak ingin menunggu sampai itu, Tekan Tombol ESC yang akan menghentikan eksekusi kode lalu tekan
Tombol Akhiri.
Nah, masalahnya adalah kita melewatkan satu huruf saja dari sebuah variabel. Kami menamakannya myvariable
tetapi saat coding kami melewatkan huruf L : Lakukan Hingga myvariabe. Excel mengidentifikasi myvariable dan
myvariabe sebagai dua variabel berbeda, dan secara otomatis menetapkannya sebagai tipe Variant.
Apa yang akan terjadi jika kode Anda memiliki banyak kode? Untuk menemukan masalah, Anda harus
melihat semua kode Anda untuk menemukan huruf yang Anda lewatkan! Seperti yang Anda lihat, itu akan
menjadi masalah besar! Itu sebabnya Microsoft Excel memiliki opsi yang disebut Memerlukan Deklarasi Variabel.
Machine Translated by Google
Itu tidak akan membiarkan Anda menulis apa pun yang bukan kode atau variabel yang dideklarasikan.
1.Visual Basic
2. Tab Alat
3. Opsi
5. Oke.
Itu akan menambahkan sesuatu di atas kode, yang bertuliskan Option Explicit. Namun,
Anda tidak akan melihat perubahan itu hingga Anda memulai proyek baru, menyisipkan
modul, atau menulisnya sendiri. Itulah mengapa penting untuk selalu memulai proyek baru
dengan opsi ini diaktifkan.
Dalam hal ini, tambahkan Option Explicit secara manual di atas kode.
Opsi Eksplisit
variabelku = 200
myrange = 1
variabelku = variabelku + 1
jangkauanku = jangkauanku + 1
Machine Translated by Google
Lingkaran
Akhir Sub
Anda akan melihat bahwa itu secara otomatis menampilkan pesan yang mengatakan Variabel
Tidak Ditentukan dan bahkan menyoroti masalahnya. Jadi, Anda dapat melihat bahwa ini akan
Kinerja APLIKASI
Sekarang, bayangkan Anda benar-benar perlu mengisi satu per satu semua sel dari A1 hingga
A1048576, dan itu adalah salah satu fungsi yang harus dilakukan oleh aplikasi Anda.
Hampir selalu Pengembang khawatir tentang membuat Aplikasi yang berjalan cepat.
Di Excel tidak terkecuali. Coba jalankan kode berikut dan lihat berapa lama untuk mengisi semua kolom
A dengan angka:
Redupkan X Selama
X=1
X=X+1
Lingkaran
MsgBox "Selesai"
Machine Translated by Google
Akhir Sub
Jika sudah selesai maka akan muncul pesan bertuliskan “Finished”. Ini mungkin akan memakan
waktu sekitar 5 menit, mungkin kurang atau lebih tergantung pada kinerja komputer Anda. Anda
mungkin akan melihat Excel mengatakan bahwa itu tidak merespons, tetapi dalam banyak kasus
Cara yang baik Pengembang VBA membuat Aplikasi berjalan lebih cepat, adalah dengan
menonaktifkan Pembaruan Layar. Setiap perubahan yang dilakukan Excel seharusnya kita
melihatnya. Tapi, jika kita tidak ingin melihatnya, itu pasti akan meningkatkan kinerjanya.
Redupkan X Selama
Pada Kesalahan Ke A
Application.ScreenUpdating = Salah
X=1
X=X+1
Lingkaran
A:
MsgBox "Selesai"
Akhir Sub
Jalankan dan hitung berapa lama, lalu bandingkan seberapa cepat cara ini. Jangan
Machine Translated by Google
lupa untuk menghapus Kolom A sebelum Anda mulai. Anda harus melihat perbedaan
besar! Pembaruan layar adalah alat yang hebat ketika perlu meningkatkan kinerja Aplikasi.
Anda harus memperhatikan bahwa tidak mungkin melakukan apa pun, atau setidaknya Anda
tidak akan melihatnya, karena screenudating = false mematikan perubahan visibilitas. Jadi, ketika
Application.ScreenUpdating = True di akhir kode Anda, dan bahkan lebih baik sebagai cadangan
Redupkan X Selama
Pada Kesalahan Ke A
Application.ScreenUpdating = Salah
X=1
X=X+1
Lingkaran
A:
Application.ScreenUpdating = True
MsgBox "Selesai"
Akhir Sub
Machine Translated by Google
MSGBOX
Seperti yang Anda lihat pada kode di atas, ini menampilkan pesan yang mengatakan "Selesai". Kami
dapat melakukan lebih dari itu!
Salah satu pesan itu juga dapat mengeksekusi kode! Lihat tabel di bawah ini:
Konstan Nilai
vbOK 1
vbCancel 2
vbBatalkan 3
vbRetry 4
vbIgnore 5
vbYa 6
vbNo 7
Itu adalah jenis pesan yang dapat Anda tampilkan, dan setelah Anda mengkliknya, itu
akan mengembalikan nilainya sesuai dengan tabel di atas.
X = MsgBox("Ini Tubuhnya",
vbYesNoCancel, "Ini judulnya")
MsgBox X
Akhir Sub
Machine Translated by Google
Ini akan menampilkan kotak pesan dengan tombol Ya, Tidak, dan Batal. Setelah Anda mengklik tombol apa
saja, X akan mengambil nilai itu dan akan menampilkannya di MsgBox berikutnya.
Jadi, jika Anda mengklik Ya, Anda akan melihat angka 6, dan jika Anda mengklik Tidak, Anda akan melihatnya
lihat nomor 7.
Ini adalah keuntungan besar, karena kami dapat menanyakan apakah pengguna ingin melanjutkan atau
tidak, dll.
Kami melihat bahwa setelah kami menambahkan msgbox, kami juga dapat membuat pesan peringatan,
atau informasi, atau kritis, dll. Mari gabungkan satu kode di bawah ini, sehingga kami dapat mengetahui
cara melakukannya:
X = MsgBox("Saya akan memberi tahu Anda tombol yang Anda tekan", vbYesNoCancel + vbExclamation,
Jika X = 2 Maka
ElseJika X = 6 Maka
Kalau tidak
Berakhir jika
Akhir Sub
Ini akan memberi tahu Anda tombol yang Anda tekan. Artinya, jika Anda dapat
mengetahui tombol apa yang ditekan maka Anda dapat mengontrol tindakan berdasarkan
X = Rentang("A1")
Jika X = 5 Maka
ElseJika X = 6 Maka
ElseJika X = 7 Maka
ElseJika X = 8 Maka
Kalau tidak
Berakhir jika
Machine Translated by Google
Akhir Sub
Jadi "jika" membuat kondisional, "elseif" dicentang jika kondisi pertama tidak terpenuhi, dan
akan memeriksa "elseif" sebanyak yang Anda tambahkan hingga satu kondisi terpenuhi. "Lain"
akan dijalankan jika ada kondisi yang tidak terpenuhi. Jadi, jika kita tidak menambahkan angka
dari 5 sampai 8, kita akan melihat pesan yang mengatakan “Ada nilai lain”, tetapi jika kita
memasukkan angka 8, maka kita akan melihat pesan yang mengatakan Ada angka
8.
If, elseif dan else sangat mirip dengan jenis kode lain yang disebut Select Case, Case, dan Case
Else Namun, yang ini lebih efisien daripada IF dalam beberapa kasus. Mari lakukan hal yang
X = Rentang("A1")
Kasus 5 Sampai 8
Kasus Lain
Akhiri Pilih
Akhir Sub
Yang terakhir ini menempati lebih sedikit kode. Itu lebih mudah dan lebih baik. Anda dapat
melakukan hal yang hampir sama tetapi terserah Anda mana yang ingin Anda gunakan.
Machine Translated by Google
Kuis 3
BAB 4
Proyek: Membuat Kalkulator Sederhana menggunakan
ActiveX
Kita akan membuat kalkulator sederhana terlebih dahulu. Setelah proyek ini
selesai, kami akan membuat yang lebih canggih. Untuk melakukannya, kami perlu mengetahui
hal-hal berikut:
Saat kami mulai menulis kode VBA, biasanya kami akan mulai menulis di Sheet1. Namun,
untuk memahami Modul, Prosedur Privat, dan Publik, kami akan membuat kalkulator visual.
Pertama, kami akan melakukannya di spreadsheet, lalu kami akan melakukannya sebagai
program nyata.
Modul, adalah sesuatu seperti Kotak, di mana kita menambahkan beberapa kode untuk dijalankan saat
kita "memanggilnya". Untuk memahami cara kerjanya, kami akan membuat kalkulator menggunakan a
beberapa Modul.
Pertama, tambahkan tombol ActiveX berikut pada spreadsheet di atas meja seperti yang
ditunjukkan pada gambar. Untuk menambahkan simbol yang sesuai ke setiap tombol, tidak
Machine Translated by Google
seperti yang kami lakukan pada Tombol Formulir. Dalam hal ini kita harus mengklik
Tombol Desain Lainnya, yang ada di TAB pengembang, lalu klik kanan pada setiap tombol
dan Anda akan melihat sesuatu seperti gambar di bawah ini, di mana kita melihat sesuatu
yang disebut "Nama". Kebanyakan orang akan berpikir bahwa di sanalah kita dapat
menambahkan simbol yang benar untuk dilihat, tetapi itu salah. Excel mengidentifikasi
Tombol dengan nama itu. Bayangkan Anda memiliki beberapa tombol dengan + sebagai
namanya. Bagaimana Excel atau Anda mengidentifikasi mana yang benar? Jadi, setiap
tombol akan memiliki nama yang berbeda, mari tambahkan yang bagus yang memberi tahu
kami seperti apa fungsinya. Dalam contoh yang saya tulis cmdAddition. Ini memberi tahu saya bahwa itu berla
Pada gambar di atas, Anda akan melihat bahwa ada properti bernama Caption. Di situlah
Anda bahkan dapat bermain sedikit dengan opsi lain, seperti Backcolor, Font, Height, dan bahkan
menambahkan gambar. Saya membiarkan semua opsi sebagaimana adanya secara default.
Setelah Anda mengulangi proses untuk semua tombol, mari kita mulai dengan langkah
1. Buka Visual Basic melalui TAB Pengembang. Secara default Anda akan melihat sesuatu
seperti ini:
2. Klik "View TAB" dan pilih "Properties Window". Kami akan selalu sering menggunakan
jendela ini. Sekarang Anda akan melihat sesuatu seperti yang ditampilkan di dalam kotak
merah:
Machine Translated by Google
3. Mari tambahkan Modul pertama kita. Klik Sisipkan TAB, lalu Modul.
4. Anda akan melihat Folder Baru yang Disebut "Modul" dengan file yang disebut
"Modul 1":
5. Pilih dan di Jendela Properti Ubah namanya menjadi Penambahan, lalu ulangi
prosesnya hingga Anda telah membuat Modul untuk Minus,
Pembagian dan Waktu.
7. Anda akan melihat bahwa ini menampilkan seluruh lembar kosong. Kita perlu menambahkan a
Prosedur! Untuk melakukannya, klik Sisipkan TAB, lalu Prosedur. Itu akan
Machine Translated by Google
tampilkan jendela seperti ini, tambahkan nama dan biarkan opsi default:
11. Itu menampilkan kesalahan yang mengatakan: Penggunaan atau Properti tidak valid.
Mungkin karena kita belum menambahkan angka di sel A2 dan B2. Tambahkan
Selamat datang di bug kedua Anda! Masalahnya di sini adalah masalah yang sangat biasa.
Kami meminta Excel bahwa sel A2 + B2 sama dengan C2, bukan C2 sama dengan A2 + B2.
Masalah ini hanyalah masalah pesanan. Sebaiknya jangan lupakan peraturan ini!!
Selalu tambahkan dulu sel yang ingin Anda ubah, lalu tambahkan nilai yang Anda
OKE! Berhasil!
Jika Anda melihat garis kuning yang tidak memungkinkan Anda menjalankannya, cukup klik berhenti,
Sekarang Anda akan melihat bahwa di sel C2 kita menemukan hasil dari A2+B2.
Mari selesaikan modul lainnya dengan mengulangi proses yang benar di atas. Menambahkan
kode-kode ini untuk melakukannya:
Modul Minus:
Machine Translated by Google
Akhir Sub
Modul Divisi:
Akhir Sub
Modul Waktu:
Akhir Sub
1. Buka spreadsheet
3. Klik dua kali setiap tombol. Anda akan melihat bahwa setiap kali Anda melakukannya, itu
Sekarang, mari kita lakukan proses yang disebut "Memanggil". Untuk melakukannya,
cukup tulis setiap Modul di antara baris yang sesuai:
Tambahan
Akhir Sub
Divisi
Akhir Sub
Minus
Akhir Sub
Waktu
Akhir Sub
Dikatakan bahwa itu tidak mengharapkan Modul, tetapi Variabel atau Prosedur.
Masalah dalam bug ini adalah Modul dan Prosedur dalam contoh ini disebut sama dan itu
adalah kesalahan besar. Tidak ada yang harus memiliki nama yang sama saat memprogram!
Machine Translated by Google
Mari kita perbaiki dengan cepat. Tambahkan saja secara manual kali ini nomor 1 setelah
Akhir Sub
Anda juga harus mengubah kode tertulis di Sheet1. Tambahkan saja yang baru saja kita tambahkan
Tambahan1
Akhir Sub
Divisi1
Akhir Sub
Minus1
Akhir Sub
kali1
Akhir Sub
Coba sekarang dengan menekan setiap tombol dan lihat apakah berhasil!
Besar!!
Kita seharusnya memiliki gagasan yang jauh lebih baik tentang Modul dan Prosedur.
Kami akan selalu menggunakannya. Namun, mungkin Anda memperhatikan bahwa beberapa di antaranya
Apa artinya?
PUBLIK artinya prosedur tersebut dapat dipanggil dari mana saja. Anda bahkan akan
melihat bahwa semuanya bahkan ada dalam daftar Macro, tetapi yang mengatakan
PRIVATE tidak.
Coba maknanya dengan mengubah satu atau dua Modul saja, ubah kata Publik
menjadi Pribadi, dan coba jalankan.
Machine Translated by Google
Karena itu Pribadi, tidak dapat menemukannya. Mari ubah kata Pribadi kembali menjadi Publik,
Jadi, yang Privat tidak bisa dipanggil, yang Publik bisa dipanggil, bahkan dari daftar Macro.
Dengan kata lain, Privat tidak bisa ditautkan, tapi Publik bisa.
Kami telah melihat fungsi paling dasar dari VBA. Anda harus memiliki ide bagus tentang VBA
sekarang. Namun, mari kita lakukan sesuatu yang jauh lebih profesional: Kalkulator sungguhan.
Menambahkan Surat?
Sebelum kita memulai kalkulator lainnya, lakukan percobaan ini yang menarik untuk
Anda ketahui, sekaligus sangat berguna. Di kalkulator terakhir yang kami buat, coba
Anda akan melihat bahwa Anda dapat menambahkan huruf!! A+A=AA!!?? Seharusnya tidak berfungsi
Kuis 4
a) Ini berarti dapat dipanggil dan dieksekusi dari bagian manapun dari
Buku kerja
BAB 5
Proyek: Kalkulator menggunakan Formulir
Machine Translated by Google
Tinjauan
Kali ini kita akan menggunakan lebih banyak fungsi Visual Basic for Applications.
1. Pilih Variabel yang benar untuk menghindari bug dan menjalankan program
lancar.
2. Tulis kode dengan urutan yang benar, jika tidak maka akan menghasilkan bug.
3. Jangan pernah mengulangi nama apapun dalam sebuah program. Semuanya harus diidentifikasi
4. Semoga Anda memperhatikan huruf biru. Itu adalah kode bawaan yang digunakan oleh Excel VBA.
Jangan menghapusnya atau mengubahnya tanpa pengetahuan, atau itu akan menghasilkan
kesalahan.
5. TIP: Selalu tambahkan nama menggunakan setidaknya Modal, dan saat Anda menelepon
mereka menulis nama mereka menggunakan huruf kecil. Anda akan melihat bahwa dengan
menggunakan cara ini Anda akan terhindar dari kesalahan pengetikan, karena jika Anda menulisnya
dengan benar maka akan menambahkan Kapital secara otomatis, jika tidak maka akan tetap sama.
6. Terus-menerus mencoba kode baru yang Anda tulis, sehingga Anda akan yakin itu benar
7. Tambahkan komentar yang cukup untuk memberi tahu Anda apa yang dilakukan kode Anda jika
Anda perlu meninjau apa pun di masa mendatang. Kita akan belajar bagaimana melakukannya.
FORMULIR
Visual Basic for Applications di Excel memiliki fitur yang sangat menarik bernama
Machine Translated by Google
Bentuk-bentuk aplikasi visual yang bisa kita buat seperti yang kita lihat di awal
buku ini. Begitulah cara kita membuat kalkulator.
4. Bentuk pengguna.
Itu adalah bentuk pengguna. Kali ini akan digunakan untuk membuat Kalkulator. Pertama, Anda
melihat Kotak bernama "Kontrol" dengan beberapa opsi di dalamnya. Kami akan menggunakannya
hampir sepanjang waktu, jadi jangan ditutup. Jika Anda melakukannya, Anda dapat membukanya
Jangan tutup juga properti Userform. Ini akan menjadi alat utama
kami akan menggunakan untuk proyek ini, dan Dalam hal ini, kami bahkan tidak akan menyentuh
Excel Spreadsheet.
Keterangan: Kalkulator
Tinggi: 260
Lebar: 200
Setelah dipilih, klik di sisi atas formulir, tahan dan seret untuk membuat persegi panjang
yang akan menjadi layar kalkulator kita.
Machine Translated by Google
Sekarang, pilih label, dan ubah namanya di properti. Beri Nama Tampilan.
Setiap kali Anda menambahkan tombol baru, pastikan untuk menambahkannya dengan ukuran sebagai berikut:
Tinggi: 30
Lebar: 36
TIP: Buat satu saja, lalu salin dan tempel semua tombol yang Anda perlukan. Tempatkan
mereka dalam urutan yang benar, lalu pastikan untuk menambahkan setiap tombol dengan info
berikut:
Nama Keterangan
CmdDel Del
CmdCE CE
Machine Translated by Google
CmdPersen %
CmdTimes *
CmdDivision /
CmdAdd +
CmdMinus -
=
CmdSama dengan
Cmd1 1
Cmd2 2
Cmd3 3
Cmd4 4
Cmd5 5
Cmd6 6
Cmd7 7
Cmd8 8
Cmd9 9
CmdDot .
Cmd0 0
Cmd00 00
Besar!
Setelah kami memiliki desain kalkulator dan namanya dengan benar, kami dapat menjalankannya
dan mengklik setiap tombol. Anda akan melihat bahwa itu tidak melakukan apa-apa, karena
kami belum memberi tahu Excel apa yang harus dilakukan dengannya. Excel tidak tahu apakah saya menginginkannya
formulir untuk Prank atau hal lainnya. Jadi, mari tambahkan kode ke setiap tombol.
Machine Translated by Google
Akhir Sub
Tampilan.Keterangan = cmd1.Keterangan
4. Jalankan formulir.
tidak menambahkan lebih dari satu nomor 1!! Jika ini akan menjadi kalkulator, kita
Masalahnya di sini adalah kode mengatakan Caption of the Display (yang kami biarkan kosong),
sama dengan caption cmd1, yang merupakan nomor 1 dan persis seperti yang dilakukannya.
Jadi, untuk mengatasi masalah ini kita harus menyuruhnya menambahkan angka 1 setelah angka 1,
dan seterusnya.
Mungkin Anda mendapatkannya sekarang. Persis seperti yang kami lakukan hampir di awal buku
ini. Apakah Anda ingat ketika kita membuat sel meningkatkan nilainya sesuai dengan angka yang
Jika Anda ingin memeriksanya untuk meninjau, buka Variabel, Lakukan, dan Ulangi. Di halaman
11.
Artinya X = X + 1 atau dengan kata lain Display.caption akan menambah nilai tersendiri ditambah
tidak masuk akal dalam matematika, namun, apakah Anda ingat ketika kami menambahkan huruf
ke proyek kalkulator terakhir kami? Menurut kalkulator itu A + A = AA, jadi di sini 1 + 1 = 11. Untuk
membuatnya lebih jelas, jika Anda mengetik tombol satu itu akan menjadi 1 = 1 = 1 maka misalkan
Anda mengetik nomor dua. Ini akan menjadi 1= 1 +2 = 12, sekarang kamu ketik angka 7: 12 = 12
Akhir Sub
Mari ulangi proses untuk semua angka dan simbol, dengan mengklik dua kali pada setiap
tombol dan setelah menambahkan beberapa kode secara otomatis, tulis baris kode yang benar
di antara keduanya, lihat kode berikut agar Anda memiliki ide yang lebih baik:
Akhir Sub
Akhir Sub
Machine Translated by Google
Akhir Sub
Akhir Sub
Akhir Sub
Akhir Sub
Akhir Sub
Akhir Sub
Akhir Sub
Akhir Sub
Akhir Sub
Akhir Sub
Akhir Sub
Akhir Sub
Akhir Sub
Akhir Sub
Akhir Sub
Semua kode ini akan membuat kita melihat setiap angka dan simbol di layar.
Tombol sama, Del dan CE adalah yang tidak kami lihat tertulis di layar kami, dan akan memberi
Itu harus membersihkan atau menghapus semua layar. Yang ini sangat mudah, ini adalah
kode:
Tampilan.Keterangan = Kosong
Akhir Sub
Artinya persis seperti yang dijelaskan pada kode yang sama. Pajangan
Itu harus dihapus satu per satu, dari angka terakhir yang telah kita tambahkan.
Bagaimana Anda melakukannya? Mungkin, jika Anda sedang belajar VBA, Anda seharusnya
sudah mengetahui Rumus Excel. Jadi, cobalah untuk mencari tahu bagaimana melakukan itu.
Jika Anda kesulitan dengan itu, saya akan memberi Anda jalan pintas:
Di bawah)
-1 Ini akan mengurangi satu dari total huruf atau angka len().
Hasilnya ditampilkan di atas. Jelas, jadi apa yang terjadi jika kita mengulangi proses tersebut
seperti A1 di bawah)
Jadi, itu melakukan apa yang harus dilakukan tombol DEL. Kami membutuhkan itu setiap kali kami mendorong
pada tombol itu hanya menghapus huruf atau angka terakhir yang ditambahkan, seperti yang dilakukan
rumus ini. Kemudian, kita memerlukan tombol untuk menerapkan rumus ini. Bagaimana melakukannya di
VBA?
Pertama, klik dua kali pada tombol dan tambahkan kode berikut:
X = Len(Tampilan.Keterangan) - 1
Y = Tampilan.Keterangan
Tampilan.Keterangan = Kiri(Y, X)
Itu dia!! Kami baru saja menambahkan dua variabel dan menggunakannya dalam
urutan yang sangat sederhana! Cobalah. Tambahkan beberapa angka lalu tekan tombol ini. Ini
harus bekerja. Namun, apa yang terjadi jika tidak ada angka lagi dan Anda menekan tombol?
Machine Translated by Google
Itu jelas bahwa itu akan menghasilkan kesalahan. Bagaimana cara mengatasi ini?
X = Len(Tampilan.Keterangan) - 1
Y = Tampilan.Keterangan
Tampilan.Keterangan = Kiri(Y, X)
Berakhir jika
Akhir Sub
Kami telah menambahkan dua baris kode ini yang artinya jika
display.caption "tidak" kosong lalu terapkan kodenya. Jadi, jika kosong tidak akan melakukan
apa-apa.
Kami membutuhkannya untuk membuat semua operasi yang telah kami tambahkan di display.caption.
Yang ini adalah yang paling sulit dari kalkulator ini, dan tombol yang paling penting karena akan
memberikan hasil dari semua yang telah kita lakukan. Ada beberapa cara untuk melakukannya, tapi kali
Setelah Anda mengetik titik, Anda akan melihat daftar panjang. Semua itu adalah
Machine Translated by Google
daftar lengkap Formula yang biasa kita gunakan di Excel. Mari tambahkan kode berikut dan
X = Application.WorksheetFunction.Sum(Display.Caption)
Tampilan.Keterangan = Kosong
Tampilan.Keterangan = X
Akhir Sub
Baris pertama mendeklarasikan X sebagai varian yang artinya dapat menyimpan apa saja
nilai.
Jika Anda mencobanya di sel Spreadsheet, itu akan berhasil. Tapi itu tidak bekerja menggunakan
variabel karena beberapa alasan, yang utama adalah karena seseorang tidak dapat benar-benar
konversi dan beberapa prosedur lainnya, tetapi dalam kasus ini kita dapat mulai menggunakan
spreadsheet.
Kita akan menggunakan sel dari spreadsheet, sehingga kita bisa membiasakan diri menggabungkan
VBA dengan Lembar Excel.
Kami akan memerintahkan Excel untuk mengubah Display.Caption menjadi Formula di sel A1.
Jika Anda merekam Makro dan menambahkan Rumus, mungkin kodenya adalah:
Activecell.FormulaR1C1 = “=”… Tapi kita tidak membutuhkan R1C1 untuk kode kita
Tampilan.Keterangan = Range("A1").Nilai
Akhir Sub
Jalankan program dan coba sekarang! Berhasil!! Sekarang, tulis kode yang buruk,
seperti: 5*
Dan tekan =.
Bug lain!
Machine Translated by Google
Itu sebabnya programmer sering mencoba aplikasi mereka. Anda harus selalu melakukan hal yang sama.
SEPERTI yang Anda lihat, kami telah memperbaiki beberapa bug yang hanya berfungsi pada Kalkulator, tetapi
begitu Anda terbiasa dengan kode akan mengidentifikasi dan bahkan mencegahnya dengan lebih mudah. SAYA
tahu bahwa.
Untuk memperbaiki bug ini, kami akan menerapkan Kesalahan Kontrol pertama kami. Jadi, setiap kali terjadi
Pada Kesalahan Ke A
Tampilan.Keterangan = Range("A1").Nilai
Keluar Sub
A:
Rentang("A1").Hapus
Tampilan.Keterangan = "Kesalahan"
Akhir Sub
Mungkin mudah dimengerti. Pada Kesalahan Goto A, dan kami melihat A di tengah. Jadi, jika
terjadi kesalahan, kode akan diterapkan dari A hingga Akhir, yaitu End Sub.
Dikatakan Hapus sel A1 dan di Display.Caption tampilkan pesan Kesalahan sebagai gantinya.
Kami juga melihat di atas A: sesuatu yang mengatakan Exit Sub. Ini berarti kode akan dibaca sampai
Melihat? Berhasil!!
Sekarang, saya pikir tidak baik melihat pesan Kesalahan bahkan setelah saya mengetik
tombol lain:
Akan berguna jika menghapusnya secara otomatis setelah saya mengetik tombol lain.
Untuk melakukan itu, kami akan menambahkan kode baris lain ke tombol sama dengan. Kali
ini tidak akan diterapkan saat kita mengkliknya, tetapi saat kita keluar dari tombol yang akan
terjadi setelah kita mengetik tombol lain. Untuk melakukan itu lakukan saja hal berikut:
2. Klik untuk melihat semua opsi seperti pada gambar dan pilih Keluar
Machine Translated by Google
Besar! Sekarang Anda telah berinteraksi dengan berbagai atribut yang dimiliki setiap tombol! Seperti yang
Anda lihat kode dapat diterapkan jika Anda mengklik tombol, setelah Anda menahannya, keluar dan bahkan
jika Anda meletakkan kursor di atas tombol! Sungguh luar biasa bukan??
Setelah memilih Keluar, Anda akan melihat kode baru di sana. Tambahkan yang berikut ini:
MSForms.ReturnBoolean)
Tampilan.Keterangan = Kosong
Akhir Sub
Bagus! Ini berfungsi seperti yang kita inginkan sekarang. Saya pikir Anda telah melihat bahwa pengkodean
hanyalah logika, setelah Anda mempelajari beberapa perintah lagi, Anda akan melakukan hal-hal menakjubkan.
Omong-omong, Anda belajar bagaimana menghubungkan sedikit spreadsheet dan VBA, karena kami
menggunakan rentang A1. Bagaimana jika kita bahkan tidak ingin menggunakan sel apa pun dari spreadsheet??
Seperti yang kita lihat, kita tidak bisa menggunakan variabel. Benar? Jelas, kita bisa!! Kita hanya perlu tahu
jalannya.
Sekarang, Anda dapat menghapus semuanya dari tombol sama dengan, ubah kode dari:
Pada Kesalahan Ke A
Machine Translated by Google
Tampilan.Keterangan = Range("A1").Nilai
Keluar Sub
A:
Rentang("A1").Hapus
Tampilan.Keterangan = "Kesalahan"
Akhir Sub
KE:
Pada Kesalahan Ke A
Display.Caption = Aplikasi.Evaluasi(Tampilan.Caption)
Keluar Sub
A:
Tampilan.Keterangan = "Kesalahan"
Akhir Sub
Kami tidak langsung ke solusi ini karena dengan melakukan kesalahan kami mendapatkan
pengalaman yang berharga. Mungkin, suatu saat Anda tidak akan tahu fungsi apa yang digunakan
dan mengetahui cara menautkan VBA dengan Spreadsheet akan sangat berguna untuk
Evaluasi adalah metode aplikasi atau Excel. Itu mengubah nama Microsoft Excel menjadi objek
atau nilai. Dengan kata lain, dalam nilai yang dapat dioperasikan yang dapat dijumlahkan, dibagi,
dikalikan, dll.
Sekarang, kami tidak menggunakan spreadsheet sama sekali. Jadi, Mengapa kita harus
membiarkannya terbuka? Kami hanya tertarik melihat Aplikasi yang kami buat! Apa yang bisa kita
Mengerjakan?
Deklarasi Buka dan Tutup: Menampilkan formulir tanpa melihat spreadsheet apa pun
Kalkulator ini bekerja dengan baik. Tapi kami tidak suka melihat seluruh spreadsheet
di belakang. Kami bahkan tidak ingin melihat Excel dibuka sama sekali, karena Ini bukan hal yang
umum untuk dilihat saat kami menggunakan aplikasi, jadi mari kita keluarkan spreadsheet!
Kami hanya melihat Desktop di belakang, dan bukan spreadsheet apa pun.
Mari kita lakukan langkah demi langkah. Kita akan mempelajari lebih lanjut tentang fungsionalitas VBA, dan
Ini berarti setiap kali Buku Kerja Ini Dibuka, jalankan kode antara:
Akhir Sub
CalculatorProject.Show
Akhir Sub
proyek secara otomatis. Itulah Open Event dan sangat berguna dari proyek
Kami masih tidak melihat aplikasinya saja, tetapi Excel masih muncul di sana. Jadi,
apakah Anda ingat bahwa dalam beberapa kode di atas "Application" berarti Excel? Artinya
kita harus menulis beberapa kode yang mengatakan bahwa Aplikasi harus tidak terlihat.
Aplikasi.Terlihat = Salah
Aplikasi.Terlihat = Salah
CalculatorProject.Show
Akhir Sub
Kalkulator, semuanya tampak berfungsi dengan baik. Namun, masih ada yang
salah.
tetap terbuka tetapi tidak terlihat. Kami hanya menutup aplikasi!! Cobalah untuk
membuka file yang sama di mana Anda memiliki kalkulator. Anda akan melihat bahwa
itu terbuka tanpa memuat apa pun dan tidak menampilkan kalkulator, alasannya adalah
terbuka!
Kami ingin setelah kami menutup kalkulator, itu juga menutup Excel.
1. Buka VBA.
Machine Translated by Google
2. Proyek Kalkulator
3. Klik dua kali pada bagian mana pun dari Formulir Anda untuk melihat kodenya.
Akhir Sub
5. Ini sangat mirip dengan Deklarasi Terbuka yang kita pelajari, tetapi hanya
bekerja dengan proyek. Namun, kami tidak membutuhkan ini sekarang. Kami
Akhir Sub
Pilih Application.Quit
Aplikasi.Berhenti
Akhir Sub
8. Simpan file Anda dan coba! Ini harus bekerja sekarang! Cepat dan
mudah!
Keamanan Makro
Kalkulator kami tampaknya berfungsi dengan baik sekarang. Namun, coba lakukan hal berikut:
1.7*7
3. Anda melihat 49
5. Anda akan melihat bahwa 49 dihapus secara otomatis. Ini tidak normal dalam
Mungkin, kita sedang dalam masalah. Bagaimana kita akan mengedit kode VBA jika
Machine Translated by Google
itu membuka dan menutup Excel secara otomatis? Bagaimana Anda akan mengakses
untuk itu??
VBA seperti yang kita pelajari di Bab 2. Setelah Anda mengkliknya, Excel menyimpan
jalur di mana file tertentu diizinkan untuk bekerja dengan Macro. Jadi, untuk menonaktifkan
Makro yang diizinkan, yang harus Anda lakukan hanyalah memindahkan file ke lokasi
lain. Coba lakukan, lalu buka lagi. Anda akan melihat pesan yang mengatakan bahwa
Cara lain untuk melakukannya tanpa mengubah lokasi adalah dengan mengubah nama
file. Cobalah dan Anda akan melihat Anda menerima pesan yang sama tentang
Makro.
Jika Anda melewatkannya dan tidak mengklik Aktifkan Konten, atau hanya ingin mengubah
Opsi Keamanan Makro, Buka TAB Pengembang dan Klik Keamanan Makro. Anda akan
melihat semua opsi yang tersedia untuk Makro di semua buku kerja dan untuk file tertentu
tersebut.
Machine Translated by Google
Sekarang Anda dapat pergi ke VBA dan mengubah kode yang kami butuhkan.
Komentar
Sekarang, kami tidak ingin kalkulator kami menghapus apa yang tertulis di layar kami, kecuali jika itu
adalah pesan kesalahan. Ini akan memungkinkan kita bekerja lebih efisien, jadi kita perlu kembali ke
kode yang menghapusnya. Apakah Anda ingat yang mana yang melakukan itu? Mungkin Anda
melakukannya karena hanya beberapa tombol. Namun, apa yang akan terjadi jika jumlahnya ratusan
dan ratusan
perintah?
Itu selalu nyaman untuk menulis beberapa komentar yang memungkinkan kami
mengidentifikasi dengan mudah hal-hal apa yang dilakukan beberapa kode. Sangat umum untuk
memperbaiki beberapa bug, menambah, menghapus, atau meningkatkan beberapa fungsi saat
memprogram. Jadi, jangan lupa untuk menambahkan Komentar agar Anda lebih cepat menemukan
Dalam hal ini kita perlu mengubah Tombol Sama Dengan. Namun, ini telah
dua kode ditambahkan. Satu berjalan saat kita mengklik tombol dan yang lainnya berjalan begitu kita
berhenti memilihnya.
Machine Translated by Google
Pada Kesalahan Ke A
Display.Caption = Aplikasi.Evaluasi(Tampilan.Caption)
Keluar Sub
A:
Tampilan.Keterangan = "Kesalahan"
Akhir Sub
Tampilan.Keterangan = Kosong
Akhir Sub
Kode yang perlu kita ubah adalah kode kedua di atas. Tapi pertama-tama, mari tambahkan beberapa
komentar untuk mengingat apa yang mereka lakukan untuk referensi di masa mendatang. Untuk
'
menambahkan komentar, yang perlu Anda lakukan adalah menulis apa yang Anda inginkan dalam
dengan
menambahkan awal setiap kalimat. Dalam Contoh di bawah ini saya menambahkan dua kalimat, jadi saya
'
perlu menambahkan a di awal setiap kalimat.
'Makro ini menampilkan pesan kesalahan jika kami salah mengetik matematika yang tidak
'jika tidak, itu akan menjalankan bug dan program akan berhenti bekerja.
Pada Kesalahan Ke A
Machine Translated by Google
Display.Caption = Aplikasi.Evaluasi(Tampilan.Caption)
Keluar Sub
A:
Tampilan.Keterangan = "Kesalahan"
Akhir Sub
'Itu menghapus tampilan setelah kami memilih berhenti memilih tombol sama dengan.
Tampilan.Keterangan = Kosong
Akhir Sub
Kami ingin memberi tahu Excel: Jika tampilan menampilkan Pesan Kesalahan, hapuslah, jika tidak,
MSForms.ReturnBoolean)
'Itu menghapus tampilan setelah kami memilih berhenti memilih tombol sama dengan.
Tampilan.Keterangan = Kosong
Kalau tidak
Tampilan.Keterangan = Tampilan.Keterangan
Machine Translated by Google
Berakhir jika
Akhir Sub
Persis seperti yang kita inginkan. Cobalah! Ketik sesuatu seperti 3* lalu Sama dengan. Ini menampilkan
pesan kesalahan dan menghapusnya setelah Anda mengetik sesuatu yang lain. Sekarang, ketik lagi 7*7 lalu
Itu hanya menghapus pesan kesalahan tetapi menyimpan nomornya. Sekarang, meskipun berfungsi dengan
baik, kami telah menambahkan beberapa kode yang tidak perlu: Display.Caption = Display.Caption
Mari kita hapus, termasuk “else” yang berarti “sebaliknya”. Mungkin kita tidak akan menyadarinya, tetapi
ini tidak profesional dan dalam tingkat yang sangat kecil menghabiskan sumber daya. Jangan pernah
menambahkan kode yang tidak perlu ke program apa pun yang Anda buat.
Ini akan bagus untuk Anda dan mereka yang menggunakan program Anda. Jika Anda membuat kebiasaan
pengkodean yang buruk, Anda mungkin akan mengalami beberapa masalah di masa mendatang ketika perlu
Setelah Anda menghapus kode yang tidak perlu itu akan terlihat seperti ini:
MSForms.ReturnBoolean)
Tampilan.Keterangan = Kosong
Berakhir jika
Akhir Sub
Ia bekerja juga! Kamu melihat? Kode yang kami hapus tidak diperlukan!
Machine Translated by Google
Untuk selalu bekerja sebagai Pro, jangan pernah melupakan tips ini:
Mungkin Anda bertanya-tanya mengapa kami tidak memilih variabel apa pun untuk Proyek
Kalkulator. Faktanya, kami melakukannya meskipun kami tidak mengumumkannya. Semua variabel kami
dideklarasikan secara otomatis sebagai Varian. Kami membutuhkannya karena Kalkulator ini dapat bekerja
dengan miliaran dan miliaran angka. Sebuah byte, Integer, Long, dll. tidak akan berfungsi jika pengguna
perlu menambahkan angka yang lebih besar dari yang diizinkan oleh mereka.
Ingat, jika Anda tidak mendeklarasikan variabel, variabel akan ditambahkan secara otomatis
sebagai varian yang memungkinkan nilai apa pun, tidak peduli seberapa besar atau kecilnya itu.
Untuk proyek ini, seluruh kode di CalculatorProject akan terlihat seperti ini:
Akhir Sub
Akhir Sub
Machine Translated by Google
Akhir Sub
Akhir Sub
Akhir Sub
Akhir Sub
Akhir Sub
Akhir Sub
Akhir Sub
Akhir Sub
Akhir Sub
Akhir Sub
Tampilan.Keterangan = Kosong
Akhir Sub
X = Len(Tampilan.Keterangan) - 1
Y = Tampilan.Keterangan
Tampilan.Keterangan = Kiri(Y, X)
Berakhir jika
Akhir Sub
Akhir Sub
Akhir Sub
Pada Kesalahan Ke A
Display.Caption = Aplikasi.Evaluasi(Tampilan.Caption)
Keluar Sub
A:
Tampilan.Keterangan = "Kesalahan"
Akhir Sub
MSForms.ReturnBoolean)
Tampilan.Keterangan = Kosong
Berakhir jika
Akhir Sub
Akhir Sub
Akhir Sub
Akhir Sub
Aplikasi.Berhenti
Akhir Sub
Aplikasi.Terlihat = Salah
CalculatorProject.Show
Akhir Sub
Ada hal lain yang bagus untuk ditambahkan. Pernahkah Anda memperhatikan bahwa ini
Saya pikir akan lebih baik jika kita bisa menggunakan keyboard daripada menggunakan semua
klik saja.
Klik di atasnya.
3. Buka propertinya.
4. Di Akselerator, ketik tombol apa saja. Dalam hal ini yang paling
yang sesuai adalah nomor 1, seperti pada contoh di bawah ini:
6. Ketika Anda melihat sesuatu yang digarisbawahi seperti itu, tidak hanya di Excel
tetapi di semua Sistem Operasi Microsoft, itu berarti jika Anda memegang
Alt + "Huruf atau angka yang digarisbawahi" itu akan menjalankannya.
7. Coba jalankan Kalkulator dan Tekan Alt+1 untuk melihat fungsinya. Dia
8. Lakukan hal yang sama untuk semua angka dan simbol lainnya, kecuali untuk
Jika Anda mencoba menambahkan hot key Backspace ke DEL atau Supr ke CE
Machine Translated by Google
Anda akan melihat bahwa itu tidak mungkin. Setidaknya, tidak dengan cara ini.
Saat Anda membuka Kalkulator, Anda akan melihat bahwa jika Anda mengetik TAB, tombol akan
dipilih, tetapi mungkin dengan cara yang tidak berurutan. Kami ingin memberi mereka perintah.
4. Atur ulang daftar sesuai urutan yang Anda inginkan dengan menggunakan
Mungkin Anda tahu bahwa Anda dapat menambahkan Kata Sandi ke File Excel apa pun
1. Ajukan TAB
2. Informasi
Ini adalah opsi yang bagus, namun ini bukan Kata Sandi VBA. Kami tidak ingin
memasukkan kata sandi setiap kali kami membuka kalkulator. Satu-satunya hal yang
kami inginkan adalah melindungi kode kami dari orang yang tidak berwenang yang ingin
1. Buka VBA
2. Klik Alat
4. TAB Perlindungan
6. Klik OK
Kuis 5
c) Ini adalah aplikasi bawaan yang perlu kita edit untuk penggunaan pribadi.
a) Aplikasi. Rumus
Machine Translated by Google
b) Application.FormulaBarHeight
c) Application.WorksheetFunction
a) Aplikasi.Berhenti
b) Aplikasi.Terlihat = Salah
c) Aplikasi.Terlihat = Benar
Kami hanya akan melihat tentang berinteraksi dengan aplikasi lain dari
VBA.
Application.ActivateMicrosoftApp xlMicrosoftAccess
Akhir Sub
Machine Translated by Google
Application.ActivateMicrosoftApp xlMicrosoftMail
Akhir Sub
Application.ActivateMicrosoftApp xlMicrosoftPowerPoint
Akhir Sub
Application.ActivateMicrosoftApp xlMicrosoftWord
Akhir Sub
Mungkin Anda ingin memulai aplikasi lain. Mari kita coba buka
Notepad.
Tugas = Shell("notepad.exe", 1)
Machine Translated by Google
Akhir Sub
Dengan Email
.Subjek = Subjek
.body = Pesan
.menampilkan
Berakhir dengan
Seperti yang Anda lihat, secara praktis telah menulis email dari Excel! Jelas, Anda
dapat mengganti nilai Excel Cells yang akan sangat bermanfaat jika Anda memiliki basis
data dengan email dan pesan. Yang perlu Anda lakukan hanyalah memikirkan sedikit tentang
bagaimana melakukan apa yang Anda butuhkan.
Jika Anda ingin melihat berapa banyak aplikasi yang tersedia untuk berinteraksi
dengan VBA, Anda hanya perlu mengklik Alat, Referensi.
Semua daftar ada aplikasi yang dapat berinteraksi dengan Excel, tetapi seperti yang
Anda lihat sebagian besar dinonaktifkan. Ini hanya fitur perlindungan. Jika itu tidak
cukup untuk Anda, Anda juga dapat Menelusuri lebih banyak.
Visual Basic for Applications adalah alat yang hebat dan merupakan salah satu
bahasa pemrograman paling kuat yang digunakan di dunia untuk Analisis. Seperti kamu
Machine Translated by Google
Anda telah mempelajari dasar-dasar menggunakan VBA dan bahkan membuat Aplikasi! Sekarang, terserah
Solusi Latihan
Jawaban Bab 1
b) Klik kanan pada Pita, Sesuaikan Pita, aktifkan Kotak Centang untuk
Pengembang dan Terima.
Jawaban Bab 2
b) Anda akan mendapatkan notifikasi, di mana kami harus ditolak dan kemudian
pilih simpan sebagai Buku Kerja Berkemampuan Makro.
Jawaban Bab 3
Jawaban Bab 4
a) Ini berarti dapat dipanggil dan dieksekusi dari bagian manapun dari
Buku kerja
Jawaban Bab 5
c) Application.WorksheetFunction
b) Aplikasi.Terlihat = Salah