Vba: bir aralıktan sütun numarası nasıl alınır?


VBA kullanarak Excel’deki bir aralıktan sütun numarası almak için aşağıdaki yöntemleri kullanabilirsiniz:

Yöntem 1: Belirli bir aralıktan sütun numarasını alın

 Sub GetColumnNumber()

colNum = Range(" D7 ").Column
MsgBox colNum

End Sub

Bu özel makro, D7 hücresine karşılık gelen sütun numarasını içeren bir mesaj kutusu görüntüler; D, sayfadaki dördüncü sütun olduğundan bu sayı 4 olacaktır.

Yöntem 2: Şu anda seçili olan aralığın sütun numarasını alın

 Sub GetColumnNumber()

colNum = Selection.Column
MsgBox colNum

End Sub

Bu özel makro, Excel’de seçili aralığa karşılık gelen sütun numarasını içeren bir mesaj kutusu görüntüler.

Örneğin bu makroyu çalıştırdığınızda B3 hücresi seçilirse B sütunu sayfanın ikinci sütunu olduğundan 2 değerinde bir mesaj kutusu görünecektir.

Aşağıdaki örnekler her yöntemin pratikte nasıl kullanılacağını göstermektedir.

Örnek 1: Belirli bir aralıktan sütun numarasını alın

Diyelim ki D7 hücre referansı için sütun numarasını almak istiyoruz.

Bunun için aşağıdaki makroyu oluşturabiliriz:

 Sub GetColumnNumber()

colNum = Range(" D7 ").Column
MsgBox colNum

End Sub

Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:

Mesaj kutusu, D7 hücre referansının sütun numarasına karşılık gelen 4 değerini görüntüler.

Örnek 2: Şu anda seçili olan aralığın sütun numarasını alın

Şu anda aktif olan hücrenin sütun numarasını almak istediğimizi varsayalım.

Bunun için aşağıdaki makroyu oluşturabiliriz:

 Sub GetColumnNumber()

colNum = Selection.Column
MsgBox colNum

End Sub

Şu anda B3 hücresinin seçili olduğunu varsayalım.

Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:

Mesaj kutusu, B3’teki o anda etkin olan hücrenin sütun numarasına karşılık gelen 2 değerini görüntüler.

Ek kaynaklar

Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

VBA: Bir aralıktan satır numarası nasıl alınır
VBA: Bir sütundaki değer nasıl bulunur?
VBA: Kullanılan sütunların sayısı nasıl sayılır?

Yorum ekle

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