VBA Son Satır - Son Kullanılan Satırı Bulmak İçin En İyi 3 Yöntem?

İçindekiler

VBA'da son satırı bulmamız gerektiğinde birçok farklı yöntem vardır ve en yaygın kullanılan yöntem End (XLDown) yöntemidir ve VBA, End (XLDown) içindeki find işlevini kullanarak son değeri bulmak gibi başka yöntemler de vardır. ). Satır, son satıra gitmenin en kolay yoludur.

Excel VBA Son Satır

VBA'da yaptığınız ilk ilerleme kodu yazmaksa, kodu dinamik yapmak sizin için bir sonraki adımdır. Excel, hücre referanslarıyla doludur. Hücreye başvurduğumuz an sabitleşir. Verilerimiz artarsa, sonucu güncel hale getirmek için hücre referansına geri dönmemiz ve referansları değiştirmemiz gerekir.

Bir örnek için aşağıdaki koda bakın.

Kod:

Alt Son_Sıra_Örnek1 () Aralık ("D2"). Değer = Çalışma SayfasıFonksiyonu.Sum (Aralık ("B2: B7")) Son Alt

Yukarıdaki kod D2'de, hücre değerinin Aralık ("B2: B7") toplamı olması gerektiğini söylüyor.

Şimdi listeye daha fazla değer ekleyeceğim.

Şimdi, kodu çalıştırırsam, bana güncelleme sonucunu vermeyecek, yine de eski aralığa, yani Aralık'a ("B2: B7") bağlı kalıyor.

Dinamik kodun çok önemli olduğu yer burasıdır.

Kodun dinamik hale getirilmesi sürecinde, sütunda son kullanılan satırı bulmak çok önemlidir. Bu yazıda, Excel VBA'da son satırı bulmanın yollarını tartışacağız.

Sütunda Son Kullanılan Satır Nasıl Bulunur?

Aşağıda, Excel VBA'da son kullanılan satırı bulmak için örnekler verilmiştir.

Yöntem 1

Size kodu açıklamadan önce, normal çalışma sayfasındaki son satıra nasıl gittiğinizi hatırlamanızı istiyorum.

Ctrl + aşağı ok kısayol tuşunu kullanacağız .

Bizi boş hücrelerden önceki son kullanılan satıra götürecektir. Son satırı bulmak için VBA'da da aynı yöntemi kullanacağız.

Adım 1: Değişkeni UZUN olarak tanımlayın.

Kod:

Sub Last_Row_Example2 () Dim LR As Long 'LR = Son Satır Sonu Sub

Adım 2: Bu değişken için son kullanılan satır numarasını atayacağız.

Kod:

Sub Last_Row_Example2 () Dim LR As Long 'LR = Last Row'u anlamak için LR = End Sub

Adım 3: Kodu CELLS (Rows.Count,

Kod:

Sub Last_Row_Example2 () Dim LR As Long 'LR = Last Row LR = Hücreleri (Rows.Count, End Sub

Adım 4: Şimdi sütun numarasını 1 olarak belirtin.

Kod:

Sub Last_Row_Example2 () Dim LR As Long 'LR = Last Row LR = Hücreleri (Rows.Count, 1) End Sub

CELLS (Rows.Count, 1) , ilk sütunda kaç satır olduğunu saymak anlamına gelir.

Yani yukarıdaki VBA kodu bizi excel sayfasının son satırına götürecektir.

Adım 5: Son kullanılan satıra gitmek için sayfanın son hücresindeysek Ctrl + Yukarı Ok tuşu olan kısayol tuşuna basacağız .

VBA'da, bitiş anahtarını ve yukarı, yani End VBA xlUp'ı kullanmamız gerekiyor

Kod:

Sub Last_Row_Example2 () Dim LR As Long 'LR = Last Row LR = Hücreleri anlamak için (Rows.Count, 1) .End (xlUp) End Sub

Adım 6: Şimdi, bizi alttan son kullanılan sıraya götürecektir. Şimdi bunun satır numarasına ihtiyacımız var. Bu nedenle satır numarasını almak için SATIR özelliğini kullanın.

Kod:

Sub Last_Row_Example2 () Dim LR As Long 'LR = Last Row LR = Hücreleri anlamak için (Rows.Count, 1) .End (xlUp) .Row End Sub

Adım 7: Şimdi, değişken son kullanılan satır numarasını tutar. VBA kodundaki mesaj kutusunda bu değişkenin değerini gösterin.

Kod:

Sub Last_Row_Example2 () Dim LR As Long 'LR = Last Row LR = Hücreleri anlamak için (Rows.Count, 1) .End (xlUp) .Row MsgBox LR End Sub

Bu kodu F5 tuşunu kullanarak veya manuel olarak çalıştırın. Son kullanılan satırı gösterecektir.

Çıktı:

Bu çalışma sayfasındaki son kullanılan satır 13'tür.

Now I will delete one more line and run the code and see the dynamism of the code.

Ok, now the result automatically takes the last row.

This is what the dynamic VBA last row code is.

As I showed in the earlier example, change the row number from a numeric value to LR.

Code:

Sub Last_Row_Example2() Dim LR As Long 'For understanding LR = Last Row LR = Cells(Rows.Count, 1).End(xlUp).Row Range("D2").Value = WorksheetFunction.Sum(Range("B2:B" & LR)) End Sub

I have removed B13 and added the variable name LR.

Now it does not matter how many rows you add. It will automatically take the updated reference.

Method #2

We can also find the last row in VBA by using the Range object and special VBA cells property as well.

Code:

Sub Last_Row_Example3() Dim LR As Long LR = Range("A:A").SpecialCells(xlCellTypeLastCell).Row MsgBox LR End Sub

Kod ayrıca size son kullanılan satırı verir. Örneğin, aşağıdaki çalışma sayfası resmine bakın.

Kodu manuel olarak çalıştırırsam veya F5 tuşunu kullanırsam sonuç 12 olacaktır, çünkü 12 son kullanılan satırdır.

Çıktı:

Şimdi 12. satırı silip sonucu göreceğim.

Bir satırı silmiş olsam da sonucu hala 12 olarak gösteriyor.

Bu kodun çalışması için her işlemden sonra kaydet düğmesine basmamız gerekir. Daha sonra bu kod doğru sonuçlar verecektir.

Çalışma kitabını kaydettim ve şimdi sonucu görüyorum.

Yöntem 3

VBA'nın son satırını kullanılan aralıkta bulabiliriz. Aşağıdaki kod da son kullanılan satırı döndürür.

Kod:

Sub Last_Row_Example4 () LR As Long LR = ActiveSheet.UsedRange.Rows (ActiveSheet.UsedRange.Rows.Count) .Row MsgBox LR End Sub

Bu aynı zamanda son kullanılan satırı da döndürecektir.

Çıktı:

Ilginç makaleler...