Vba: son kullanılan sütun nasıl bulunur?
Bir Excel sayfasında son kullanılan sütunu bulmak için VBA’da aşağıdaki temel sözdizimini kullanabilirsiniz:
Sub FindLastColumn()
Range(" A14 ") = Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column
End Sub
Bu özel örnek, geçerli sayfada en son kullanılan sütunu arar ve sonucu A14 hücresine döndürür.
Bunun yerine bir mesaj kutusunun son sütununu görüntülemek istiyorsanız aşağıdaki sözdizimini kullanabilirsiniz:
Sub FindLastColumn()
Dim LastCol As Long
LastCol=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column
MsgBox " Last Column: " & LastCol
End Sub
Aşağıdaki örnekler bu yöntemlerin her birinin pratikte nasıl kullanılacağını göstermektedir.
İlgili: VBA: Son Kullanılan Satır Nasıl Bulunur?
Örnek 1: VBA’yı kullanarak son sütunu 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 sütunu bulmak ve sonucu A14 hücresinde görüntülemek için aşağıdaki makroyu oluşturabiliriz:
Sub FindLastColumn()
Range(" A14 ") = Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
A14 hücresinin 2 değerini içerdiğine dikkat edin.
Bu bize bu özel sayfada kullanılan son sütunun 2. sütun olduğunu söyler.
Ayrıca, kullanılmış bir sütundan önce boş sütunlarınız varsa, bu makronun her zaman son kullanılan sütunu bulacağını da belirtmekte fayda var.
Örneğin, makroyu aşağıdaki veri kümesinde çalıştırdığımızı varsayalım:
A14 hücresi, değerleri içeren son sütun olduğundan 5 değerini içerir.
Örnek 2: VBA’yı kullanarak son sütunu bulun ve sonuçları mesaj kutusunda görüntüleyin
Bunun yerine, bir sayfada son kullanılan sütunu bulmak ve sütun numarasını bir mesaj kutusunda görüntülemek istediğimizi varsayalım.
Bunun için aşağıdaki makroyu oluşturabiliriz:
Sub FindLastColumn()
Dim LastCol As Long
LastCol=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column
MsgBox " Last Column: " & LastCol
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
Mesaj kutusu bize sayfada kullanılan son sütunun 2. sütun 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