Excel'de vba'da activecell nasıl kullanılır?
VBA’da aktif hücre, o anda aktif olan hücreyi temsil eden bir özelliktir. Bir hücre seçtiğinizde veya bir hücreye gittiğinizde ve bu yeşil kutu o hücreyi kapladığında, VBA kodunda o hücreye başvurmak için ACTIVECELL özelliğini kullanabilirsiniz. Onunla birlikte gelen özellikler ve yöntemler var.
Etkin hücre özelliğini kullan
- “ActiveCell” anahtar kelimesini yazın.
- Listeden özellikleri ve yöntemleri almak için nokta (.) yazın.
- Kullanmak istediğiniz özelliği veya yöntemi seçin.
- Etkin hücrede etkinliği gerçekleştirmek için kodu çalıştırın.
Önemli noktalar
- Etkin hücre özelliğini kullandığınızda VBA, o anda kaç çalışma kitabının açık olduğuna bakılmaksızın etkin çalışma kitabının etkin sayfasındaki etkin hücreyi ifade eder.
- ActiveCell sonuçta normal bir hücrenin tüm özelliklerine ve yöntemlerine sahip bir hücredir.
Seçilen aralıktaki bir hücreyi etkinleştir
VBA kodunu kullanarak bir hücreyi etkinleştirmek için “Etkinleştir” yöntemini ve “Seç” yöntemini iki şekilde kullanabilirsiniz.
Sub vba_activecell() 'select and entire range Range("A1:A10").Select 'select the cell A3 from the selected range Range("A3").Activate 'clears everything from the active cell ActiveCell.Clear End Sub
Yukarıdaki kod öncelikle A1:A10 aralığını seçer, ardından buradan A3 hücresini etkinleştirir ve sonunda aktif hücredeki yani A3 hücresindeki her şeyi temizler.
Aktif hücrenin dönüş değeri
Aşağıdaki kod, bir mesaj kutusu kullanarak etkin hücrenin değerini döndürür.
MsgBox ActiveCell.Value
Veya aktif hücrenin değerini alıp ayrı bir hücreye yapıştırmak istiyorsanız.
Range("A1") = ActiveCell.Value
Etkin hücreyi bir değişkene ayarla
Aşağıdaki örnekte olduğu gibi etkin hücreyi değişkene de ayarlayabilirsiniz.
Sub vba_activecell() 'declares the variable as range Dim myCell As Range 'set active cell to the variable Set myCell = ActiveCell 'enter value in the active cell myCell.Value = Done End Sub
ActiveCell’in satır ve sütun numarasını alın
Aktif hücrede, aktif hücrenin satır ve sütun sayısını almak için kullanabileceğiniz satır ve sütun özelliği bulunmaktadır.
MsgBox ActiveCell.Row MsgBox ActiveCell.Column
Aktif hücre adresini al
Etkin hücrenin adresini almak için adres özelliğini kullanabilirsiniz.
MsgBox ActiveCell.Address
Yukarıdaki kodu çalıştırdığınızda size aktif çalışma kitabının aktif sayfasındaki aktif hücrenin hücre adresinin bulunduğu bir mesaj kutusu gösterir (daha önce de belirttiğim gibi).
Ofset kullanarak etkin hücreden hareket etme
Ofset özelliği ile etkin hücreden birkaç satır ve sütun uzaktaki bir hücreye gidebilirsiniz.
ActiveCell.Offset(2, 2).Select
Etkin hücrede bir aralık seçin
Ayrıca aktif hücreden bir aralık da seçebilirsiniz.
Range(ActiveCell.Offset(1, 1), ActiveCell.Offset(5, 5)).Select