Vba: bir çalışma kitabındaki sayfaların sayısı nasıl sayılır?


Excel’de bir çalışma kitabındaki sayfaların sayısını saymak için aşağıdaki yöntemleri kullanabilirsiniz:

Yöntem 1: Etkin çalışma kitabındaki sayfa sayısını sayın

 SubCountSheetsActive ()
   Range(" A1 ") = ThisWorkbook.Worksheets.Count
End Sub

Yöntem 2: açık bir çalışma kitabındaki sayfa sayısını sayın

 SubCountSheetsOpen ()
    Range(" A1 ") = Workbooks(" my_data.xlsx ").Sheets.Count
End Sub

Yöntem 3: Kapalı bir klasördeki sayfa sayısını sayın

 SubCountSheetsClosed ()
    Application.DisplayAlerts = False
    Set wb = Workbooks.Open(" C:\Users\Bob\Desktop\my_data.xlsx ")
    
    'count sheets in closed workbook and display count in cell A1 of current workbook
    ThisWorkbook.Sheets(1).Range(" A1 ").Value = wb.Sheets.Count

    wb.Close SaveChanges:=True
    Application.DisplayAlerts = True
End Sub

Aşağıdaki örnekler bu yöntemlerin her birinin pratikte nasıl kullanılacağını göstermektedir.

Örnek 1: Etkin bir çalışma kitabındaki sayfa sayısını sayın

Diyelim ki aşağıdaki Excel çalışma kitabını açtık ve onu görüntülüyoruz:

Bu çalışma kitabındaki toplam sayfa sayısını saymak ve sayıyı A1 hücresinde görüntülemek için aşağıdaki makroyu kullanabiliriz:

 SubCountSheetsActive ()
   Range(" A1 ") = ThisWorkbook.Worksheets.Count
End Sub

Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:

A1 hücresinin 6 değerini içerdiğine dikkat edin.

Bu bize bu çalışma kitabında 6 sayfa olduğunu söylüyor.

Örnek 2: Açık bir ciltleyicideki sayfa sayısını sayın

Diyelim ki my_data.xlsx adında iki sayfası açık bir Excel çalışma kitabımız var ama şu anda onu görüntülemiyoruz.

Bu çalışma kitabındaki toplam sayfa sayısını saymak ve sayıyı etkin çalışma kitabının A1 hücresinde görüntülemek için aşağıdaki makroyu kullanabiliriz:

 SubCountSheetsOpen ()
    Range(" A1 ") = Workbooks(" my_data.xlsx ").Sheets.Count
End Sub

Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:

A1 hücresinin 2 değerini içerdiğine dikkat edin.

Bu bize açık çalışma kitabında my_data.xlsx adlı 2 sayfanın bulunduğunu söyler.

Örnek 3: Kapalı bir dosyadaki sayfa sayısını sayma

Diyelim ki my_data.xlsx adında, şu anda açık olmayan ancak aşağıdaki dosya konumunda bulunan iki sayfadan oluşan bir Excel çalışma kitabımız var:

C:\Kullanıcılar\Bob\Desktop\my_data.xlsx

Bu çalışma kitabındaki toplam sayfa sayısını saymak ve sayıyı aktif çalışma kitabının ilk sayfasının A1 hücresinde görüntülemek için aşağıdaki makroyu kullanabiliriz:

 SubCountSheetsClosed ()
    Application.DisplayAlerts = False
    Set wb = Workbooks.Open(" C:\Users\Bob\Desktop\my_data.xlsx ")
    
    'count sheets in closed workbook and display count in cell A1 of current workbook
    ThisWorkbook.Sheets(1).Range(" A1 ").Value = wb.Sheets.Count

    wb.Close SaveChanges:=True
    Application.DisplayAlerts = True
End Sub

Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:

A1 hücresinin 2 değerini içerdiğine dikkat edin.

Bu bize kapalı çalışma kitabında my_data.xlsx adlı 2 sayfanın bulunduğunu söyler.

Not : Kodda Application.DisplayAlerts=False , VBA’ya kapalı çalışma kitabını açma, sayfaları sayma ve ardından çalışma kitabını kapatma işlemini görüntülememesini söyler.

Ek kaynaklar

Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

VBA: Aralıktaki satır sayısı nasıl sayılır?
VBA: Belirli bir metin içeren hücreler nasıl sayılır?
VBA: COUNTIF ve COUNTIFS işlevleri nasıl yazılır?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir