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

Yorum ekle

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