Seçili Sütundaki Son Dolu Hücreyi Bulma


Seçili Excel Sütunundaki En Son Dolu Hücreyi Bulma ve Bu Kodu Menüye Ekleme

Rapor hazırlarken sık karşılaştığım sorunlardan birtanesi güncelleme ya da kopyalama işlemi gerçekleştirmek istediğim uzun satırlar boyunca boşluklu data içeren bir sütunun tümünü seçmek oldu. Bir sütunu sonuna kadar seçmek istediğimizde en kısa yol seçmeye başlamak istediğimiz hücreyi seçip ctrl+shift+alt ok ile aşağıya kadar inmektir. Ancak bu şekilde her boşluk olan satırda dura dura ilerler ve uzun satırlı datalarda fazla zaman kaybına yol açar.

Sütunundaki son dolu hücreyi bulma konusunda 4 adımda ilerleyeceğiz:

  1. Bir sütundaki en son dolu hücreyi bulmak
  2. Son dolu hücreye kadarki hücre aralığını seçmek
  3. Kodu istenilen herhangi bir hücrede kullanılacak şekilde dinamik hale getirmek
  4. Makromuzu menüye eklemek

1.Bir sütundaki en son dolu hücreyi bulmak

Bunun için Range ifadesinin End(Xlup) methodunu kullanacağız. Asağıdaki örnekte ulaşmak istediğim son hücre Range(“A17”) hücresi ve bu hücrenin satır numarası 17, içerisindeki değer ise 4.

sondoluhucre

 


Sub sondoluhucre()

Dim i As Integer

i = Range("A1048576").End(xlUp).Row 'i bir integer değer ve bize A sütunundaki en son dolu hücrenin satır numarasını verecek

MsgBox i 'msg box ile i değerini göstereceğiz

End Sub

sondoluhucre2
1.1.Son hücrenin satır numarasını değil o hücrenin adresi olan A17 yi döndürelim


Sub sondoluhucre()

Dim i As Range 'i değişkenimi bir hücre olarak tanımladım.

Set i = Range("A" & Range("A1048576").End(xlUp).Row) 'object olarak tanımlanan değişkenlerin başına set koymayı unutmayalım

MsgBox i.Address 'i hücresinin adresini msgbox ile getirelim

End Sub

sondoluhucre2

 

1.2.Son hücrenin satır numarasını değil o hücrenin içerisindeki değeri yani 4’ü döndürelim


Sub sondoluhucre()

Dim i As Range 'i değişkenimi bir hücre olarak tanımladım.

Set i = Range("A" & Range("A1048576").End(xlUp).Row) 'object olarak tanımlanan değişkenlerin başına set koymayı unutmayalım

MsgBox i.Value  'i hücresinin değerini msgbox ile getirelim. 

End Sub

sondoluhucre2
Dikkat : 2003 ve önceki excellerde sayfa sonu 60 bin civarında olduğu için yukarıda kullandığımız sayfadaki en son satır olan (“A1048576”) hücresi 2013’den eski versiyonlarda hata verecektir. Bu nedenle çalışma kitabındaki toplam satır sayısını da dinamik olarak tanımlayalım.


Sub sondoluhucre()

Dim i As Integer 'i yi integer olarak tanımladım çünkü son dolu hücrenin adresini değil satır numarasını alacağım

i = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row 'ilgili sayfadaki satır sayısını dinamik olarak aldık.

MsgBox i

End Sub


2.Son dolu hücreye kadarki hücre aralığını seçmek

Artık son dolu hücremin hücre numarasını ya da hücre adresini almayı öğrendik şimdi yukarıdaki örnek üzerinde “A2:A17” hücre aralığını seçelim:


Sub sondoluhucre()

Dim i As Integer

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

Range("A2:A" & i).Select   'ya da   Range(Cells(2, 1), Cells(i, 1)).Select

End Sub

istediğimiz şekilde son dolu satıra kadar olan alanı seçtik

sondoluhucre2

 3.Kodu farklı sütunlarda kullanılacak şekilde dinamik hale getirmek

Tabii ki seçmek istediğimiz aralık her zaman A sütununda olmayacak bu sebeple üzerinde bulunduğumuz aktif hücreden başlamak üzere tüm dolu alanı seçeceğimiz dinamik kodumuzu yazalım. Bunun için bir sütun değişkeni de tanımlamamız gerekecek.

sondoluhucre2
H5 hucresinden son dolu hucreye kadarki alani secmek istiyorum.

Sub sondoluhucre()

Dim i As Integer

i = ActiveSheet.Cells(Rows.Count, Selection.Column).End(xlUp).Row

Range(Cells(Selection.Row, Selection.Column), Cells(i, Selection.Column)).Select

End Sub

sondoluhucre2

 

 4.Makroyu menüye buton olarak ekleme

Yukarıdaki kodu tek bir excelden ziyade birden çok çalışma kitabında sürekli kullanmak isteyebiliriz. Bunun için yukarıdaki kodu Kişisel Makro Çalışma kitabı/Personal Macro Workbook kod bloğu arasına yazıp kaydedelim.

Makro’yu Hızlı Erişim Araç Çubuğuna Ekleme ile ilgili detaylı konu anlatımına buradan ulaşabilirsiniz.

Hızlı erişim araç çubuğunda/Quick Access Toolbar alt ok ikonunu tıklayalım.

Komut Listesinden Makroları/Macros seçelim ve “Son dolu hücre” makrosunu Ekle/Add komutu ile hızlı erişim araç çubuğuna ekleyelim.

Artık “son dolu hucre” makrosunu tüm excel çalışma kitaplarında kullanabilirim.

2016-05-08 23_42_07-Excel Options

son_dolu_hücre

 

Reklamlar

Seçili Sütundaki Son Dolu Hücreyi Bulma” üzerine 6 yorum

  1. Yorumda çok garip ,farlıdır yani büyük ve küçük matematiksel sembollerini yazamıyoruz.Boş çıkartıyor.

    • =LOOKUP(2,1/(C8:C4999″”),C8:C4999) bu formül c8:c4999 arasındaki son dolu değeri okur ancak buradaki formülde nedense ” ” işareti çıkmıyor.Parantez içerisindeki “” işaretinden önce büyük ve küçük işareti yani farklı işareti olmalı.(“”)

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s