Panduan VBA terbaik (untuk pemula) yang anda perlukan

Panduan VBA terbaik (untuk pemula) yang anda perlukan

Platform pengaturcaraan VBA yang berjalan sepanjang hampir semua produk Microsoft Office adalah salah satu alat yang paling berkuasa yang boleh digunakan oleh sesiapa sahaja untuk meningkatkan penggunaan produk tersebut.

Panduan VBA untuk pemula ini akan menunjukkan kepada anda cara menambah menu pemaju ke aplikasi pejabat anda, cara memasuki tetingkap editor VBA, dan bagaimana pernyataan dan gelung VBA asas berfungsi supaya anda dapat memulakan menggunakan VBA dalam Excel, Word, PowerPoint, Tinjauan, dan OneNote.

Isi kandungan

    Senarai kiri merangkumi semua menu dan arahan menu yang tersedia dalam aplikasi pejabat itu. Senarai di sebelah kanan adalah yang kini tersedia atau diaktifkan.

    • Anda harus melihat pemaju dalam senarai di sebelah kanan, tetapi ia tidak akan diaktifkan. Pilih kotak semak untuk mengaktifkan menu pemaju.
    • Sekiranya anda tidak melihat Pemaju Terdapat di sebelah kanan, kemudian ubah kiri Pilih arahan dari lungsur ke Semua arahan. Cari Pemaju dari senarai dan pilih Tambah >> di tengah untuk menambahkan menu itu ke reben.
    • Pilih okey Apabila anda selesai.
    • Setelah menu pemaju aktif, anda boleh kembali ke tetingkap aplikasi utama anda dan pilih Pemaju dari menu atas. 
    • Kemudian pilih Lihat kod dari kumpulan kawalan di reben untuk membuka tetingkap editor VBA.
    • Ini akan membuka tetingkap editor VBA di mana anda boleh menaip kod yang akan anda pelajari dalam beberapa bahagian seterusnya.
    • Cuba tambahkan menu pemaju ke beberapa aplikasi pejabat yang anda gunakan setiap hari. Sebaik sahaja anda selesa membuka tetingkap editor VBA, teruskan ke bahagian seterusnya panduan ini.

    Petua Pengaturcaraan VBA Umum untuk Pemula

    Anda akan melihat apabila editor VBA dibuka, pilihan navigasi di panel kiri kelihatan berbeza dari satu aplikasi pejabat ke yang lain.

    Ini kerana objek yang ada di mana anda boleh meletakkan kod VBA bergantung pada objek yang ada dalam aplikasi. Contohnya, dalam Excel, anda boleh menambah kod VBA ke buku kerja atau objek lembaran. Dengan kata, anda boleh menambah kod VBA ke dokumen. Di PowerPoint, hanya untuk modul.

    Jadi, jangan terkejut dengan menu yang berbeza. Struktur dan sintaks kod VBA adalah sama di semua aplikasi. Satu -satunya perbezaan adalah objek yang anda boleh rujukan dan tindakan yang boleh anda ambil pada objek tersebut melalui kod VBA.

    Sebelum kita menyelam ke objek dan tindakan yang berbeza yang boleh anda ambil melalui kod VBA, mari kita lihat terlebih dahulu struktur VBA dan sintaks yang paling biasa yang anda boleh gunakan semasa anda menulis kod VBA.

    Di mana untuk meletakkan kod VBA

    Semasa anda berada di editor VBA, anda perlu menggunakan dua kotak dropdown di bahagian atas tetingkap penyuntingan untuk memilih objek mana yang anda mahu melampirkan kod tersebut, dan apabila anda mahu kod dijalankan.

    Contohnya, dalam Excel, jika anda memilih Lembaran kerja dan Aktifkan, Kod akan dijalankan setiap kali lembaran kerja dibuka. 

    Tindakan lembaran kerja lain yang boleh anda gunakan untuk mencetuskan kod VBA anda termasuk apabila lembaran kerja berubah, apabila ditutup (dinyahaktifkan), apabila pengiraan lembaran kerja dijalankan, dan banyak lagi.

    Apabila anda menambah kod VBA dalam editor, pastikan anda meletakkan kod VBA anda pada objek dan menggunakan tindakan yang betul yang anda ingin gunakan untuk mencetuskan kod tersebut.

    VBA jika pernyataan

    Kenyataan IF berfungsi dalam VBA seperti ia berfungsi dalam bahasa pengaturcaraan lain.

    Bahagian pertama pernyataan IF melihat sama ada keadaan atau set syarat adalah benar. Syarat -syarat ini dapat disertai oleh dan atau pengendali untuk menghubungkan mereka bersama.

    Satu contoh adalah untuk memeriksa sama ada gred dalam spreadsheet berada di atas atau di bawah gred "lulus", dan memberikan status lulus atau gagal ke sel lain.

    Jika sel (2, 2)> 75 kemudian sel (2, 3) = "lulus" sel lain (2, 3) = "gagal"

    Sekiranya anda tidak mahu keseluruhan pernyataan pada satu baris, anda boleh memisahkannya ke dalam pelbagai baris dengan menambahkan simbol "_" di hujung baris.

    Jika sel (2, 2)> 75 maka _
    Sel (2, 3) = "lulus" lain _
    Sel (2, 3) = "Gagal"

    Menggunakan teknik ini sering boleh membuat kod lebih mudah dibaca dan debug.

    VBA untuk gelung seterusnya

    Sekiranya pernyataan bagus untuk perbandingan tunggal, seperti contoh di atas melihat satu sel. Tetapi bagaimana jika anda ingin gelung melalui pelbagai sel dan melakukan perkara yang sama jika pernyataan pada masing -masing?

    Dalam kes ini anda memerlukan gelung. 

    Untuk melakukan ini, anda perlu menggunakan panjang julat, dan gelung melalui panjang itu dengan bilangan baris yang mengandungi data.

    Untuk melakukan ini, anda perlu menentukan julat dan pembolehubah sel, dan gelung melalui mereka. Anda juga perlu menentukan kaunter supaya anda dapat mengeluarkan hasilnya ke baris yang sesuai. Jadi kod VBA anda akan terlebih dahulu mempunyai baris ini.

    Rng rng sebagai julat, sel sebagai julat
    Dim Rowcounter sebagai Integer

    Tentukan saiz julat seperti berikut. 

    Tetapkan RNG = Range ("B2: B7")
    RowCounter = 2

    Akhirnya, anda boleh membuat gelung anda untuk melangkah melalui setiap sel dalam julat itu dan melakukan perbandingan.

    Untuk setiap sel di RNG Jika sel.Nilai> 75 kemudian _  Sel (RowCounter, 3) = "lulus" lain _  Sel (RowCounter, 3) = "Gagal"  RowCounter = RowCounter + 1 Sel seterusnya

    Sebaik sahaja skrip VBA ini dijalankan, anda melihat hasilnya dalam hamparan sebenar.

    VBA semasa gelung

    Gelung sementara juga gelung melalui satu siri pernyataan, sama seperti untuk gelung, tetapi keadaan gelung untuk meneruskan adalah keadaan yang masih benar.

    Contohnya, anda boleh menulis yang sama untuk gelung di atas, sebagai gelung sementara, dengan hanya menggunakan pemboleh ubah rowcounter seperti berikut.

    Manakala RowCounter < rng.Count + 2 Jika sel (RowCounter, 2)> 75 maka _  Sel (RowCounter, 3) = "lulus" lain _  Sel (RowCounter, 3) = "Gagal"  RowCounter = RowCounter + 1 Wend

    Nota: The rng.Kiraan + 2 Had menamatkan diperlukan kerana kaunter baris bermula pada 2 dan perlu berakhir pada baris 7 di mana data berakhir. Walau bagaimanapun, kiraan julat (b2: b7) hanya 6, dan gelung sementara hanya akan berakhir apabila kaunter lebih besar daripada kaunter - jadi nilai rowcounter terakhir perlu 8 (atau rng.Kiraan + 2).

    Anda juga boleh menyediakan gelung sementara seperti berikut:

    Manakala RowCounter <= rng.Count + 1

    Anda hanya boleh meningkatkan kiraan julat (6) dengan 1, kerana sekali pemboleh ubah rowcounter mencapai akhir data (baris 7), gelung dapat menyelesaikan.

    VBA lakukan sementara dan lakukan sehingga gelung

    Lakukan sementara dan lakukan sehingga gelung hampir sama dengan semasa gelung, tetapi bekerja sedikit berbeza.

    • The Semasa gelung memeriksa sama ada keadaan berlaku pada permulaan gelung.
    • The Do-while loop memeriksa sama ada keadaan adalah benar selepas melaksanakan kenyataan dalam gelung.
    • The Do-until Loop memeriksa sama ada keadaan masih palsu setelah melaksanakan gelung.

    Dalam kes ini anda akan menulis semula gelung sementara di atas seperti berikut, sebagai gelung sementara.

    Lakukan Jika sel (RowCounter, 2)> 75 maka _  Sel (RowCounter, 3) = "lulus" lain _  Sel (RowCounter, 3) = "Gagal"  RowCounter = RowCounter + 1 Loop manakala RowCounter < rng.Count + 2

    Dalam kes ini logik tidak banyak berubah, tetapi jika anda ingin memastikan perbandingan logik berlaku selepas semua pernyataan dijalankan (membolehkan mereka semua berjalan tidak kira apa pun sekali), maka lakukan-sementara waktu atau gelung do-until adalah pilihan yang tepat.

    Penyataan Kes Pilih VBA

    Jenis akhir pernyataan logik yang anda perlu faham untuk memulakan penstrukturan kod VBA anda adalah penyataan kes pilih.

    Memandangkan contoh di atas, katakan anda ingin mempunyai kaedah penggredan yang tidak hanya lulus gagal. Sebaliknya, anda ingin memberikan gred huruf dari A hingga F.

    Anda boleh melakukan ini dengan pernyataan kes pilih berikut:

    Untuk setiap sel di RNG Pilih sel kes  Kes 95 hingga 100  Sel (RowCounter, 3) = "A" Kes 85 hingga 94  Sel (RowCounter, 3) = "B"  Kes 75 hingga 84  Sel (RowCounter, 3) = "C"  Kes 65 hingga 74  Sel (RowCounter, 3) = "D"  Kes 0 hingga 64  Sel (RowCounter, 3) = "F"  Akhir pilih RowCounter = RowCounter + 1 Sel seterusnya

    Spreadsheet yang dihasilkan selepas skrip VBA ini berjalan seperti yang di bawah.

    Sekarang anda tahu semua yang anda perlu tahu untuk mula menggunakan VBA dalam aplikasi Microsoft Office anda.