Vba'da elektronik tablolara nasıl gözatılır (örneklerle)


VBA kullanarak bir Excel çalışma kitabındaki sayfalarda gezinmek için aşağıdaki yöntemleri kullanabilirsiniz:

Yöntem 1: Tüm e-tabloları gözden geçirin

 SubLoopSheets ()

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets

    ws.Range("A1").Value = 100

Next ws

End Sub

Bu özel makro, çalışma kitabındaki her sayfayı inceler ve her sayfanın A1 hücresindeki değeri 100 olarak ayarlar.

Yöntem 2: Belirli olanlar hariç tüm çalışma sayfalarına göz atın

 SubLoopSheets ()

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets

    Select Case ws.Name
        Case Is = "Sheet2", "Sheet3"
        'Do not execute any code for these sheets
        Case Else
        ws.Range("A1").Value = 100
    End Select

Next ws

End Sub

Bu özel makro, çalışma kitabındaki her sayfada döngü yapar ve Sayfa2 ve Sayfa3 adı verilen sayfalar hariç , her sayfanın A1 hücresindeki değeri 100 olarak ayarlar.

Aşağıdaki örnekler, dört boş sayfa içeren bir Excel çalışma kitabıyla bu yöntemlerin her birinin pratikte nasıl kullanılacağını gösterir:

Örnek 1: Tüm çalışma sayfalarına göz atın

Çalışma kitabımızın her sayfasındaki A1 hücresinin değerini 100’e eşitlemek için aşağıdaki makroyu kullanabiliriz:

 SubLoopSheets ()

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets

    ws.Range("A1").Value = 100

Next ws

Bu makroyu çalıştırdığımızda çalışma kitabının her sayfasındaki A1 hücresinin değeri 100 olacaktır:

Örnek 2: Belirli olanlar hariç tüm çalışma sayfalarına göz atın

Diyelim ki her çalışma sayfasını gözden geçirmek ve Sheet2 ve Sheet3 adlı sayfalar hariç her sayfadaki A1 hücresinin değerini 100 olarak ayarlamak istiyoruz.

Bunun için aşağıdaki makroyu oluşturabiliriz:

 SubLoopSheets ()

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets

    Select Case ws.Name
        Case Is = "Sheet2", "Sheet3"
        'Do not execute any code for these sheets
        Case Else
        ws.Range("A1").Value = 100
    End Select

Next ws

End Sub

Bu makroyu çalıştırdığımızda A1 hücresinde Sheet1 ve Sheet4’ün 100 değerine sahip olduğunu göreceğiz.

Ancak, bu sayfaları yok saymak için Case işlevini kullandığımızdan, Sayfa2 ve Sayfa3’ün A1 hücresinde hiçbir değeri olmayacaktır:

Bu örneklerde, basitlik adına her çalışma sayfasını tek tek incelediğimizi ve bir hücrenin değerini belirli bir değere eşitlediğimizi unutmayın.

Ancak isterseniz her sayfada çok daha karmaşık görevleri gerçekleştirmek için For Every deyimiyle benzer sözdizimini kullanabilirsiniz.

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