Vba: sayfanın mevcut olup olmadığı nasıl kontrol edilir (örnekle)


Şu anda etkin olan Excel çalışma kitabında belirli bir sayfanın bulunup bulunmadığını kontrol etmek için VBA’da aşağıdaki işlevi oluşturabilirsiniz:

 Function sheetExists(some_sheet As String) As Boolean

On Error Resume Next
sheetExists = (ActiveWorkbook.Sheets(some_sheet).Index > 0)

End Function

Bu işlev, o anda etkin olan Excel çalışma kitabında belirli bir sayfa adının mevcut olup olmadığını belirtmek için DOĞRU veya YANLIŞ değerini döndürür.

Bu işlevin yalnızca bir sayfanın dizin numarasının 0’dan büyük olup olmadığını kontrol ettiğini unutmayın.

Sayfa mevcutsa, sayfa dizin numarası en az 1 değerine sahip olacak ve işlevin TRUE değerini döndürmesine neden olacaktır.

Aşağıdaki örnekte bu fonksiyonun pratikte nasıl kullanılacağı gösterilmektedir.

Örnek: Sayfanın mevcut olup olmadığını kontrol etmek için VBA’yı kullanın

Diyelim ki üç sayfadan oluşan aşağıdaki Excel çalışma kitabına sahibiz:

Bu çalışma kitabında belirli bir sayfa adının olup olmadığını kontrol etmek için VBA’da aşağıdaki işlevi oluşturabiliriz:

 Function sheetExists(some_sheet As String) As Boolean

On Error Resume Next
sheetExists = (ActiveWorkbook.Sheets(some_sheet).Index > 0)

End Function

Daha sonra bu çalışma kitabında “Takımlar” sayfa adının mevcut olup olmadığını kontrol etmek için şu anda etkin olan sayfanın A1 hücresine aşağıdaki formülü yazabiliriz:

 =sheetExists("Teams")

Aşağıdaki ekran görüntüsü bu formülün pratikte nasıl kullanılacağını göstermektedir:

Bu sayfa adı çalışma kitabında mevcut olduğundan işlev TRUE değerini döndürür.

Ayrıca bu işlevin büyük/küçük harfe duyarlı olmadığını unutmayın.

Örneğin, “teams” sayfa adının mevcut olup olmadığını kontrol edersek, işlev ayrıca TRUE değerini döndürür:

Ancak, “antrenörler” sayfa adının mevcut olup olmadığını kontrol ettiğimizi varsayalım:

Bu sayfa adı çalışma kitabında bulunmadığından işlev FALSE değerini döndürür.

Ek kaynaklar

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

VBA: Bir çalışma kitabındaki sayfaların sayısı nasıl sayılır?
VBA: Başka bir çalışma kitabından veri nasıl çıkarılır
VBA: birden fazla satır nasıl eklenir

Yorum ekle

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