Bagaimana menggunakan VBA Untuk Setiap Gelung? (dengan Contoh Excel)

Excel VBA Untuk Setiap Gelung

VBA For Every Loop melalui semua koleksi objek atau barang dan melakukan sekumpulan aktiviti yang serupa. Ia akan mempertimbangkan semua objek yang ada dan melakukan aktiviti yang diarahkan pada setiap objek.

Dalam VBA, wajib memahami gelung. Gelung membolehkan anda melakukan aktiviti yang sama untuk banyak sel atau objek di excel. Dalam artikel hari ini, kita akan menumpukan perhatian pada mekanisme For Every Loop.

Sintaks

Untuk Setiap Gelung dapat melingkari semua kumpulan objek atau item yang ditetapkan. Kumpulan tidak lain hanyalah "Semua buku kerja yang dibuka," "Semua lembaran kerja dalam buku kerja," "Semua koleksi bentuk dan carta dalam buku kerja."

Mari lihat sintaksnya.

Untuk Setiap Objek Dalam Koleksi Apa yang Perlu Dilakukan? Objek Seterusnya

Contohnya, Anda mempunyai 10 helaian di buku kerja anda, dan anda ingin menyembunyikan semua lembaran kerja kecuali yang ada di dalamnya. Bolehkah anda menyembunyikan secara manual? Ya, anda boleh, tetapi bagaimana jika anda mempunyai 100 helai seperti itu? Bukankah itu tugas yang membosankan dan memakan masa untuk dilakukan? Anda boleh melakukannya dengan menggunakan setiap gelung.

Bagaimana cara menggunakan Untuk Setiap Gelung di VBA? (Contoh)

Contoh # 1 - Masukkan Teks yang Sama di Semua Helaian

Kami akan melihat bagaimana menggunakan UNTUK SETIAP di VBA dengan contoh mudah. Andaikan anda mempunyai 5 lembar kerja dalam buku kerja, dan anda ingin memasukkan perkataan "Hello" di semua lembaran kerja di sel A1.

Kita boleh melakukannya dengan UNTUK SETIAP LOOP. Satu perkara yang perlu anda ingat di sini ialah kita menjalankan aktiviti ini di setiap lembaran kerja, bukan di lembaran kerja yang sama. Ikuti langkah di bawah untuk menulis kod VBA.

Langkah 1: Mulakan makro excel.

Kod:

Sub Untuk_Each_Contoh1 () Akhir Sub

Langkah 2: Oleh kerana kita merujuk pada lembaran kerja, nyatakan pemboleh ubah sebagai "Lembaran Kerja."

Kod:

Sub Untuk_Each_Contoh1 () Dim Ws Sebagai Lembaran Kerja Akhir Sub

Langkah 3: Sekarang, menggunakan UNTUK SETIAP LOOP, kita perlu merujuk setiap lembaran kerja dalam buku kerja aktif.

Kod:

Sub Untuk_Each_Contoh1 () Dim Ws Sebagai Lembaran Kerja Untuk Setiap Ws Di ActiveWorkbook. Lembaran Kerja Selanjutnya Ws Akhir

Langkah 4: Sekarang, tulis apa yang ingin kita lakukan di setiap lembaran kerja. Di setiap lembaran kerja, kita perlu memasukkan kata "Hello" di sel A1.

Kod:

Sub Untuk_Each_Contoh1 () Dim Ws Sebagai Lembaran Kerja Untuk Setiap Ws dalam ActiveWorkbook.Worksheets Ws.Range ("A1"). Value = "Hello" Next Ws End Sub

Langkah 5: Sekarang jalankan kod ini secara manual melalui pilihan atau tekan kekunci pintas F5. Tidak kira berapa helai yang anda ada; ia akan memasukkan perkataan "Hello" di semua lembaran kerja.

Contoh # 2 - Sembunyikan Semua Helaian

Seperti yang diberitahu sebelumnya dalam posting, bagaimana jika anda mempunyai ratusan helaian untuk disembunyikan kecuali yang anda gunakan. Menggunakan Untuk setiap gelung, kami dapat menyembunyikan semua helaian di excel.

Langkah 1: Mulakan makro dengan nama anda.

Kod:

Sub Untuk_Each_Contoh2 () Akhir Sub

Langkah 2: Nyatakan pemboleh ubah sebagai " Ws."

Kod:

Sub Untuk_Each_Contoh2 () Dim Ws Sebagai Lembaran Kerja Akhir Sub

Langkah 3: Sekarang, di setiap lembaran kerja, apa yang perlu anda lakukan ialah menyembunyikan helaian.

Kod:

Sub Untuk_Each_Contoh2 () Dim Ws Sebagai Lembaran Kerja Untuk Setiap Ws dalam ActiveWorkbook.Wheets Works Ws.Visible = xlSheetVeryHidden Next Ws End Sub

Langkah 4: Tetapi jika anda menjalankan kod di atas, ia akan cuba menyembunyikan semua helaian, tetapi excel memerlukan sekurang-kurangnya satu helaian yang kelihatan. Oleh itu, kita perlu memberitahu lembaran mana yang tidak disembunyikan.

Kod:

Sub Untuk_Each_Contoh2 () Dim Ws Sebagai Lembaran Kerja Untuk Setiap Ws di ActiveWorkbook.Wheets Works If Ws.Name "Main Sheet" Kemudian Ws.Visible = xlSheetVeryHidden End If Next Ws End Sub

The simbol operator cara tidak sama dalam VBA .

So code says when you are looping through all the worksheets in the active workbook, hide only if the sheet name is not equal to the sheet name of Main Sheet.

This can be done by using the IF statement in VBA. Write the code as IF Ws.Name “Main Sheet” Then hide or if it is equal to the sheet name “Main Sheet,” then don’t hide.

Step 5: Now run the code using the F5 key or manually. Then, it will hide all the worksheets except the one named “Main Sheet.”

Example #3 - Unhide All the Sheets

We have seen how to hide all sheets except the one we are in. Similarly, we can unhide all the worksheets as well.

We need to change the code from xlSheetVeryHidden to xlSheetVisible.

Code:

Sub For_Each_Example3() Dim Ws As Worksheet For Each Ws In ActiveWorkbook.Worksheets Ws.Visible = xlSheetVisible Next Ws End Sub

Here we don’t need the IF condition because we are unhiding all the sheets. If you don’t want to unhide any specific sheet, then you can use the IF condition and supply the sheet name.

Example #4 - Protect and UnProtect All the Sheets

Protect All Sheets: We can protect all the sheets in the workbook with just a piece of code. All the principle is the same only thing we need to do here is instead of Ws. Visible, we need to put the code Ws. Protect and type the password.

Code:

Sub For_Each_Example4() Dim Ws As Worksheet For Each Ws In ActiveWorkbook.Worksheets Ws.Protect Password:="Excel@2019" Next Ws End Sub

Lindungi semua Helaian: Dengan catatan serupa, menggunakan VBA, kami juga dapat melindung semua helaian yang dilindungi dalam buku kerja. Kita perlu meletakkan perkataan Unprotect dan kata laluan.

Kod:

Sub Untuk_Each_Contoh6 () Dim Ws Sebagai Lembaran Kerja Untuk Setiap Ws di ActiveWorkbook.Wheets Works Ws.Unprotect Password: = "Excel @ 2019" Next Ws End Sub

Perkara yang Perlu Diingat

  • Masing-masing adalah untuk pengumpulan objek.
  • Ia akan mempertimbangkan semua objek yang ditentukan dalam buku kerja yang ditentukan.
  • Semasa menyatakan pemboleh ubah, kita perlu objek mana yang kita rujuk-misalnya, Lembaran Kerja, Buku Kerja, Carta, dll.

Artikel menarik...