Vba kullanarak sayfalar nasıl count edilir?
Excel’de çok sayıda sayfanız varsa bunları manuel olarak saymak veya herhangi bir formül kullanmak yerine VBA kodunu kullanarak bunları hızlı bir şekilde sayabilirsiniz. Yani makalede bir çalışma kitabının sayfalarını saymanın farklı yollarını göreceğiz.
Etkin çalışma kitabındaki sayfaları sayma
Aktif çalışma kitabı sayfasını saymak için kullanmanız gereken kod aşağıdadır.
ThisWorkbook.Sheets.Count
Bu kodda öncelikle “ThisWorkbook” kullanarak aktif çalışma kitabına başvurdunuz ve tüm sayfalara başvurdunuz, son olarak tüm sayfaları saymak için count yöntemini kullandınız. Sayfalar yerine çalışma sayfalarını saymak istiyorsanız aşağıdaki kodu kullanın.
ThisWorkbook.Worksheets.Count
Yararlı bağlantılar: Makro çalıştırma – Makro kaydedici – Visual Basic Düzenleyici – Kişisel Makrolar El Kitabı
Başka bir çalışma kitabındaki sayfaları sayın
Çalışma kitabına başvurmak için adını kullanabilir ve ardından içindeki sayfaları sayabilirsiniz. Diyelim ki “Kitap1” çalışma kitabındaki sayfaları saymak istiyorsunuz.
İşte kod.
Workbooks("sample-file.xlsx").Sheets.Count
Bu kod size “sample-file.xlsx” çalışma kitabındaki sayfa sayısını verir. Bu klasörün alınması gereken bir şey var, açık olması gerekiyor.
Tüm açık ciltlerin sayfalarını sayın
Aynı anda birden fazla çalışma kitabını açık tutabilir ve tüm bu çalışma kitaplarındaki sayfaları sayabilirsiniz.
Sub vba_loop_all_sheets() Dim wb As Workbook Dim i As Long For Each wb In Application.Workbooks If wb.Name <> "PERSONAL.XLSB" Then i = i + wb.Sheets.Count End If Next wb MsgBox "Total sheets in all the open workbooks: " & i End Sub
Kapalı bir dosyanın sayfalarını saymak
Artık sistem masaüstümde kayıtlı çalışma kitabına atıfta bulunan bazı kodlarımız var. Bu kodu çalıştırdığımda arkadaki bu çalışma kitabını açıyor ve içindeki sayfaları sayıyor, sonra bu sayımı A1 hücresine ekliyor.
Sub vba_count_sheets() Dim wb As Workbook Application.DisplayAlerts = False Set wb = Workbooks.Open("C:UsersDellDesktopsample-file.xlsx") ThisWorkbook.Sheets(1).Range("A1").Value _ = wb.Sheets.Count wb.Close SaveChanges:=True Application.DisplayAlerts = True End Sub
Dosyanın arka uçta açılması ve kapatılmasına ilişkin ekran uyarılarını devre dışı bıraktık.
İlgili eğitimler
- Excel’de VBA kullanarak bir sayfanın tamamını TEMİZLEYİN
- VBA’yı kullanarak Excel’de bir sayfayı kopyalayın ve taşıyın
- Excel’de VBA kullanarak bir SAYFAYI SİLİN
- Excel’de VBA kullanarak bir sayfayı gizleme ve gösterme
- Excel’de VBA kullanarak bir sayfayı KORUMA ve KORUMADAN KALDIRMA
- Excel’de VBA kullanarak bir sayfayı YENİDEN ADLANDIRIN