VBA Untuk Setiap Loop

Excel VBA Untuk Setiap Loop

VBA Untuk Setiap Loop menelusuri semua koleksi objek atau item dan melakukan serangkaian aktivitas serupa. Ini akan mempertimbangkan semua objek tertentu yang tersedia dan melakukan aktivitas yang diinstruksikan di setiap objek.

Di VBA, Anda harus memahami loop di VBA. Sebuah loop memungkinkan Anda melakukan jenis aktivitas yang sama untuk banyak sel atau objek di excel. Pada artikel hari ini, kita akan berkonsentrasi pada mekanisme For Each Loop.

Sintaksis

Untuk Setiap Loop dapat melakukan perulangan melalui semua kumpulan objek atau item. Koleksi tidak lain adalah "Semua buku kerja yang dibuka", "Semua lembar kerja di buku kerja", "Semua koleksi bentuk dan bagan di buku kerja".

Mari kita lihat sintaksnya.

Untuk Setiap Objek Dalam Koleksi Apa yang Harus Dilakukan? Objek Berikutnya

Misalnya, Anda memiliki 10 lembar di buku kerja Anda dan Anda ingin menyembunyikan semua lembar kerja kecuali yang Anda masuki. Bisakah Anda menyembunyikan secara manual, ya Anda bisa tetapi bagaimana jika Anda memiliki 100 lembar seperti itu bukankah itu membosankan dan waktu tugas -mengonsumsi yang harus dilakukan. Anda dapat melakukan ini menggunakan untuk setiap loop.

Bagaimana cara menggunakan For Each Loop di VBA? (Contoh)

Anda dapat mengunduh Template VBA Untuk Setiap Loop ini di sini - Template VBA Untuk Setiap Loop

Contoh # 1 - Sisipkan Teks yang Sama di Semua Lembar

Kami akan melihat bagaimana menggunakan UNTUK SETIAP di VBA dengan contoh sederhana. Asumsikan Anda memiliki 5 lembar kerja dalam satu buku kerja dan Anda ingin memasukkan kata "Halo" di semua lembar kerja di sel A1.

Kita dapat melakukan ini dengan FOR SETIAP LOOP. Satu hal yang perlu Anda ingat di sini adalah kami sebenarnya melakukan aktivitas ini di setiap lembar kerja, bukan di lembar kerja yang sama. Ikuti langkah-langkah di bawah ini untuk menulis kode VBA.

Langkah 1: Mulai makro excel.

Kode:

 Sub Untuk_Each_Example1 () End Sub 

Langkah 2: Karena kita mengacu pada lembar kerja, deklarasikan variabel sebagai "Lembar Kerja".

Kode:

 Sub For_Each_Example1 () Dim Ws As Worksheet End Sub 

Langkah 3: Sekarang menggunakan UNTUK SETIAP LOOP kita perlu merujuk setiap lembar kerja di buku kerja yang aktif.

Kode:

 Sub For_Each_Example1 () Dim Ws As Worksheet For Each Ws In ActiveWorkbook.Worksheets Next Ws End Sub 

Langkah 4: Sekarang tulis apa yang ingin kita lakukan di setiap lembar kerja. Di setiap lembar kerja, kita perlu meletakkan kata "Halo" di sel A1.

Kode: 

 Sub For_Each_Example1 () Dim Ws As Worksheet For Each Ws In ActiveWorkbook.Worksheets Ws.Range ("A1") Value = "Hello" Next Ws End Sub 

Langkah 5: Sekarang jalankan kode ini secara manual melalui opsi atau tekan tombol pintas F5, tidak peduli berapa banyak lembar yang Anda miliki itu akan memasukkan Kata "Halo" di semua lembar kerja.

Contoh # 2 - Sembunyikan Semua Lembar

Seperti yang diceritakan sebelumnya di posting bagaimana jika Anda memiliki ratusan lembar untuk disembunyikan kecuali yang Anda masuk. Menggunakan Untuk setiap loop, kita dapat menyembunyikan semua lembar di excel.

Langkah 1: Mulai makro dengan nama Anda.

Kode:

 Sub Untuk_Each_Example2 () End Sub 

Langkah 2: Deklarasikan variabel sebagai " Ws ".

Kode:

 Sub For_Each_Example2 () Dim Ws As Worksheet End Sub 

Langkah 3: Sekarang di setiap lembar kerja yang perlu Anda lakukan adalah menyembunyikan lembar.

Kode:

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

Langkah 4: Tetapi jika Anda menjalankan kode di atas, itu akan mencoba menyembunyikan semua lembar tetapi excel membutuhkan setidaknya satu lembar untuk terlihat. Jadi kita perlu memberi tahu lembar mana yang tidak boleh disembunyikan.

Kode:

 Sub For_Each_Example2 () Redupkan Ws Sebagai Worksheet Untuk Setiap Ws Di ActiveWorkbook.Worksheets Jika Ws.Name "Main Sheet" Kemudian Ws.Visible = xlSheetVeryHidden End Jika Berikutnya Ws End Sub 

The simbol operator berarti tidak sama dalam VBA .

Jadi kode mengatakan saat Anda mengulang semua lembar kerja di buku kerja aktif, sembunyikan hanya jika nama lembar tidak sama dengan nama lembar Lembar Utama.

Ini dapat dilakukan dengan menggunakan pernyataan IF di VBA. Tulis kodenya IF Ws.Name “Main Sheet” Lalu sembunyikan atau jika sama dengan nama sheet “Main Sheet” maka jangan sembunyikan.

Langkah 5: Sekarang jalankan kode menggunakan tombol F5 atau secara manual, itu akan menyembunyikan semua lembar kerja kecuali yang bernama "Lembar Utama".

Contoh # 3 - Perlihatkan Semua Lembar

Kami telah melihat cara menyembunyikan semua lembar kecuali yang kami masuki. Demikian pula, kami juga dapat menampilkan semua lembar kerja.

Kita hanya perlu mengubah kode dari xlSheetVeryHidden menjadi xlSheetVisible.

Kode:

 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 code 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 

Unprotect All the Sheets: On a similar note, using vba we can also unprotect all sheets that where protected in the workbook. We just need to put the word Unprotect and password.

Code:

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

Things to Remember

  • Each is for the collection of objects.
  • It will consider all the specified objects in the specified workbook.
  • While declaring the variable we need to which object we are referring to. For example Worksheet, Workbook, Chart, etc.