EXCEL VBA'DA LAST ROW [SON SATIR] FONKSİYONU

 

VBA Son satır, Excel'deki son satırı bulmamıza yardımcı olur. Aynı görevi Excel'de gerçekleştirmemiz gerektiğinde, bunu bir döngü içinde gerçekleştirmek yaygın bir uygulamadır (For Next, For Each). Bu döngülerin kaç kez çalıştırılması gerektiğine karar vermek için bir başlangıç ​​ve bir bitiş numarasına ihtiyaçları vardır. Bunun için, çalışma sayfasının son kullanılan hücresini veya satırını dinamik olarak bulmalıyız.


Bu yazımızda son kullanılan satırı bulmak için kullanılan tüm ileri düzey hesaplamaları ve kodlamaları öğreneceğiz.


ÖNEMLİ NOKTALAR


  • VBA Son satır, çalışma sayfasındaki son satırı bulmak için kullanılır. Son satırı bulmak, çalışma sayfasının altından itibaren ilk boş olmayan hücre anlamına gelir.
  • VBA'da son satırı bulmak için Rows.Count yöntemini kullanmalıyız. Bu yöntem çalışma sayfasının altından itibaren ilk boş olmayan hücreyi arayacaktır.
  • Ayrıca Rows.Count metodunu kullanarak istediğimiz bir sütunu seçip o sütunun VBA'daki son satırını bulabiliriz.

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

Sütunun son kullanılan satırını bulmanın birçok yolu var ve şimdi bu yollardan bazılarını detaylı olarak göstereceğiz.

1 – Son Satırı Bulmak İçin Özel Hücreleri Kullanma

Excel çalışma sayfasındaki son kullanılan satırı bulmayı daha iyi anlamanız için, önce aynı yöntemi çalışma sayfasında göstereceğiz. Ardından, VBA kodunu yazmaya geçeceğiz .

Örneğin Excel'deki aşağıdaki verilere bakalım.

VBA Son Satır Örneği 1

Adım 1: Yukarıdaki veri tablosunda son kullanılan hücre E7'dir, bu hücreye gitmek için Ctrl + End kısayol tuşlarını kullanmamız gerekir .

A1 hücresini seçin.

Örnek 1 - A1'i seçin

Adım 2: Çalışma sayfasının son kullanılan hücresine gitmek için Ctrl + End kısayol tuşlarına basın .

VBA Son Satır Örneği 1 - Ctrl-End

Bu bizi son kullanılan hücreye, yani E7 hücresine götürür.

Adım 3: Benzer şekilde, VBA'da, verilen çalışma sayfasının son kullanılan hücresini bulmak için özel hücreler yöntemini kullanabiliriz.

Aşağıdaki kod çalışma sayfasının son kullanılan hücre adresini döndürecektir.

Sub Son_Kullanılan_Satır()

Dim LC As String
‘LC = Last Cell
LC = Range(“A1”).SpecialCells(xlCellTypeLastCell).Address
MsgBox LC

End Sub

Yukarıdaki kod, mesaj kutusunda son kullanılan hücre adresini döndürecektir.

VBA Son Satır Örneği 1 - mesaj kutusu

Görüldüğü gibi çalışma sayfasının en son kullanılan hücresi E7 hücresidir.

Adım 4: Özel hücre türünde 'Adres' özelliğini kullandık. Son kullanılan hücre satır numarasını almak için ROW özelliğini kullanmamız gerekiyor.

Sub Last_Used_Row()
Dim LC As String
‘LC = Last Cell
LC = Range(“A1”).SpecialCells(xlCellTypeLastCell).Row
MsgBox LC
End Sub

Bu, son kullanılan hücre satır numarasını döndürecektir.

Örnek 1 - satır numarası

Ancak bu yöntemin dezavantajları da var. Bunlardan bazılarını pratik örneklerle gösterelim.

Adım 5: Son kullanılan hücre, tam olarak son boş olmayan hücre anlamına gelmez. Örneğin, E7 hücresindeki değeri silelim.

Örnek 1 - Değeri sil

Biz sadece E7 hücresindeki değeri sildik ve bunun dışında başka bir şey yapmadık.

Adım 6: Şimdi kodu çalıştıralım ve son kullanılan satır numarasının ne olduğunu görelim.

VBA Son Satır Örneği 1 - son kullanılan satır

Son kullanılan satır numarası hala 7 numaralı satırdır.

Son kullanılan boş olmayan hücre değerini almak için, E7 hücresini silmemiz (tüm biçimlendirme silinecek) ve son kullanılan satır numarasını doğru şekilde almak için çalışma kitabını kaydetmemiz gerekir.

VBA Son Satır Örneği 1 - beşinci satır

Şimdi, E7 hücresindeki değeri sildik ve çalışma kitabını kaydettik. Sonra, kodu çalıştırdığımızda, son kullanılan satırı 5 olarak alacağız.

2 – Boş Olmayan Hücreler İçin Rows.Count Kullanımı

Belirli bir sütunun son boş olmayan hücresine ulaşmak için Rows.Count metodunu kullanabiliriz. Önceki örnekteki aynı verileri kullanacağız.

VBA Son Satır Örneği 2

Rows.Count seçeneğini kullanarak son kullanılan hücre satır numarasını bulacağız. Son kullanılan satırı bulmak için bir kod yazmadan önce, çalışma sayfasında yaptığımız aktiviteyi size gösterelim.

Adım 1: İlk olarak, çalışma sayfasının son hücresine gitmemiz gerekiyor. Çalışma sayfasının son hücresine gitmek için, etkin hücre A1 hücresiyken Excel kısayol tuşları Ctrl + Aşağı Ok'a basacağız.

VBA Son Satır Örneği 2 - Ctrl-Aşağı Ok

Adım 2: Ctrl + Aşağı Ok tuşlarını kullandığımızda, bizi son boş olmayan hücreye, yani A5'e götürür. Bu hücreden, tekrar Ctrl + Aşağı Ok kısayol tuşlarına bastığımızda, bizi A sütununun son hücresine götürecektir.

VBA Son Satır Örneği 2 - boş olmayan son hücre

Adım 3: Şimdi A sütununun son hücresindeyiz. Bu hücreden son kullanılan hücreye gitmek için Ctrl + Yukarı Ok kısayol tuşlarına basın .

VBA Son Satır Örneği 2 - Ctrl-Yukarı Ok

Bizi A sütununun son kullanılan hücresine götürür.

Benzer bir yaklaşımı VBA ile de uygulayacağız.

Adım 4: İlk olarak satır numarasını tutacak bir VBA değişkeni tanımlayın ve sayısal veri türünü Long olarak atayın .

Örnek 2 - Adım 1

Adım 5: Bu değişkene son satırı atayacağız.

Örnek 2 - Adım 2

Adım 6: Hücreler özelliğine girin ve parantezi açın.

Örnek 2 - Adım 3

Adım 7: Şimdi son hücreye gitmemiz gerekiyor. Son hücreye gitmek için Rows.Count seçeneğini kullanın.

Örnek 2 - Adım 4

Rows.Count kaç satır olduğunu sayacaktır. Sonra, VBA'da son satırı bulmaya çalıştığımız sütunun sütun numarasını sağlamamız gerekir, yani sütun 1.

Örnek 2 - Adım 5

Adım 8: Şu anda A sütununun son hücresindeyiz. Bu hücreden Ctrl + Yukarı Ok kısayol tuşlarına basmamız gerekiyor . VBA'da END özelliğini kullanabilir ve ardından yukarı doğru hareket etmek için xlUp tuşunu seçebiliriz.

Örnek 2 - Adım 6

Adım 9: Bu bizi A sütununun son kullanılan hücresine götürecektir. Son kullanılan hücrenin satır numarasını almak için ROW özelliğini kullanmamız gerekir.

Örnek 2 - Adım 7

Adım 10: Şimdi, mesaj kutusunda değişken LR değerini gösterin.

Örnek 2 - Adım 8

Sub Rows_Count_Last_Row ()

Dim LR As String

‘LR = Last Row

LR = Cells(Rows.Count, 1).End(xlUp).Row

MsgBox LR

End Sub

Bu, son kullanılan satır numarasını döndürecektir.

Örnek 2 - Çıktı

Adım 11: Nasıl çalıştığını kontrol etmek için, iki boş satır bırakarak bir değer ekleyelim.

VBA Son Satır Örneği 2 - değer ekle

Bu kod son kullanılan satırı 9 olarak döndürecektir.

VBA Son Satır Örneği 2 - satır 9

Son kullanılan hücre satırını bulmak için CELLS özelliği yerine Range nesnesini de kullanabiliriz. Aşağıdaki kod referansınız içindir.

Sub Rows_Count_Last_Row()
Dim LR As String
‘LR = Last Row
LR = Range(“A” & Rows.Count).End(xlUp).Row
MsgBox LR
End Sub

RANGE nesnesiyle sütun numarası olarak A sütununu veriyoruz ve yalnızca bu sütunda son kullanılan hücre satırını bulacak.


3 – Herhangi Bir Seçili Sütun İçin Rows.Count Kullanımı

Önceki örnek, A sütununun son kullanılan hücre satır numarasını döndürdü. Ancak, her zaman sadece A sütununun son kullanılan hücre satır numarasına ihtiyacımız olması gerekmez. Bu nedenle, seçilen herhangi bir sütunun son kullanılan hücre satır numarasını bulma esnekliğine sahip olmalıyız.

Aşağıdaki kod, seçilen sütunun son kullanılan hücre satır numarasını döndürecektir.

Sub Satırlar_Sayısı_Seçilen_Sütun()

Dim LR As Long
'LR = Last Row
Dim C As Long
' C = Column

C = Selection.Column

LR = Cells(Rows.Count, C).End(xlUp).Row

MsgBox LR

End Sub

Adım 1: Kodu çalıştırmadan önce, son kullanılan satırı bulmamız gereken sütunu seçmemiz gerekiyor. C sütununu seçelim.

Örnek 3

Adım 2: Şimdi kodu çalıştırın.

Vba Son Satır Örneği 3 - Çıktı

Seçilen C sütununda son kullanılan satır numarası 6'dır.

Aynı şekilde hücrelerden herhangi birini seçip kodu test edebiliriz.

4 – Son Satırı Bulmak İçin UsedRange Kullanımı

Ayrıca aktif sayfanın son kullanılan satırını da bulabiliriz. Aşağıdaki kod, kullanılan aralık özelliğini kullanarak son kullanılan satırı döndürecektir.

Sub Satırlar_Sayısı_KullanılanAralık()

Dim LR As Long
'LR = Last Row

Dim Ws As Worksheet

Set Ws = ActiveSheet

LR = Ws.UsedRange.Rows(Ws.UsedRange.Rows.Count).Row

MsgBox LR

End Sub

Bu, geçerli çalışma sayfasının kullanılan aralığının son kullanılan hücre satırını döndürür.

5 – Son Satırı Bulmak İçin Range.Find Kullanımı

VBA'daki Find yöntemi çeşitli görevler için kullanılır ve bunu son kullanılan hücre satırını bulmak için de kullanabiliriz. Range.Find yönteminin sözdizimi aşağıdaki gibidir:

Vba son satır örneği 5 - Aralık bulma

Daha iyi anlaşılması için sözdizimini basitleştirelim.

Şimdi aşağıdaki koda bakalım.

Sub Satırlar_Sayısı_Aralığı_Bul()

Dim LR As Long
'LR = Last Row

LR = Cells.Find(What:="*", _
                After:=Range("A1"), _
                SearchDirection:=xlPrevious, _
                SearchOrder:=xlByRows).Row
MsgBox LR

End Sub

Kod Açıklaması:

Yukarıdaki, A1 hücresinden başlayarak tüm çalışma sayfasındaki ilk boş olmayan hücreyi arar ancak arama çalışma sayfasının en altından başlar.

What:= “*” – Find yönteminin What sözdiziminde, hücredeki herhangi bir metni veya sayıyı bulan joker karakter yıldız işaretini (*) kullanıyoruz. Basitçe söylemek gerekirse, boş olmayan ilk hücreyi arar.

After:= Range(“A1”) – Arama, çalışma sayfasındaki ilk hücre olan A1 hücresinden başlamalıdır. Aramanın A1 hücresinden sonra gerçekleşmesini sağladığımızdan, bulma işlemi A1 hücresini dikkate almayacaktır. Bul, yalnızca SearchOrder ve SearchDirection'a bağlı olarak A1 hücresinden sonra çalışacaktır.

SearchDirection: = xlPrevious – Bu argüman önemlidir, çünkü bu argümanda girdiyi xlPrevious olarak sağladık , yani bulma işlemi sağdan sola ve aşağıdan yukarıya doğru başlamalıdır.

SearchOrder: = xlByRows – Bu, bulma işleminin satır satır gerçekleşmesini sağlar.

Şimdi işlevselliğini daha iyi anlamak için size birkaç örnek gösterelim.

Aşağıdaki verilere bakın.

Vba Son Satır Örneği 5 - Adım 1

Bu kodu çalıştırdığımızda son kullanılan satırın 7 olduğunu göreceğiz.

Vba son satır örneği 5 - adım 2

Şimdi A10 hücresine bir değer ekleyelim.

Vba Son Satır Örneği 5 - Adım 3

Şimdi kodu çalıştırın ve son kullanılan satır olarak 10 numaralı satırı döndürmelidir.

Vba son satır örneği 5 - adım 4

Şimdi D12 hücresine bir değer ekleyelim.

Vba Son Satır Örneği 5 - Adım 5

Şimdi kodu çalıştırın ve ne olacağını görün.

Vba Son Satır Örneği 5 - Çıktı

Şimdi son kullanılan hücre satırını 12 olarak döndürüyor.

Range.Find metodunun en iyi kısmı budur. Değeri olan son kullanılan hücreyi bulur.

Menzil.Bul yöntemi önceki yöntemlere göre daha çok yönlüdür.

Rows.Count metodunda, satır numarasını bulmaya çalıştığımız sütun numarasını belirtmemiz gerekir. Ancak Find metoduyla, sütun numarasını belirtmemize gerek kalmaz.


1. VBA son satırına otomatik doldurma nasıl yapılır?

Değeri otomatik doldurmak için , otomatik doldurma işlevini sınırlamak için kullanılan son değeri bulmamız gerekir. Örneğin, aşağıdaki verilere bakın.

Vba Son Satır SSS 1

A sütununa, A2 hücresinden başlayarak seri numaraları girmemiz gerekiyor ve seri numarası 1 artırılmalı

. A2 ve A3 hücrelerine sırasıyla 1 ve 2 değerlerini girdik. Aşağıdaki kod, son kullanılan satıra kadar 1 artırılan sayıları otomatik olarak dolduracaktır.

SSS 1 - Kod

Bu, son kullanılan hücre satırına kadar sayıları otomatik olarak dolduracaktır.

Vba Son Satır SSS 1 - Çıktı

2. VBA son satırına nasıl gidilir ve seçilir?

Örneğin Excel'deki aşağıdaki verilere bakalım.

Vba Son Satır SSS 1 - Çıktı

Son kullanılan hücreyi seçmek için aşağıdaki kodu kullanabiliriz.

Vba Son Satır SSS 2

Bu, çalışma sayfasının son kullanılan hücresini seçecektir.

3. VBA Son Satır Neden Çalışmıyor?

Hatalardan kaçınmak için, her zaman en son kullanılan hücrenin satır numarasını almak için sonuna bir satır özelliği sağlayın.

Yorum Gönder

DT KARİYER KPSS Dünyasına Hoş Geldiniz
Sevgili dostum nasıl yardımcı olabilirim?
Bu alana yazınız...