Excel'de vba kullanarak tüm sayfalarda yineleme nasıl yapılır?
Bir çalışma kitabındaki tüm sayfaları gözden geçirmenin iki yolu vardır.
- SONRAKİ DÖNGÜ İÇİN
- HER CURL İÇİN
1. Her döngü için kullanın
Bildiğiniz gibi FOR EACH ile koleksiyondaki ve çalışma kitabındaki tüm nesneler üzerinde yineleme yapabilirsiniz, çalışma sayfaları tüm çalışma sayfalarının bir koleksiyonudur.
Aşağıdaki adımları kullanın:
- İlk olarak, döngü için bir çalışma sayfasına referans verecek bir değişken bildirin.
- Bundan sonra döngüyü “Her biri için” anahtar kelimesiyle başlatın ve çalışma kitabındaki her çalışma sayfasına bakın.
- Şimdi her çalışma sayfasının A1 hücresine bir değer girmek istediğinizi varsayalım, yazma kodunu aşağıdaki gibi kullanabilirsiniz.
- Döngünün sonunda “End” anahtar sözcüğünü kullanarak döngüyü sonlandırın.
Yararlı bağlantılar: Makro çalıştırma – Makro kaydedici – Visual Basic Düzenleyici – Kişisel Makrolar El Kitabı
Sub vba_loop_sheets() Dim ws As Worksheet For Each ws In ThisWorkbook.Worksheets ws.Range("A1").Value = "Yes" Next ws End Sub
Bu kod her sayfadan geçer ve değeri her sayfanın A1 hücresine girer. Bu yöntemi kullanmanın avantajı, çalışma kitabındaki tüm sayfaların üzerinden geçmesidir.
Ve kapalı bir çalışma kitabındaki tüm çalışma sayfalarına göz atmak istiyorsanız aşağıdaki gibi kodu kullanın.
Sub vba_loop_sheets() Dim wb As Workbook Dim ws As Worksheet Application.DisplayAlerts = False Set wb = Workbooks.Open("C:UsersDellDesktopsample-file.xlsx") For Each ws In wb.Worksheets ws.Range("A1").Value = "Done" Next ws wb.Close SaveChanges:=True Application.DisplayAlerts = True End Sub
2. Sonraki İçin döngüsünü kullanın
Ayrıca, kaç döngü yapacağınıza karar vermek için sayfa sayısını kullanabileceğiniz ve her sayfaya atıfta bulunmak için döngü sayacını kullanabileceğiniz FOR NEXT döngüsünü kullanarak da döngü yapabilirsiniz.
İzlemeniz gereken adımlar şunlardır:
- Öncelikle döngünün sayım değerini saklamak için iki değişken ve çalışma kitabındaki sayfa sayısı için bir değişken bildirmeniz gerekir.
- Şimdi “shtCount” değişkeninin değerini çalışma kitabındaki sayfa sayısına eşit olacak şekilde ayarlayın.
- Bundan sonra, “For i” anahtar kelimesini kullanarak döngü kodunu başlatın ve döngü sayacı için maksimum değerin yaprak sayısını kullanın.
- Buradan tüm sayfaları gözden geçirmek için döngü sayacını kullanmanız ve her sayfanın A1 hücresine “Evet” değerini girmeniz gerekir.
Tam kod
Sub vba_loop_sheets() Dim i As Long Dim shtCount As Long shtCount = Sheets.Count For i = 1 To shtCount Sheets(i).Range("A1").Value = "Yes" Next i End Sub
Kapalı bir çalışma kitabına göz atmak istiyorsanız aşağıdaki kodu kullanın.
Sub vba_loop_sheets() Dim i As Long Dim shtCount As Long Set wb = Workbooks.Open("C:UsersDellDesktopsample-file.xlsx") shtCount = wb.Sheets.Count Application.DisplayAlerts = False For i = 1 To shtCount wb.Sheets(i).Range("A1").Value = "Yes" Next i wb.Close SaveChanges:=True Application.DisplayAlerts = True End Sub