Vba: kriterlere göre satırlar nasıl gizlenir?
Hücre değerine dayalı satırları gizlemek için VBA’da aşağıdaki sözdizimini kullanabilirsiniz:
SubHideRows ()
Dim i As Integer
For i = 2 To 10
If Cells(i, 1).Value = " Mavs " Then
Cells(i, 1).EntireRow.Hidden = True
Else
Cells(i, 1).EntireRow.Hidden = False
End If
Next i
End Sub
Bu özel makro, ilk sütunda “Mavs” değerine eşit hücre değerine sahip olan 2 ila 10 aralığındaki tüm satırları gizler.
Tüm satırları görüntülemek için aşağıdaki makroyu da kullanabilirsiniz:
SubUnhideRows ()
Rows.EntireRow.Hidden = False
End Sub
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: Satırları ölçütlere göre gizlemek için VBA’yı kullanma
Çeşitli basketbol oyuncuları hakkında bilgi içeren aşağıdaki veri setine sahip olduğumuzu varsayalım:
Diyelim ki takım sütununda “Mavs” içeren her satırı gizlemek istiyoruz.
Bunun için aşağıdaki makroyu oluşturabiliriz:
SubHideRows ()
Dim i As Integer
For i = 2 To 10
If Cells(i, 1).Value = " Mavs " Then
Cells(i, 1).EntireRow.Hidden = True
Else
Cells(i, 1).EntireRow.Hidden = False
End If
Next i
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
Takım sütununda “Mavs” içeren her satırın artık gizlendiğini unutmayın.
İstersek tüm satırları görüntülemek için aşağıdaki makroyu oluşturabiliriz:
SubUnhideRows ()
Rows.EntireRow.Hidden = False
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
Tüm satırların yeniden görüntülendiğini unutmayın.
Kriterlere göre 2 ile 10 arasındaki satırları gizlemek için makromuzda For i = 2 To 10 değerini belirttiğimize dikkat edin.
Farklı bir satır aralığındaki satırları gizlemek için bu başlangıç ve bitiş değerlerini değiştirmekten çekinmeyin.
Ek kaynaklar
Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
VBA: Hücrelere koşullu biçimlendirme nasıl uygulanı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?