Buku Kerja VBA - Contohnya menggunakan Objek Buku Kerja VBA Excel

Isi kandungan

Buku Kerja Excel VBA

Buku Kerja VBA adalah objek yang merupakan sebahagian daripada koleksi objek Buku Kerja. Kita dengan mudah melihat perbezaan bahagian pengumpulan objek dan objek itu sendiri, kata jamak dari "Buku Kerja" merujuk ia mempunyai banyak "Buku Kerja". Di VBA, kami mempunyai beberapa objek lain seperti Lembaran Kerja, Sel & Julat, Carta, dan Bentuk.

Dalam platform excel, file excel disebut sebagai "Workbook", terutama di VBA. Kami tidak pernah memanggilnya fail; sebaliknya, kami menyebutnya "Buku Kerja."

Dengan merujuk buku kerja, kita dapat melakukan semua tugas yang berkaitan dengannya. Beberapa tugas penting adalah "Buka Buku Kerja," "Simpan Buku Kerja," "Simpan Sebagai Buku Kerja", dan "Tutup Buku Kerja." Kita boleh memilih, mengaktifkan buku kerja yang dibuka.

Sintaks

Sekarang, lihat apa sintaks Buku Kerja.

Indeks tidak lain adalah buku kerja mana yang ingin anda pilih. Kita boleh merujuk buku kerja dengan nombor buku kerja atau dengan nama buku kerja.

Penggunaan Kod Objek Buku Kerja VBA

Contoh # 1

Sebagai contoh, saya mempunyai dua fail yang dibuka sekarang. Nama buku kerja pertama adalah "Fail 1" dan nama buku kerja kedua adalah "Fail 2".

Sekarang saya menulis kod dalam fail ketiga. Dari fail ini, saya ingin mengaktifkan buku kerja yang dinamakan sebagai "Fail 1".

Langkah 1: Mulakan makro dengan membuat subprosedur VBA.

Kod:

Sub Buku Kerja_Contoh1 () Akhir Sub

Langkah 2: Sekarang pilih objek buku kerja.

Langkah 3: Sekarang, masukkan buku kerja yang ingin kita aktifkan.

Kod:

Sub Buku Kerja_Contoh1 () Buku Kerja ("Fail 1 Akhir Sub

Langkah 4: Setelah memasukkan nama buku kerja, kita juga perlu memasukkan pelanjutan fail. Saya telah menyimpan buku kerja ini sebagai buku kerja biasa, iaitu buku kerja “xlsx” .

Kod:

Sub Buku Kerja_Contoh1 () Buku Kerja ("Fail 1.xlsx") Akhir Sub

Langkah 5: Sekarang, kita perlu memutuskan apa yang ingin kita lakukan dengan buku kerja ini. Masukkan titik untuk melihat semua pilihan yang ada pada buku kerja ini.

Langkah 6: Sekarang, kita perlu mengaktifkan buku kerja, pilih kaedah sebagai "Aktifkan."

Kod:

Sub Buku Kerja_Contoh1 () Buku Kerja ("Fail 1.xlsx"). Aktifkan Sub Akhir

Tidak kira buku kerja yang anda masuki. Buku ini akan mengaktifkan buku kerja yang ditentukan.

Sebaik sahaja anda memilih buku kerja, buku itu menjadi "Buku Kerja Aktif."

Contoh # 2 - Masukkan Nilai dalam Buku Kerja

Seperti yang saya katakan sebaik sahaja anda memilih buku kerja, ia menjadi Buku Kerja Aktif. Dengan menggunakan Buku Kerja Aktif, kita dapat merujuk sel.

Dalam buku kerja aktif, kita perlu memilih helaian dengan namanya, atau kita menggunakan perkataan Lembaran Aktif.

Dalam lembaran kerja aktif, kita perlu memilih sel dengan menggunakan objek Range.

Kod:

Sub Buku Kerja_Contoh1 () Buku Kerja ("Fail 1.xlsx"). Aktifkan ActiveWorkbook.ActiveSheet.Range ("A1"). Value = "Hello" End Sub

Apabila anda menjalankan kod ini menggunakan kunci F5 atau secara manual, ia akan memasukkan perkataan "Hello" di sel A1 dalam buku kerja "Fail 1.xlsx".

Kita juga boleh menggunakan kod di bawah ini untuk melakukan pekerjaan yang sama.

Kod:

Sub Buku Kerja_Contoh1 () Buku Kerja ("Fail 1.xlsx"). ActiveSheet.Range ("A1"). Value = "Hello" End Sub

Ini juga akan memasukkan perkataan "Hello" ke buku kerja "Fail 1.xlsx."

Contoh # 3 - Tugaskan Buku Kerja kepada Pembolehubah

Kami juga dapat menetapkan jenis data sebagai "buku kerja" untuk pemboleh ubah yang dinyatakan. Menyatakan pemboleh ubah sebagai Buku Kerja.

Kod:

Sub Buku Kerja_Contoh2 ()

Dim WB Sebagai Buku Kerja

Sub Akhir

Sekarang kita perlu menetapkan pemboleh ubah objek ke nama buku kerja dengan menggunakan kata "Set."

Kod:

Sub Buku Kerja_Contoh2 () Dim WB Sebagai Set Buku Kerja WB = Buku Kerja ("Fail 1.xlsx") Akhir Sub

Mulai sekarang dan seterusnya, pemboleh ubah "WB" menyimpan nama buku kerja "Fail 1.xlsx".

Dengan menggunakan nama pemboleh ubah, kita dapat memasukkan perkataan.

Kod:

Sub Buku Kerja_Contoh2 () Dim WB Sebagai Set Buku Kerja WB = Buku Kerja ("Fail 1.xlsx") WB. Lembaran Kerja ("Lembaran1"). Julat ("A1") = "Hello" WB. Lembaran Kerja ("Lembaran1"). Julat ( "B1") = "Bagus" WB. Lembaran Kerja ("Lembaran1"). Julat ("C1") = "Subang Akhir" Pagi

Jalankan kod ini secara manual atau gunakan kekunci pintas F5 dan lihat hasilnya, seperti yang ditunjukkan dalam tangkapan skrin di bawah.

Lembaran Kerja WB ("Sheet1"). Julat ("A1") = "Hello"

Di sini WB merujuk buku kerja, di buku kerja itu, kita merujuk Lembaran kerja1 dengan menggunakan objek Lembaran Kerja. Dalam sel lembaran kerja itu, A1 sama dengan nilai "Hello".

Kita juga boleh merujuk buku kerja dengan nombor indeks juga. Contohnya, lihat kod di bawah.

Kod:

Sub Workbook_Example3() Workbooks(1).Activate Workbooks(2).Activate Workbooks(3).Activate End Sub

Here Workbooks (1) means whichever the workbook first on the list, like this similarly Workbooks (2) refers to the second workbook, and Workbooks (3) refers to the third workbook.

The main problem with this index number referencing is we don’t know exactly which workbook activated. It is dangerous to use index numbers.

Example #4 - For Each Loop for Workbook Object

As I told in the beginning, the workbook is a collection object of Workbooks in VBA. Whenever we want to perform the same kind of activity for all the opened workbooks, we need to use For Each loop in VBA.

For Each Loop is the loop for all the objects in VBA. Use the below code to save all the opened workbooks.

Code:

Sub Save_All_Workbooks () Dim WB Sebagai Workbook Untuk Setiap WB Dalam Workbook WB. Simpan Next WB End Sub

Apabila anda menjalankan kod ini melalui kunci F5 atau secara manual, muncul Pop-up, yang meminta untuk menyimpan buku kerja. Klik Ok untuk menyimpan.

Gunakan kod di bawah untuk menutup semua buku kerja kecuali yang anda kerjakan.

Kod:

Sub Close_All_Workbooks () Dim WB Sebagai Workbook Untuk Setiap WB Dalam Buku Kerja Sekiranya WB.Nama IniWorkbook.Nama Kemudian WB.Tutup Akhir Jika Next WB Akhir Sub

Tetingkap timbul muncul sebelum menutup buku kerja.

Artikel menarik...