Vba: son kullanılan satırı nasıl bulabilirim?
Bir Excel sayfasında son kullanılan satırı bulmak için VBA’da aşağıdaki temel sözdizimini kullanabilirsiniz:
Sub FindLastRow()
Range(" D2 ")=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row
End Sub
Bu özel örnek, geçerli sayfada kullanılan son satırı arar ve sonucu D2 hücresine döndürür.
Bunun yerine bir mesaj kutusunun son satırını görüntülemek istiyorsanız aşağıdaki sözdizimini kullanabilirsiniz:
Sub FindLastRow()
Dim LastRow As Long
LastRow=Cells.Find("*", Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row
MsgBox " Last Row: " & LastRow
End Sub
Aşağıdaki örnekler bu yöntemlerin her birinin pratikte nasıl kullanılacağını göstermektedir.
Örnek 1: VBA’yı kullanarak son satırı bulun ve sonuçları hücrede görüntüleyin
Diyelim ki Excel’de çeşitli basketbol oyuncuları hakkında bilgiler içeren aşağıdaki veri kümesine sahibiz:
Bu Excel sayfasında kullanılan son satırı bulmak ve sonucu D2 hücresinde görüntülemek için aşağıdaki makroyu oluşturabiliriz:
Sub FindLastRow()
Range(" D2 ")=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
D2 hücresinin 11 değerini içerdiğine dikkat edin.
Bu bize bu özel sayfada kullanılan son satırın 11. satır olduğunu söyler.
Ayrıca, kullanılmış bir hücreden önce boş hücreleriniz varsa, bu makronun her zaman son kullanılan satırı bulacağını da belirtmekte fayda var.
Örneğin, makroyu aşağıdaki veri kümesinde çalıştırdığımızı varsayalım:
D2 hücresi, değer içeren son satır olduğundan 16 değerini içerir.
Örnek 2: VBA’yı kullanarak son satırı bulun ve sonuçları mesaj kutusunda görüntüleyin
Bunun yerine, bir sayfada son kullanılan satırı bulmak ve satır numarasını bir mesaj kutusunda görüntülemek istediğimizi varsayalım.
Bunun için aşağıdaki makroyu oluşturabiliriz:
Sub FindLastRow()
Dim LastRow As Long
LastRow=Cells.Find("*", Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row
MsgBox " Last Row: " & LastRow
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
Mesaj kutusu bize sayfada kullanılan son satırın 11. satır olduğunu bildirir.
Not : VBA Find yöntemine ilişkin tüm belgeleri burada bulabilirsiniz.
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ığın ortalama değeri nasıl hesaplanır
VBA: Aralıktaki satır sayısı nasıl sayılır?
VBA: Aralıktaki yinelenen değerler nasıl kaldırılır