Anda di halaman 1dari 86

Excel VBA Macro Programing STIKI MALANG

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 1

Excel VBA Macro Programing STIKI MALANG

Daftar Isi
Daftar Isi ............................................................................................................... 2 BAB I...................................................................................................................6 SEKILAS EXCEL VBA MACRO...............................................................................6 Pengenalan Makro .............................................................................................6 Membuat Makro di Excel.....................................................................................6 Nyalakan Tab Developer.................................................................................6 Buat tombol perintah ......................................................................................7 Membuat dan Menetapkan Makro ..................................................................8 Excel Macro Recorder.......................................................................................10 Mengapa tidak menggunakan Perekam Makro Excel untuk semuanya? ......10 Merekam Makro ............................................................................................10 Jalankan Recorder Makro...............................................................................13 Mengedit Makro ............................................................................................15 BAB II................................................................................................................ 16 DASAR DASAR EXCEL VBA MACRO...................................................................16 Macro Security..................................................................................................16 Visual Basic Editor di Excel...............................................................................18 Macro Comments..............................................................................................20 MsgBox............................................................................................................. 21 Macro Errors.....................................................................................................23 Debug Macros...................................................................................................25 Objects, Properties dan Methods......................................................................27 Excel VBA Property........................................................................................27 Excel VBA Method..........................................................................................27 Lihat semua properti dan metode dari objek. ...............................................28 Workbook and Worksheet.................................................................................29 Object Hierarchy............................................................................................29 Properties and methods of the Workbook and Worksheet object..................30 Application Object.............................................................................................32 BAB III...............................................................................................................33 Pemrograman VBA............................................................................................33 Variables...........................................................................................................33 Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 2

Excel VBA Macro Programing STIKI MALANG


Variable of type Integer.................................................................................33 Code :............................................................................................................ 33 Dim x As Integer x=6 Range("A1").Value =x...................................................................................33 Hasil : .......................................................................................................... 33 ..................................................................................................................... 33 Dim x As Integer kode baris pertama menyatakan variabel Excel VBA dengan nama x bertipe Integer.....................................................................33 Selanjutnya, kita menginisialisasi variabel. Dalam Excel VBA (dan dalam banyak bahasa pemrograman lain), menginisialisasi hanya berarti menetapkan awal nilai ke variabel. Hal ini dilakukan dengan menambahkan baris x = 6..................................................................................................33 Variable of type String...................................................................................34 Variable of type Double ................................................................................34 Variable of type Boolean...............................................................................36 Variable of type Date.....................................................................................36 String Manipulation ..........................................................................................37 Left................................................................................................................ 38 Right.............................................................................................................. 38 Len................................................................................................................39 Instr............................................................................................................... 39 Mid.................................................................................................................40 Calculate...........................................................................................................40 If Then Statement.............................................................................................42 Else Statement..............................................................................................43 Cells ................................................................................................................. 44 Loop ................................................................................................................. 45 Single Loop....................................................................................................45 Logical Operators .............................................................................................48 Logical Operator And ....................................................................................48 Logical Operator Or.......................................................................................49 Logical Operator Not .....................................................................................49 Range .............................................................................................................. 51 Range Examples ...........................................................................................51 Declare a Range............................................................................................52 Select a Range...............................................................................................52 Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 3

Excel VBA Macro Programing STIKI MALANG


Rows.............................................................................................................. 53 Columns........................................................................................................ 53 Copy and Paste a Range................................................................................54 Range("C4:C5").Value = Range("A1:A2").Value............................................54 ...................................................................................................................... 54 Clear a Range................................................................................................55 Count............................................................................................................. 55 Events ..............................................................................................................57 Event Examples.............................................................................................57 Array ................................................................................................................59 Date and Time .................................................................................................60 Year, Month, Day of a Date............................................................................60 DateAdd.........................................................................................................61 Current Date & Time.....................................................................................62 Hour, Minute and Second..............................................................................62 TimeValue ....................................................................................................63 Function and Sub .............................................................................................64 Function.........................................................................................................64 Sub ...............................................................................................................65 Textbox ............................................................................................................67 Draw a Textbox.............................................................................................67 Link Cell to Textbox .....................................................................................68 TextBox1.Value = Range("E2").Value ...................................................................................................................... 68 Clear Textbox................................................................................................68 Listbox .............................................................................................................69 Draw a Listbox...............................................................................................69 Add items to Listbox......................................................................................70 Combobox ....................................................................................................... 71 Draw a Combobox.........................................................................................71 Add item to combobox .................................................................................72 Checkbox .........................................................................................................73 Draw a Checkbox...........................................................................................73 Refer to Checkbox in your Code....................................................................74 Option Buttons .................................................................................................75 Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 4

Excel VBA Macro Programing STIKI MALANG


Draw an Option Button..................................................................................75 Refer to Option Button in your Code..............................................................76 Userform ..........................................................................................................78 Userform Example.........................................................................................78 Controls.........................................................................................................78 Create the Userform......................................................................................79 Show the Userform........................................................................................81 Private Sub CommandButton1_Click() DinnerPlannerUserForm.Show End Sub.........................................................................................................82 UserForm_Initialize........................................................................................82 Assign a macro to the Cancel button.............................................................83 Assign a macro to the Clear button...............................................................83 Assign a macro to the OK button...................................................................84 Assign a macro to the Money Spin Button.....................................................86 Test the Userform..........................................................................................86

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 5

Excel VBA Macro Programing STIKI MALANG

BAB I SEKILAS EXCEL VBA MACRO

Pengenalan Makro Anda akan terasa mudah untuk mengikuti tutorial ini (Pengenalan Makro, Dasardasar VBA, Pemrograman dan Kontrol) untuk membuat segala macam macro di Excel VBA. Di bawah ini Anda dapat menemukan gambaran yang lengkap. Tidak masalah jika Anda baru ke Excel VBA dan ingin memulai dari awal atau hanya ingin menggunakan tutorial ini sebagai referensi. Bagian ini adalah untuk pengguna Excel yang tidak memiliki pengetahuan Excel VBA. Excel VBA, yang merupakan singkatan untuk Excel Visual Basic for Applications, adalah nama dari bahasa pemrograman dari Microsoft Excel. Dengan Excel VBA Anda dapat mengotomatisasi tugas di Excel dengan menulis Makro disebut. Hal ini dapat menghemat banyak waktu! Lebih penting lagi ada hal-hal tertentu yang tidak dapat Anda lakukan dengan Excel saja seperti program sederhana. Excel VBA memungkinkan Anda untuk melakukan hal-hal di Excel.

Membuat Makro di Excel Untuk membuat makro di Excel, Anda harus mengaktifkan Excel Visual Basic. Selanjutnya, Anda dapat membuat makro yang akan dieksekusi setelah mengklik pada tombol perintah. Nyalakan Tab Developer Sebelum anda memulai bekerja dengan Excel VBA Macro, anda harus mengaktifkan menu Developer untuk memunculkan menu macro. 1. 2. 3. 4. 5. Klik pada tab File dan pilih Options. Excel Options kotak dialog akan muncul. Klik Customize Ribbon di sisi kiri dari kotak dialog. Dalam Choose commands fromdi sisi kiri kotak dialog, pilih Popular Commands. Dalam Customize the ribbondi sisi kanan kotak dialog, pilih Main tabs. Periksa kotak dan centang Developerdan klik OK.
Hal 6

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Excel VBA Macro Programing STIKI MALANG

Buat tombol perintah Anda sekarang dapat klik pada tab Developer yang telah ditempatkan di sebelah tab View. 1. Klik pada Insert. 2. Klik Command Button di bagian ActiveX Controls.

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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 7

Excel VBA Macro Programing STIKI MALANG


Membuat dan Menetapkan Makro Jika semua sudah siap, sekarang saatnya untuk membuat makro (memberi code pada tombol perintah). 1. Klik kanan pada CommandButton1. 2. Klik pada View Code.

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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 8

Excel VBA Macro Programing STIKI MALANG

Makro ini menempatkan kata Halo ke dalam sel A1. 5. Tutup Editor Visual Basic. 6. Sebelum Anda mengklik Commend Button pada sheet, pastikan Desain Mode terpilih. Anda dapat melakukan ini dengan mengklik pada Desain Mode lagi.

Hasil ketika Anda mengklik Commend Button pada lembaran:

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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 9

Excel VBA Macro Programing STIKI MALANG

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

Mengapa tidak menggunakan Perekam Makro Excel untuk semuanya? Sayangnya ada banyak hal tidak dapat Anda lakukan dengan Perekam Macro Excel. Misalnya, kita tidak bisa loop melalui berbagai data dengan Perekam Makro. Selain itu Recorder Makro menggunakan kode lebih banyak dari yang dibutuhkan, yang dapat memperlambat proses Anda turun. Untuk merekam, menjalankan dan mengedit makro, jalankan langkah-langkah berikut. Merekam Makro 1. Klik pada tab Developer. 2. Klik pada Record Macro. Lihat gambar di bawah ini. Setiap perintah yang Anda lakukan akan disimpan ke dalam makro!

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 10

Excel VBA Macro Programing STIKI MALANG

3. Di sini Anda dapat memberikan nama makro Anda dan Anda dapat memasukkan

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

Kita sekarang akan merekam makro perubahan format Sel untuk Percentase. 4. Klik OK. 5. Klik kanan mouse pada sel yang aktif (sel yang dipilih). Pastikan untuk tidak memilih sel lain! Kemudian klik pada Format Cells ...

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 11

Excel VBA Macro Programing STIKI MALANG

6. Percentase Pilih dan klik OK.

7. Akhiri, Klik Stop Recording.

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 12

Excel VBA Macro Programing STIKI MALANG

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

Jalankan Recorder Makro Sekarang Anda dapat menguji makro untuk melihat jika dapat mengubah format sel untuk Format Percentase. 1. Masukkan beberapa nomor antara 0 dan 1 di Excel. Pilih nomor.

2. Klik pada tab Developer. 3. Klik Macro.

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 13

Excel VBA Macro Programing STIKI MALANG

4. Klik Run.

Format sel harus mengubah Format Percentase. Hasil:

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 14

Excel VBA Macro Programing STIKI MALANG

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

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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 15

Excel VBA Macro Programing STIKI MALANG


BAB II DASAR DASAR EXCEL VBA MACRO

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

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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 16

Excel VBA Macro Programing STIKI MALANG

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

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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 17

Excel VBA Macro Programing STIKI MALANG

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

Visual Basic Editor akan muncul:

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 18

Excel VBA Macro Programing STIKI MALANG

Jendela kiri dengan nama sheet dalam hal itu disebut Proyek Explorer. Jika Anda tidak dapat melihat Explorer Proyek, klik View dan kemudian klik Project Explorer. Kemungkinan besar Explorer Proyek sudah akan muncul sebagai sebuah kolom di sisi kiri layar. Jika tidak, jalankan tiga langkah berikut untuk mencapai hal ini. 1. Klik kanan pada Explorer Proyek. 2. Periksa Dockable (jika perlu). 3. Klik pada Proyek - VBAProject dan tarik Explorer Proyek ke sisi kiri layar.

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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 19

Excel VBA Macro Programing STIKI MALANG

Macro Comments Tambahkan Macro comments untuk Excel VBA kode dan kode Anda akan lebih mudah untuk dibaca sebagai meningkatkan ukuran program.Sebuah Macro comments adalah sepotong teks dalam makro yang tidak akan dieksekusi oleh Excel VBA. Hal ini hanya untuk memberikan Anda informasi tentang makro. Untuk membiarkan Excel VBA tahu bahwa itu adalah komentar, tempatkan tanda petik di antara text(komentar). Jalankan langkah-langkah berikut untuk menempatkan komentar.
1. Peluncuran Visual Basic Editor. 2. Masukkan baris: Tempatkan kata Halo ke dalam sel A1'sebelum baris kode. Setelah

baris dimasukkan, pada Excel VBA baris text warna hijau untuk menunjukkan bahwa itu adalah sebuah komentar.

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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 20

Excel VBA Macro Programing STIKI MALANG

MsgBox Excel VBA MsgBox (kotak pesan) adalah sebuah kotak dialog, Anda dapat menggunakan di Excel VBA untuk menampilkan informasi kepada pengguna program Anda. Di bawah ini Anda dapat menemukan tiga contoh tentang cara mudah untuk membuat MsgBox di Excel VBA. 1. Untuk menampilkan MsgBox dengan pesan "ini menyenangkan", berikan tombol peritah pada lembar kerja Anda dan hanya menambahkan baris kode berikut: MsgBox "This is fun"

Hasil ketika Anda mengklik tombol perintah pada lembaran:

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

Masukkan nomor acak ke dalam sel A1. Bukan "This is Fun", tambahkan baris kode berikut: MsgBox "Entered value is " & Range("A1").Value

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 21

Excel VBA Macro Programing STIKI MALANG

Hasil ketika Anda mengklik tombol perintah pada lembaran:

Kami menggunakan & operator untuk menggabungkan (bergabung) dua string. Meskipun Range ("A1"). Nilai bukan string, ia bekerja di sini.
3. Untuk memulai baris baru dalam kotak pesan, Anda dapat menggunakan

vbNewLine. Tambahkan baris kode berikut: MsgBox "Line 1" & vbNewLine & "Line 2" Hasil ketika Anda mengklik tombol perintah pada lembaran:

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 22

Excel VBA Macro Programing STIKI MALANG

Macro Errors Sayangnya, tidak semuanya berjalan benar pada kali pertama. Excel VBA kadangkadang akan memberikan macro errors mengatakan bahwa ada sesuatu yang tidak diprogram dengan benar. Ada terlalu banyak Excel Visual Basic untuk menjelaskan kesalahan mereka semua pada tahap ini. Namun, di sini adalah tip yang baik untuk menangani kesalahan. Pertama, kita ingin membuat kesalahan makro. 1. Tempatkan tombol perintah pada lembar kerja Anda dan tambahkan baris kode berikut salah: MgBox This is fun (Bukan garis yang benar M s gBox This is fun)

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 23

Excel VBA Macro Programing STIKI MALANG

2. Klik tombol perintah pada lembaran. Hasil:

3. Klik OK.

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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 24

Excel VBA Macro Programing STIKI MALANG

Debug Macros Anda mungkin telah mendengar tentang teknik yang disebut debugging sebelumnya. Dengan teknik ini Anda dapat menemukan kesalahan dalam kode VBA Excel Anda sebelum Anda mengeksekusi kode. Untuk menunjukkan cara untuk men-debug makro, jalankan langkah-langkah berikut. 1. Buka Visual Basic Editor. 2. Buat makro yang salah berikut ini:

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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 25

Excel VBA Macro Programing STIKI MALANG

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

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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 26

Excel VBA Macro Programing STIKI MALANG

Objects, Properties dan Methods Dalam Excel VBA, objek, properti dan metode yang terhubung dengan sebuah titik Properties sesuatu yang objek memiliki (mereka menggambarkan objek)., Sementara metode melakukan sesuatu yang (mereka melakukan aksi dengan objek). Excel VBA Property Mari kita lihat sebuah objek VBA Excel dan VBA Excel properti. Kami akan menggunakan objek Range dan properti Formula. Objek Rentang tidak lebih dari sebuah sel (atau sel) pada lembar kerja Anda. Kita sudah tahu dari Excel bahwa sebuah sel dapat berisi formula. 1. Tempatkan nilai 10 ke dalam sel A1. 2. Buat tombol perintah. 3. Tambahkan baris: Range("B1").Formula = Range("A1") * 2 4. Jalankan makro. Makro ini menempatkan formula ke dalam sel B1 dan hasilnya akan dihitung (20). Excel VBA Method Sekarang mari kita lihat sebuah objek VBA Excel dan VBA Excel metode. Kami akan menggunakan objek Range lagi dan metode ClearContents. 1. Tempatkan nilai 10 ke dalam sel A1. 2. Buat tombol perintah. 3. Tambahkan baris: Range("A1").ClearContents 4. Jalankan makro. Sel A1 sekarang kosong! Itulah cara mudah pemrograman berorientasi obyek dalam Excel Visual Basic!

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 27

Excel VBA Macro Programing STIKI MALANG

Lihat semua properti dan metode dari objek. Range objek memiliki sifat lebih banyak dan metode. Ingin melihat lebih banyak? 1. Buka Visual Basic Editor. 2. Ketik: Range. 3. Sebuah daftar akan muncul menunjukkan kepada Anda semua metode Excel VBA dan sifat dari objek Range. Jari-jari adalah sifat dan kotak-kotak hijau adalah metode dari objek Range.

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 28

Excel VBA Macro Programing STIKI MALANG

Workbook and Worksheet Jika Anda tidak akrab dengan Objects, Properties dan Metode, kami sangat menganjurkan Anda untuk membaca bab pertama ini. Object Hierarchy Sekarang bahwa Anda telah melihat objek Range, Anda dapat memahami Workbook dan Worksheet objek lebih baik. Dalam Excel Visual Basic setiap objek dapat berisi objek lain, dan objek yang dapat berisi objek lain, dll Dengan kata lain, Excel VBA pemrograman melibatkan bekerja dengan hirarki objek. Hal ini mungkin terdengar cukup membingungkan, tetapi kita akan membuatnya jelas. Ibu dari semua obyek Excel itu sendiri. Kami menyebutnya objek Aplikasi. Obyek aplikasi berisi objek lain. Sebuah contoh dari sebuah objek dari objek Aplikasi adalah objek Workbook (File Excel). Hal ini dapat setiap workbook yang telah Anda buat. Workbook objek berisi objek lain, seperti objek Worksheet. Objek Lembar berisi objek lainnya, seperti objek Range. Kami telah menggunakan baris kode berikut: Range("A1").Value tapi apa yang kita maksudkan adalah sel A1 pada lembar kerja pertama Book1. Jadi kita benar-benar harus menambahkan baris berikut di Excel VBA:

Application.Workbooks("Book1").Worksheets(1).Range("A1").Value Untungnya kita tidak perlu menambahkan baris kode dengan cara ini. Hal ini karena Excel Visual Basic tahu kami berarti Book1 dan lembar pertama karena kami menempatkan tombol perintah kami(ingat?). Sekarang juga ingat modul otomatis dibuat ketika kita direkam makro dengan Perekam Macro Excel . Kode ditempatkan dalam modul tersedia untuk semua workbook dan worksheet.

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 29

Excel VBA Macro Programing STIKI MALANG

Tempatkan tes Sub ke dalam modul (Dalam Visual Basic Editor, klik Insert dan kemudian Modul). Sub test() Range("A1").Value = "code placed here" End Sub 1. Mengeksekusi kode (Klik Macro dan kemudian Run, atau klik pada Run dari Visual Basic Editor). Kata-kata "code placed here" akan ditempatkan ke dalam sel A1. 2. Sekarang pergi ke worksheet kedua. Mengeksekusi kode lagi. Anda akan melihat bahwa kata-kata akan ditempatkan pada worksheet kedua juga! 3. Sekarang bahkan membuka workbook baru dan mengeksekusi makro lagi. Anda akan melihat bahwa kata-kata akan ditempatkan di sana juga! Itu karena kita tidak menentukan nama workbook atau worksheet dan Excel VBA secara otomatis mengambil buku kerja yang aktif dan lembar kerja aktif. Sadarilah bahwa jika Anda ingin mengubah hal yang berbeda pada sheet yang berbeda untuk memasukkan objek Lembar Kerja. Properties and methods of the Workbook and Worksheet object Anda mungkin telah memperhatikan bahwa worksheet dan workbook keduanya jamak (lihat baris kode lengkap disebutkan sebelumnya). Itu karena mereka sebenarnya koleksi. Koleksi workbook berisi semua objek Workbook yang sedang terbuka. Koleksi Worksheet berisi semua objek Worksheet dalam workbook. Anda dapat merujuk ke anggota koleksi, yaitu: workbook tunggal atau worksheet tunggal, dalam dua cara. Menggunakan nomor indeks, worksheet (1) adalah sheet pertama dimulai dari kiri. Menggunakan nama anggota: Worksheet ("Sheet1"). Ini mungkin tidak mengejutkan Anda bahwa koleksi dan anggota koleksi memiliki sifat dan metode juga. Berikut adalah beberapa contoh. 1. Properti Count koleksi Lembar dan koleksi workbook. Baris kode berikut menghitung jumlah lembar pencatatan Tempat. tombol perintah pada lembar kerja Anda dan menambahkan baris kode: MsgBox Worksheets.Count

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 30

Excel VBA Macro Programing STIKI MALANG

Hasil ketika Anda mengklik tombol perintah pada lembaran:

Anda juga dapat menggunakan properti Hitung untuk menghitung jumlah workbook aktif. 2. Metode pengumpulan Tambahkan workbook dan koleksi Worksheets. The following code line creates a new worksheet. Kode baris berikut membuat lembar kerja baru. Worksheets.Add Anda juga dapat menggunakan metode Add untuk menambahkan buku kerja baru.
3. Objek Lembar berisi koleksi lebih menarik, seperti koleksi Baris. Dalam Excel VBA

Anda dapat menggunakan metode Pilih untuk memilih baris. Baris kode di bawah ini memilih baris 2. Worksheets(1).Rows(2).Select Dengan cara yang sama, Anda dapat memilih kolom. Baris kode di bawah ini memilih kolom 7. Worksheets(1).Columns(7).Select

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 31

Excel VBA Macro Programing STIKI MALANG

Application Object Ibu dari semua obyek Excel itu sendiri. Kami menyebutnya objek Aplikasi. Obyek aplikasi memberikan akses ke banyak pilihan Excel terkait. WorksheetFunction Anda dapat mengakses hampir semua fungsi Excel melalui objek Aplikasi. 1. Misalnya, menempatkan tombol pada lembar kerja Anda dan tambahkan baris kode berikut: Range("A3").Value = Application.WorksheetFunction.Average(Range("A1:A2")) Ketika Anda mengklik tombol perintah pada worksheet, Excel VBA menghitung rata-rata nilai di A2 untuk A1 dan untuk tempat-tempat hasil ke dalam sel A3.

Catatan: bukan Application.WorksheetFunction.Average, Anda juga dapat hanya menggunakan WorksheetFunction.Average. Ada fungsi lembar kerja lebih banyak dapat Anda gunakan di Excel VBA. Ingin melihat lebih banyak? 1. Jalankan Visual Basic Editor. 2. Ketik: worksheetfunction. 3. Sebuah daftar akan muncul menunjukkan kepada Anda semua fungsi worksheet yang tersedia.

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 32

Excel VBA Macro Programing STIKI MALANG

BAB III Pemrograman VBA

Pada bab ini anda akan belajar bagaimana agar mendapatkan hasil yang maksimal dari Excel VBA. Excel VBA Pemrograman tidak sulit, tetapi Anda perlu tahu kata kunci yang digunakan di Excel VBA. Variables Sub-bab ini mengajarkan Anda bagaimana cara mendeklarasikan, menginisialisasi dan menampilkan variabel Excel VBA. Sebuah variabel digunakan untuk menyimpan sebuah nilai. Sebuah variabel dapat berisi dari salah satu type. Dalam Excel VBA, kita memiliki beberapa macam tipe variabel. Variable of type Integer Variabel integer digunakan untuk menyimpan bilangan bulat. Code : Dim x As Integer x=6 Range("A1").Value =x Hasil :

Dim x As Integer kode baris pertama menyatakan variabel Excel VBA dengan nama x bertipe Integer. Selanjutnya, kita menginisialisasi variabel. Dalam Excel VBA (dan dalam banyak bahasa pemrograman lain), menginisialisasi hanya berarti menetapkan awal nilai ke variabel. Hal ini dilakukan dengan menambahkan baris x = 6. 1. Akhirnya, kita menempatkan nilai yang diberikan untuk variabel x ke dalam sel A1. Hal ini dapat dilakukan dengan menambahkan baris: Range ( A1 ). Value = x
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 33

Excel VBA Macro Programing STIKI MALANG


Variable of type String Variabel string digunakan untuk menyimpan teks. Code : Dim book As String book = "bible" Range("A1").Value = book Hasil :

1. Dim book As String kode baris pertama menyatakan variabel Excel VBA

dengan book nama tipe String. 2. Selanjutnya, kita menginisialisasi variabel. Misalnya, tambahkan baris: book = bible. Selalu gunakan apostrophes untuk menginisialisasi variabel String. 3. Akhirnya, kita menempatkan teks ditugaskan untuk book variabel ke sel A1. Anda dapat mencapai ini dengan menambahkan baris Range (A1). Nilai = book. Variable of type Double Sebuah variabel tipe dua kali lebih akurat daripada variabel bertipe Integer dan juga dapat menyimpan nomor setelah koma. Code : Dim x As Integer x = 5.5 MsgBox "value is " & x Hasil :

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 34

Excel VBA Macro Programing STIKI MALANG

Tapi itu bukan nilai yang benar! variabel diinisialisasi dengan nilai 5,5 dan anda mendapatkan nilai 6. Apa yang kita butuhkan adalah variabel tipe Double. Code : Dim x As Double x = 5.5 MsgBox "value is " & x

Hasil :

Catatan: Anda mungkin bertanya-tanya mengapa Anda akan menggunakan variabel Integer, jika Anda bisa menggunakan variabel Double lebih akurat. Itu karena variabel double, perlu lebih banyak ruang dan sebagai hasilnya kode Anda akan berjalan lebih lambat. Terlepas dari ini, Anda akan melihat bahwa kesalahan lebih mudah untuk menemukan ketika Anda menggunakan variabel dari type yang tepat.

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 35

Excel VBA Macro Programing STIKI MALANG

Variable of type Boolean Code : Dim continue As Boolean continue = True If continue = True Then MsgBox "Boolean variables are cool" Hasil :

1. Kode baris pertama menyatakan tipe variabel Boolean. 2. Selanjutnya, kita menginisialisasi variabel Boolean dengan nilai Benar. 3. Akhirnya, kita dapat menggunakan variabel Boolean untuk hanya menampilkan

MsgBox jika variabel memegang nilai Benar.

Variable of type Date Untuk mendeklarasikan tanggal, kita menggunakan pernyataan Dim. Untuk menginisialisasi tanggal, kita gunakan fungsi DateValue. Ingin mempelajari lebih lanjut tentang tanggal? Buka sub-bab Date dan Time.

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 36

Excel VBA Macro Programing STIKI MALANG

String Manipulation Ada banyak fungsi di Excel VBA dapat kita gunakan untuk memanipulasi string. Di bawah ini Anda dapat menemukan review dari fungsi yang paling penting. Tempatkan tombol perintah pada lembar kerja Anda dan tambahkan baris kode yang dijelaskan dalam bahasan ini. Untuk mengeksekusi baris kode. Join Strings Kami menggunakan operator & untuk menggabungkan string. Code : Dim text1 As String, text2 As String text1 = Hi text2 = Tim MsgBox text1 & text2 Hasil :

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 37

Excel VBA Macro Programing STIKI MALANG

Left Untuk ekstrak karakter paling kiri dari string, gunakan Left. Code : Dim text As String text = example text MsgBox Left(text, 4) Hasil :

Right Untuk ekstrak karakter paling kanan dari string, gunakan Right. Kita langsung dapat menyisipkan teks dalam fungsi juga. Code : MsgBox Right(example text, 2) Hasil :

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 38

Excel VBA Macro Programing STIKI MALANG

Len Untuk mendapatkan panjang string, gunakan Len. Code : MsgBox Len(example text)

Hasil :

Catatan: ruang ( posisi 8 ) termasuk! Instr Untuk mencari posisi substring dalam string, gunakan Instr. Code : MsgBox Instr(example text, am) Hasil :

Catatan: string am ditemukan di posisi 3

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 39

Excel VBA Macro Programing STIKI MALANG

Mid Untuk mengekstrak substring, mulai di tengah-tengah string, gunakan Mid Code : MsgBox Mid(example text, 9, 4)

Hasil :

Catatan: mulai pada posisi 9 (t) dengan panjang 4

Calculate Mari kita mengembangkan sebuah makro kecil yang melibatkan perhitungan sederhana (menambahkan nilai ke variabel) dan teknik pemrograman yang sangat penting. Tempatkan tombol perintah pada lembar kerja Anda dan tambahkan baris kode berikut: Dim x As Integer x = Range(A1).Value x=x+1 Range(A1).Value = x

1. Kode baris pertama menyatakan variabel dengan nama x bertipe Integer. 2. Selanjutnya, kita menginisialisasi variabel ini dengan nilai sel A1. 3. Kami ingin menambahkan 1 ke variabel x. Anda dapat melakukan ini dengan menambahkan baris x = x +1. Dalam Excel Visual Basic (dan dalam bahasa pemrograman lain), simbol = berarti menjadi. Ini tidak berarti sama! Jadi x = x + 1

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 40

Excel VBA Macro Programing STIKI MALANG


berarti x menjadi x + 1. Dengan kata lain: mengambil nilai sekarang dari x dan tambahkan 1 untuk itu. Contoh: Jika x = 6, x menjadi 6 + 1 = 7. 4. Akhirnya, tempat variabel dengan nilai baru ke dalam sel A1. Keluar Editor Visual Basic dan masukkan nilai ke dalam sel A1. Klik pada Tombol yang di beriperintah tadi untuk melihat bagaimana nilai sel A1 bertambah setiap kali Anda klik pada Tombol.

Hasil :

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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 41

Excel VBA Macro Programing STIKI MALANG

If Then Statement Dalam banyak situasi kami hanya ingin Excel VBA untuk mengeksekusi baris kode tertentu ketika kondisi tertentu terpenuhi. If Then Statement memungkinkan Anda untuk melakukan hal ini. If Than Statement Tempatkan tombol perintah pada lembar kerja Anda dan tambahkan baris kode berikut: Dim score As Integer, grade As String score = Range(A1).Value If score >= 60 Then grade = passed Range(B1).Value = grade 1. Kode baris pertama menyatakan dua variabel. Salah satu variabel bertipe Integer dan satu variabel bertipe String. 2. Selanjutnya, kita menginisialisasi variabel dengan skor nilai sel A1. 3. Jika skor lebih tinggi atau sama dengan 60, kita memberikan teks lulus ke kelas variabel. 4. Akhirnya, kita menempatkan nilai dari variabel kelas dalam sel B1. Keluarlah dari Visual Basic Editor, masukkan nilai ke dalam sel A1, dan klik pada CommandButton1. Hasil :

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 42

Excel VBA Macro Programing STIKI MALANG

Else Statement Jika skor lebih rendah dari 60, baris kode sebelumnya B1 sel kosong. Kita dapat menggunakan pernyataan Lain untuk menetapkan teks gagal ke kelas variabel jika skor lebih rendah dari 60. Dim score As Integer, grade As String score = Range(A1).Value If score >= 60 Then grade = passed Else grade = failed End If Range(B1).Value = grade

Hasil :

Catatan: Ini adalah praktik yang baik untuk selalu memulai baris baru setelah kata-kata Then dan Else dan diakhiri dengan End If . Hanya jika ada satu baris kode setelah Then ada pernyataan Lain, diijinkan untuk menempatkan baris kode langsung setelah Then dan menghilangkan End If

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 43

Excel VBA Macro Programing STIKI MALANG

Cells Sejauh ini kita telah menggunakan objek Rentang untuk menempatkan nilai ke dalam sel atau membaca nilai dari sel. Alih-alih objek Range, Anda juga dapat menggunakan Cells. Sebagai contoh, Cells (4,2). Nilai adalah sama dengan Range("B4").value. Cells(4,2). Nilai sesuai dengan nilai Cells dengan rownumber 4 dan columnnumber 2, yang merupakan Cells B4. Tempatkan tombol pada lembar kerja Anda dan tambahkan baris kode berikut: Cells(4, 2).Value = 100 Hasil ketika Anda mengklik tombol perintah pada lembaran :

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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 44

Excel VBA Macro Programing STIKI MALANG

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

Tempatkan tombol pada lembar kerja Anda dan tambahkan baris kode berikut: Dim total As Integer, i As Integer total = 0 For i = 1 To 4 'ignore the two code lines below, they are only added to illustrate the loop Cells(i, 1).Select MsgBox "i = " & i If Cells(i, 1).Value > 40 Then total = total + 1 Next i MsgBox total & " values higher than 40" 1. Dua baris pertama kode mendeklarasikan dua variabel bertipe Integer. Satu bernama total dan satu bernama i. 2. Selanjutnya, kita menginisialisasi variabel total dengan value 0. 3. Tambahkan berikutnya untuk loop yang berlangsung dari 1 sampai 4. 4. Buat pernyataan If Then yang peningkatan total 1 jika value lebih tinggi dari 40. 5. Akhirnya, menggunakan kotak pesan untuk menampilkan jumlah total nilai yang lebih tinggi dari 40.

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 45

Excel VBA Macro Programing STIKI MALANG

Hasil ketika Anda mengklik tombol perintah pada lembar beberapa kali:

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 46

Excel VBA Macro Programing STIKI MALANG

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

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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 47

Excel VBA Macro Programing STIKI MALANG

Logical Operators Dalam segala macam macro kita menggunakan Excel VBA operator logis. Tiga operator logika yang paling banyak digunakan di Excel Visual Basic adalah: And, Or dan Not. Setiap operator logis sekarang akan diilustrasikan dengan bantuan contoh yang mudah. Logical Operator And Sebagai contoh, kita menyewa orang untuk pekerjaan tertentu, hanya jika kecerdasan IQ-nya lebih tinggi atau sama dengan 110 And kesan dia meninggalkan selama wawancara lebih tinggi Or sama dengan 7 (pada skala 1 sampai 10).

Tempatkan tombol pada lembar kerja Anda dan tambahkan baris kode berikut: . If Range("B1").Value >= 110 And Range("B2").Value >= 7 Then Range("B4").Value = "Hire" Else Range("B4").Value = "Do not hire" End If Hasil ketika Anda mengklik tombol perintah pada lembaran:

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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 48

Excel VBA Macro Programing STIKI MALANG

Logical Operator Or Sebagai contoh, kita menyewa orang untuk pekerjaan tertentu, hanya jika kecerdasan IQ-nya lebih tinggi atau sama dengan 110 Or kesan dia meninggalkan selama wawancara lebih tinggi atau sama dengan 7 (pada skala 1 sampai 10) . Code: If Range("B1").Value >= 110 Or Range("B2").Value >= 7 Then Range("B4").Value = "Hire" Else Range("B4").Value = "Do not hire" End If Hasil:

Contoh ini menunjukkan efek dari pernyataan Or. Meskipun, kecerdasan IQ orang tersebut jauh di bawah 110, kita mempekerjakan orang tersebut karena ia meninggalkan kesan yang sangat baik selama wawancara. Logical Operator Not Sebagai contoh, kita tidak menyewa orang untuk pekerjaan tertentu, yang 'rakus' dan 'semua tentang uang'. Makro di bawah ini menggunakan operator logis Not untuk mendapatkan hasil yang tepat. Operator Not menunjuk bahwa kondisi tidak pasti benar.

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 49

Excel VBA Macro Programing STIKI MALANG

Sedikit menyesuaikan makro sebelumnya. Code: If (Range("B1").Value >= 110 Or Range("B2").Value >= 9) And Not Range("B3").Value = "Yes" Then Range("B4").Value = "Hire" Else Range("B4").Value = "Do not hire" End If Hasil:

Kami ingin salah satu dari dua kondisi pertama yang benar (gunakan tanda kurung) dan kondisi ketiga tidak harus benar. Kami tidak mempekerjakan orang karena kondisi ketiga benar (Cells B3 berisi kata Yes). Anda dapat mendebug melalui kode menggunakan F8 (lihat gambar di bawah). Tempatkan kursor pada kode untuk melihat nilai-nilai yang sebenarnya! The '_' simbol yang digunakan di sini untuk melanjutkan pernyataan pada baris baru (tidak diperlukan). Selalu uji makro Anda ketika Anda menggunakan operator logika untuk memastikan bahwa mereka melakukan apa yang Anda inginkan.

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 50

Excel VBA Macro Programing STIKI MALANG

Range Bab ini memberikan gambaran sifat dan metode dari objek Range sangat penting VBA Excel. Range Examples Kita telah melihat objek Range di bab-bab sebelumnya. Range objek adalah representasi dari sebuah Cell (atau Cells) pada lembar kerja Anda. Kode baris: ". Range (" A1 ") value = 1 'tempat nilai 1 ke dalam Cell A1. Anda juga dapat mengeksekusi operasi di Excel Visual Basic pada lebih dari satu Cells pada waktu yang sama. Lihat tiga macro berikut. Tempatkan tombol pada lembar kerja Anda dan tambahkan baris kode berikut: Range("A1:A4").Value = 2 Hasil ketika Anda mengklik tombol perintah pada lembaran:

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

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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 51

Excel VBA Macro Programing STIKI MALANG

Hasil :

Declare a Range Dalam bab variabel, kami belajar bagaimana cara mendeklarasikan variabel di Excel VBA. Selain mendeklarasikan variabel, Anda juga dapat mendeklarasikan objek Excel VBA Range. Anda dapat melakukan ini dengan menggunakan kata kunci Dim dan Set. Tempatkan tombol pada lembar kerja Anda dan tambahkan baris kode berikut: Dim example As Range Set example = Range("A1:D1") example.Value = 8 Hasil ketika Anda mengklik tombol perintah pada lembaran:

Select a Range Sebuah metode penting dari object Excel VBA Range adalah metode Select. Metode Select hanya memilih kisaran. Code: Dim example As Range Set example = Range("A1:C4") example.Select

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 52

Excel VBA Macro Programing STIKI MALANG

Hasil:

Rows Properti Baris memberikan akses ke baris tertentu dari kisaran. Makro berikut memilih baris ketiga Range ("A1: C4"). Dim example As Range Set example = Range("A1:C4") example.Rows(3).Select Hasil:

Catatan: Range ("A1: C4") telah diformat untuk ilustrasi. Columns Properti Kolom memberikan akses ke kolom tertentu dari kisaran. Makro berikut memilih kolom kedua dari Range ("A1: C4"). Dim example As Range Set example = Range("A1:C4") example.Columns(2).Select

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 53

Excel VBA Macro Programing STIKI MALANG

Hasil:

Catatan: Range ("A1: C4") telah diformat untuk ilustrasi. Copy and Paste a Range Metode Copy dan Paste digunakan untuk menyalin berbagai tertentu dan untuk menempelkannya di tempat lain pada worksheet. Rentang makro salinan berikut ("A1: A2") dan pasta menjadi Range ("C4: C5"). Range("A1:A2").Select Selection.Copy Range("C4").Select ActiveSheet.Paste Hasil:

Meskipun hal ini diperbolehkan dalam Excel VBA, jauh lebih mudah untuk menggunakan baris kode berikut ini yang tidak persis sama. Range("C4:C5").Value = Range("A1:A2").Value

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 54

Excel VBA Macro Programing STIKI MALANG

Clear a Range Untuk menghapus isi range Excel, Anda dapat menggunakan metode Clear. Selain mengosongkan jangkauan, metode ini juga menghapus format dari jangkauan. Jika Anda hanya ingin menghapus konten, Anda dapat menggunakan metode ClearContents. Jika Anda hanya ingin menghapus format, Anda dapat menggunakan metode ClearFormats. Baris kode berikut membersihkan isi Cell A1. Range("A1").ClearContents Catatan:. Range ("A1") ClearContents di Excel VBA adalah persis sama dengan Range ("A1") value = "".

Count Dengan properti Count, Anda dapat menghitung jumlah cell, baris dan kolom dari berbagai Excel. Berikut adalah beberapa contoh.

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 55

Excel VBA Macro Programing STIKI MALANG

Makro berikut menghitung jumlah cell-cell range diformat. Dim example As Range Set example = Range("A1:C4") MsgBox example.Count Hasil:

Makro berikut menghitung jumlah baris dari range diformat. Dim example As Range Set example = Range("A1:C4") MsgBox example.Rows.Count Hasil:

Dengan cara yang sama, Anda dapat menghitung jumlah kolom dari kisaran.

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 56

Excel VBA Macro Programing STIKI MALANG

Events Bab ini mengajarkan Anda bagaimana untuk program event workbook di Excel VBA. Peristiwa tindakan yang dilakukan oleh pengguna, yang memicu Excel VBA untuk mengeksekusi makro. Pertama, kita akan melihat beberapa contoh peristiwa. Event Examples Di bawah ini adalah daftar contoh acara. Pengguna membuka workbook (workbook event). Pengguna mengaktifkan lembar kerja (worksheet event). Pengguna mengubah isi sel pada lembar (worksheet event). Pengguna mengklik ganda sel (worksheet event). Workbook Event Peristiwa Workbook adalah tindakan yang dilakukan pada buku kerja (file Excel Anda =) yang memicu Excel VBA untuk mengeksekusi makro. Untuk membuat acara workbook, jalankan langkah-langkah berikut.

1. Jalankan Visual Basic Editor. 2. Double Klik pada Workbook ini dalam Proyek Explorer (PENTING!). Jendela kode akan muncul menunjukkan kepada Anda dua drop-down daftar. 3. Pilih Workbook dari daftar drop-down kiri. 4. Daftar drop-down kanan menunjukkan Anda semua peristiwa buku kerja (jangan khawatir, Anda tidak akan menggunakan sebagian besar peristiwa ini). Pilih acara Buka. Excel VBA otomatis menempatkan prosedur Sub untuk Anda. 5. Sekarang Anda dapat menambahkan baris yang hanya akan dieksekusi oleh Excel VBA ketika Anda membuka workbook! Tambahkan baris: MsgBox "Good Morning"

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 57

Excel VBA Macro Programing STIKI MALANG

6. Tutup file Excel (jangan lupa untuk menyimpan). 7. Buka file Excel dan menguji event workbook.

Hasil:

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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 58

Excel VBA Macro Programing STIKI MALANG

Array Sebuah array Excel VBA adalah sekelompok variabel. Anda dapat merujuk ke variabel tertentu (elemen) dari array dengan menggunakan nama array dan nomor indeks. Untuk membuat array satu dimensi, jalankan langkah-langkah berikut. Tempatkan tombol pada lembar kerja Anda dan tambahkan baris kode berikut: Dim Films(1 To 5) As String Films(1) = "Lord of the Rings" Films(2) = "Speed" Films(3) = "Star Wars" Films(4) = "The Godfather" Films(5) = "Pulp Fiction" MsgBox Films(4)

1. Kode baris pertama menyatakan array String dengan nama Films. Array terdiri dari lima elemen. 2. Selanjutnya, kita menginisialisasi setiap elemen array. Dengan kata lain: kita memberikan nilai awal. 3. Akhirnya, kami menampilkan film keempat menggunakan sebuah MsgBox. Keluar Editor Visual Basic dan menguji array. Hasil ketika Anda mengklik tombol perintah pada lembaran:

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 59

Excel VBA Macro Programing STIKI MALANG

Date and Time Tanggal dan waktu di Excel VBA dapat dimanipulasi dengan berbagai cara. Bab ini mengajarkan Anda bagaimana untuk mendapatkan tahun, bulan dan hari tanggal VBA Excel, bagaimana untuk menambahkan jumlah hari untuk date, bagaimana untuk mendapatkan tanggal dan waktu, bagaimana untuk mendapatkan jam, menit dan kedua dari saat ini waktu dan bagaimana mengkonversi string ke nomor urut waktu. Tempatkan rombol pada lembar kerja Anda dan tambahkan baris kode yang dijelaskan dalam bab ini. Untuk mengeksekusi baris kode, klik tombol perintah pada lembaran. Year, Month, Day of a Date Makro berikut akan tahun dari tanggal. Pertama, kita mendeklarasikan sebuah tanggal dengan menggunakan pernyataan Dim. Untuk menginisialisasi tanggal, kita gunakan fungsi DateValue. Code: Dim exampleDate As Date exampleDate = DateValue("Jun 19, 2010") MsgBox Year(exampleDate) Hasil:

Catatan: Gunakan Bulan dan Hari untuk mendapatkan bulan dan hari dari tanggal.

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 60

Excel VBA Macro Programing STIKI MALANG

DateAdd Untuk menambahkan jumlah hari untuk tanggal, menggunakan fungsi DateAdd. Fungsi DateAdd memiliki tiga argumen. Isi "d" untuk argumen pertama sejak kita ingin menambahkan hari. Isi 3 untuk argumen kedua untuk menambahkan 3 hari. Argumen ketiga mewakili tanggal, yang dalam contoh ini, jumlah hari akan ditambah. Code: Dim firstDate As Date, secondDate As Date firstDate = DateValue("Jun 19, 2010") secondDate = DateAdd("d", 3, firstDate) MsgBox secondDate

Hasil:

Catatan: Ubah "d" untuk "m" untuk menambahkan beberapa bulan untuk kencan. Tempatkan kursor Anda pada DateAdd di Excel VBA dan klik pada F1 untuk bantuan pada penspesifikasi interval lainnya. Format tanggal tergantung pada pengaturan Anda jendela daerah.

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 61

Excel VBA Macro Programing STIKI MALANG

Current Date & Time Untuk mendapatkan tanggal dan waktu, gunakan fungsi Sekarang. Code: MsgBox Now Hasil:

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

Hour, Minute and Second Makro berikut mendapatkan jam waktu saat ini. Code: MsgBox Hour(Now) Hasil:

Catatan: Gunakan Menit dan Kedua untuk mendapatkan menit dan detik dari waktu saat ini.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 62

Excel VBA Macro Programing STIKI MALANG

TimeValue Fungsi TimeValue mengkonversi string ke nomor seri waktu. Nomor seri Waktu adalah angka antara 0 dan 1. Misalnya, siang (tengah hari) direpresentasikan sebagai 0,5. Code: MsgBox TimeValue("9:20:01 am") Hasil:

Sekarang, dengan jelas melihat bahwa Excel menangani internal kali sebagai angka antara 0 dan 1, tambahkan baris kode berikut: Dim y As Double y = TimeValue("09:20:01") MsgBox y Hasil:

Kami harap Anda menemukan informasi tentang tanggal dan waktu fungsi dalam Excel VBA berguna.

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 63

Excel VBA Macro Programing STIKI MALANG

Function and Sub Perbedaan antara fungsi dan sub di Excel VBA adalah bahwa fungsi dapat mengembalikan nilai dan sub tidak bisa. Dalam bab ini kita akan melihat sebuah contoh yang mudah dari fungsi dan sub. Fungsi dan subs menjadi sangat berguna sebagai meningkatkan ukuran program. Function Jika Anda ingin Excel VBA untuk melakukan tugas yang mengembalikan hasilnya, Anda dapat menggunakan function. Tempatkan fungsi ke dalam modul (Dalam Visual Basic Editor, klik pada Insert dan kemudian Modul). Misalnya, fungsi dengan Wilayah nama. Fungsi Wilayah (x As Double, y As Double) As Double Area = x * y Luas = x * y End Function End Function Penjelasan: Fungsi ini memiliki dua argumen (dari ganda type) dan tipe kembali (bagian setelah Seperti juga tipe Double). Anda dapat menggunakan nama fungsi (Area) dalam kode Anda untuk menunjukkan hasil yang Anda ingin kembali (di sini x * y). Sekarang Anda dapat merujuk ke fungsi ini (dengan kata lain memanggil fungsi) dari tempat lain dalam kode Anda dengan hanya menggunakan nama fungsi dan memberikan nilai untuk setiap argumen. Tempatkan tombol pada lembar kerja Anda dan tambahkan baris kode berikut: Dim z As Double z = Area(3, 5) + 2 z = Luas (3, 5) + 2 MsgBox z MsgBox z Penjelasan: Fungsi mengembalikan nilai sehingga Anda harus 'menangkap' nilai ini dalam kode Anda. Anda dapat menggunakan variabel lain (z) untuk ini. Selanjutnya, Anda dapat menambahkan nilai untuk variabel ini (jika Anda ingin). Akhirnya, menampilkan nilai menggunakan sebuah MsgBox.

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 64

Excel VBA Macro Programing STIKI MALANG

Hasil ketika Anda mengklik tombol perintah pada lembaran:

Sub Jika Anda ingin Excel VBA untuk melakukan beberapa tindakan, Anda dapat menggunakan sub. Tempatkan sub ke dalam modul (Dalam Visual Basic Editor, klik pada Insert dan kemudian Modul). Sebagai contoh, sub dengan nama Daerah. Sub Area(x As Double, y As Double) MsgBox x * y End Sub Penjelasan: sub ini memiliki dua argumen (dari dua jenis). Ia tidak memiliki tipe kembali! Anda dapat merujuk ke sub (panggilan sub) dari tempat lain dalam kode Anda dengan hanya menggunakan nama sub dan memberikan nilai untuk setiap argumen. Tempatkan tombol pada lembar kerja Anda dan tambahkan baris kode berikut: Area 3, 5 Hasil ketika Anda mengklik tombol perintah pada lembaran:

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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 65

Excel VBA Macro Programing STIKI MALANG


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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 66

Excel VBA Macro Programing STIKI MALANG


BAB IV Kontrol Bagian ini adalah tentang berkomunikasi dengan pengguna dengan menggunakan kontrol atau UserForm. Pelajari cara menggunakan kontrol ini di Excel 2010 atau Excel 2007. Anda langsung dapat menempatkan kontrol pada selembar kertas atau tempat mereka pada UserForm. Textbox Sebuah textbox adalah bidang kosong di mana pengguna dapat mengisi sepotong teks. Pelajari cara menggambar sebuah textbox pada lembar kerja Anda, bagaimana untuk merujuk ke sebuah textbox dalam kode VBA Excel Anda, dan bagaimana untuk menghapus textbox. Draw a Textbox Excel 2010 dan Excel 2007 pengguna. Klik pada Insert tab Developer dan kemudian klik TextBox di bagian ActiveX Controls.

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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 67

Excel VBA Macro Programing STIKI MALANG

Link Cell to Textbox Untuk menghubungkan cell untuk textbox, jalankan langkah-langkah berikut: 1. Klik kanan pada tombol perintah. Klik pada View Code. Tambahkan baris kode berikut: Range("E2").Value = TextBox1.Value 2. Enter some text into the textbox. Masukkan beberapa teks ke dalam textbox.

Hasil ketika Anda mengklik tombol perintah pada lembaran:

Untuk menempatkan teks dari sel ke textbox (sebaliknya), cukup tambahkan baris kode berikut: TextBox1.Value = Range("E2").Value Clear Textbox Untuk menghapus sebuah textbox, menggunakan baris kode berikut: TextBox1.Value = "" Meskipun di beberapa situasi dapat berguna untuk langsung menempatkan sebuah textbox pada lembar kerja Anda, textbox ini sangat berguna ketika ditempatkan pada UserForm.

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 68

Excel VBA Macro Programing STIKI MALANG

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

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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 69

Excel VBA Macro Programing STIKI MALANG

Add items to Listbox Untuk menambahkan beberapa item ke listbox, jalankan langkah-langkah berikut: 1. Klik kanan pada listbox (pastikan mode desain dipilih) klik Properties. Isi E2 untuk LinkedCell dan B2: B4 untuk ListFillRange.

2. Pilih item dari listbox tersebut.

Hasil:

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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 70

Excel VBA Macro Programing STIKI MALANG

Combobox Excel VBA combobox adalah daftar drop-down dari mana pengguna dapat membuat pilihan. Perbedaan antara listbox dan combobox adalah bahwa dengan combobox pengguna juga dapat mengisi dalam pilihannya sendiri jika tidak termasuk dalam daftar. Draw a Combobox Excel 2010 dan Excel 2007 pengguna. Klik pada Insert tab Developer dan kemudian klik pada Combo Box di bagian ActiveX Controls.

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 71

Excel VBA Macro Programing STIKI MALANG

Add item to combobox Untuk menambahkan beberapa item ke combobox, jalankan langkah-langkah berikut: 1. Klik kanan pada combobox (pastikan mode desain dipilih) sebuah klik Properties. Isi E2 untuk LinkedCell dan B2: B4 untuk ListFillRange.

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

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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 72

Excel VBA Macro Programing STIKI MALANG

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

Draw a Checkbox Excel 2010 dan Excel 2007 pengguna. Klik pada Insert tab Developer dan kemudian klik pada Kotak Centang di bagian ActiveX Controls.

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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 73

Excel VBA Macro Programing STIKI MALANG

Refer to Checkbox in your Code Untuk merujuk pada kotak centang di Anda kode VBA Excel, jalankan langkahlangkah berikut: 1. Klik kanan pada kotak centang. Klik pada View Code. Tambahkan baris kode berikut: Private Sub CheckBox1_Click() If CheckBox1.Value = True Then Range("C2").Value = 1 If CheckBox1.Value = False Then Range("C2").Value = 0 End Sub
2. Keluarlah dari Visual Basic Editor dan memeriksa checkbox.

Hasil:

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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 74

Excel VBA Macro Programing STIKI MALANG

Option Buttons Excel VBA tombol pilihan adalah sama dengan kotak centang kecuali bahwa tombol pilihan tergantung pada masing-masing kotak centang, sementara lainnya tidak. Ini berarti bahwa ketika Anda memeriksa satu tombol pilihan tombol pilihan lainnya secara otomatis akan hapus centang. Draw an Option Button Excel 2010 dan Excel 2007 pengguna. Klik pada Insert tab Developer dan kemudian klik pada tombol Option di bagian ActiveX Controls.

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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 75

Excel VBA Macro Programing STIKI MALANG

Refer to Option Button in your Code Untuk merujuk ke tombol pilihan dalam kode VBA Excel Anda, jalankan langkahlangkah berikut:
1. Klik kanan pada option button. Klik pada View Code. Tambahkan baris kode

berikut: Private Sub OptionButton1_Click() If OptionButton1.Value = True Then Range("D3").Value = 30 End Sub

2. Klik kanan pada tombol pilihan kedua. Klik pada View Code. Tambahkan baris kode berikut: Private Sub OptionButton2_Click() If OptionButton2.Value = True Then Range("D3").Value = 50 End Sub
3. Keluarlah dari Visual Basic Editor dan klik pada tombol pilihan.

Hasil:

Anda akan melihat bahwa ketika Anda memeriksa 'Perempuan' tombol pilihan 'Pria' tombol pilihan secara otomatis akan hapus centang dan sebaliknya. Meskipun di beberapa situasi dapat berguna untuk langsung menempatkan tombol pilihan pada lembar kerja Anda, tombol pilihan ini sangat berguna ketika ditempatkan pada UserForm.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 76

Excel VBA Macro Programing STIKI MALANG

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 77

Excel VBA Macro Programing STIKI MALANG


Userform Bab ini mengajarkan Anda bagaimana untuk membuat Excel VBA UserForm (juga dikenal sebagai kotak dialog). Anda dapat mendownload UserForm juga. Userform Example UserForm kita akan membuat terlihat sebagai berikut.

Controls Kontrol yang paling penting yang dapat ditambahkan ke Excel VBA UserForm adalah: Labels Contoh label di UserForm kami adalah: 'Name:' , 'Phone Number:' , 'City Preference:' , 'Dinner Preference:' , dll.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 78

Excel VBA Macro Programing STIKI MALANG


Textboxes Tiga kotak di samping Label 'Nama:' , 'Phone Number:' and 'Maximum to spend:' adalah boks teks. Listboxes Kotak di samping 'Preferensi Kota:' Label adalah listbox. Comboboxes Dropdown list-di samping 'Preferensi Makan malam:' Label adalah combobox. Catatan: combobox adalah sama seperti listbox kecuali bahwa pengguna sekarang dapat juga mengisi dalam pilihannya sendiri jika / nya pilihannya tidak termasuk dalam daftar. Checkboxes and Option buttons '13 Juni', 'Juni 20' dan 'Juni 27' adalah contoh dari Checkbox. 'Yes' and 'No' adalah contoh dari tombol pilihan. Catatan: Checkbox dan tombol pilihan terutama sama kecuali bahwa tombol pilihan tergantung pada masing-masing kotak centang, sementara lainnya tidak. Ini berarti bahwa ketika Anda ingin memeriksa satu tombol pilihan tombol pilihan lainnya secara otomatis akan hapus centang. Frames Bidang dengan Car nama termasuk dua tombol pilihan adalah kontrol Frame. Catatan: dalam rangka untuk tombol pilihan untuk memiliki fungsi bergantung dijelaskan sebelumnya yang terbaik adalah untuk menempatkan tombol-tombol pilihan dalam kontrol Frame. Command buttons Tombol perintah tiga di bawah UserForm adalah contoh tombol perintah. Spin buttons Tombol spin ditempatkan di samping textbox di bagian bawah Form tersebut. Create the Userform Sekarang adalah waktu untuk menciptakan UserForm! 1. Jalankan Visual Basic Editor. 2. Klik pada ThisWorkbook dari Proyek Explorer. Jika Explorer Proyek tidak terlihat, klik View dan kemudian Project Explorer.
Copyright @nurdiansyah by RUN TECH GLOBALINDO Hal 79

Excel VBA Macro Programing STIKI MALANG


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

4. Jika Toolbox tidak muncul secara otomatis, klik pada View dan kemudian Toolbox. 5. Tambahkan semua kontrol. Setelah ini telah selesai, hasilnya harus konsisten dengan gambar UserForm ditampilkan sebelumnya. Sebagai contoh, membuat Label dengan mengklik pada Label dari Toolbox. Selanjutnya, Anda dapat menarik Label Pada UserForm. Ketika Anda tiba di CarFrame, ingat untuk menarik Bingkai ini terlebih dahulu sebelum Anda menempatkan dua tombol pilihan di dalamnya. 6. Mengubah nama dan keterangan dari kontrol. Klik kanan mouse pada kontrol masingmasing. Kemudian klik Properties. Nama yang digunakan dalam kode VBA Excel. Keterangan adalah mereka yang muncul pada layar Anda. Mengubah nama dan keterangan dari kontrol sesuai dengan tabel di bawah ini.

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 80

Excel VBA Macro Programing STIKI MALANG

Control Userform Textbox Textbox Listbox Combobox Checkbox

Name (in VBA)

Caption Dinner Planner N/A N/A N/A N/A June 13th June 20th June 27th Car Yes No N/A N/A OK Cancel Clear Form See Picture

DinnerPlannerUserForm NameTextBox PhoneTextBox CityListBox DinnerComboBox DateCheckBox1 DateCheckBox2 DateCheckBox3 Frame CarFrame Option button CarOptionButton1 CarOptionButton2 Textbox MoneyTextBox Spin button MoneySpinButton Command button OKButton Command button CancelButton Command button ClearButton 9 Labels No need to change

Catatan: itu adalah praktik yang baik untuk mengubah nama kontrol. Ini akan membuat kode Anda lebih mudah untuk dibaca. Show the Userform Untuk menampilkan UserForm, menempatkan tombol perintah pada lembar kerja Anda dan tambahkan baris kode berikut:

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 81

Excel VBA Macro Programing STIKI MALANG


Private Sub CommandButton1_Click() DinnerPlannerUserForm.Show End Sub UserForm_Initialize Sub UserForm_Initialize berjalan secara otomatis setiap kali UserForm dimuat. Jadi, ketika Anda menggunakan metode Tampilkan untuk UserForm, kode secara otomatis akan dieksekusi. Private Sub UserForm_Initialize() 'Empty NameTextBox NameTextBox.Value = "" 'Empty PhoneTextBox PhoneTextBox.Value = "" 'Empty CityListBox CityListBox.Clear 'Fill CityListBox With CityListBox .AddItem "San Fransisco" .AddItem "Oakland" .AddItem "Richmond" End With 'Empty DinnerComboBox DinnerComboBox.Clear 'Fill DinnerComboBox With DinnerComboBox .AddItem "Italian" .AddItem "Chinese" .AddItem "Frites and Meat" End With 'Uncheck DataCheckBoxes DateCheckBox1.Value = False DateCheckBox2.Value = False DateCheckBox3.Value = False 'Set no car as default CarOptionButton2.Value = True

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 82

Excel VBA Macro Programing STIKI MALANG


'Empty MoneyTextBox MoneyTextBox.Value = "" 'Set Focus on NameTextBox NameTextBox.SetFocus End Sub Hasil kode: Fields dikosongkan, daftar dihuni dan kotak centang dicentang. CarOptionButton2 diatur sebagai default, dengan asumsi bahwa sebagian besar orang tidak memiliki mobil. Akhirnya, kode baris terakhir mengatur fokus pada NameTextbox karena ini adalah di mana kita ingin memulai ketika UserForm dimuat. Untuk menambahkan kode ini ke UserForm, jalankan langkah-langkah berikut. 1. Jalankan Visual Basic Editor. 2. Klik pada View dan kemudian Kode dari Menu atau klik kanan pada UserForm dan kemudian View Code. 3. Jendela kode akan muncul menunjukkan kepada Anda dua drop-down daftar. Pilih UserForm dari daftar drop-down kiri. Pilih Inisialisasi dari daftar drop-down yang tepat. 4. Tambahkan kode. Assign a macro to the Cancel button Untuk menutup VBA Excel UserForm ketika Anda klik pada tombol Cancel, jalankan langkah-langkah berikut. 1. 2. 3. 4. Jalankan Visual Basic Editor. Double klik pada DinnerPlannerUserForm dari Proyek Explorer. Double klik pada tombol Cancel. Tambahkan baris kode berikut:

Private Sub CancelButton_Click() Unload Me End Sub Assign a macro to the Clear button Untuk memanggil Sub UserForm_Initialize ketika Anda klik pada tombol Clear, jalankan langkah-langkah berikut. 1. 2. 3. 4. Jalankan Visual Basic Editor. Double klik pada DinnerPlannerUserForm dari Proyek Explorer. Double klik pada tombol Clear. Tambahkan baris kode berikut:
Hal 83

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Excel VBA Macro Programing STIKI MALANG


Private Sub ClearButton_Click() Call UserForm_Initialize End Sub

Assign a macro to the OK button Setelah mengklik tombol OK, informasi dari UserForm akan ditempatkan pada lembar kerja Anda. Private Sub OKButton_Click() Dim emptyRow As Long 'Make Sheet1 Active Sheets(1).Activate 'Determine emptyRow emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1 'Export Data to worksheet Cells(emptyRow, 1).Value = NameTextBox.Value Cells(emptyRow, 2).Value = PhoneTextBox.Value Cells(emptyRow, 3).Value = CityListBox.Value Cells(emptyRow, 4).Value = DinnerComboBox.Value If DateCheckBox1.Value = True Then Cells(emptyRow, 5).Value = DateCheckBox1.Caption If DateCheckBox2.Value = True Then Cells(emptyRow, 5).Value = Cells(emptyRow, 5).Value & " " & DateCheckBox2.Caption If DateCheckBox3.Value = True Then Cells(emptyRow, 5).Value = Cells(emptyRow, 5).Value & " " & DateCheckBox3.Caption If CarOptionButton1.Value = True Then Cells(emptyRow, 6).Value = "Yes" Else Cells(emptyRow, 6).Value = "No" End If Cells(emptyRow, 7).Value = MoneyTextBox.Value End Sub

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 84

Excel VBA Macro Programing STIKI MALANG


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

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 85

Excel VBA Macro Programing STIKI MALANG

Assign a macro to the Money Spin Button Dengan menggunakan Tombol Putar Uang pengguna dapat menunjukkan betapa dia / dia ingin menghabiskan. Jalankan langkah-langkah berikut untuk program ini: 1. 2. 3. 4. Jalankan Visual Basic Editor. Double klik pada DinnerPlannerUserForm dari Proyek Explorer. Double klik pada tombol Putar Uang. Tambahkan baris kode berikut:

Private Sub MoneySpinButton_Change() MoneyTextBox.Text = MoneySpinButton.Value End Sub Test the Userform Keluarlah dari Visual Basic Editor, mengisi baris 1, dan menguji UserForm. Hasil:

Copyright @nurdiansyah by RUN TECH GLOBALINDO

Hal 86