VBA Geçerli Bölge

Bu öğretici, Geçerli Bölgenin VBA'da nasıl kullanılacağını açıklayacaktır.

NS Geçerli Bölge VBA'daki özellik, birlikte çalışmak isteyebileceğiniz bir Aralık içindeki tüm hücreleri seçmenin bir yoludur. Aralıktaki hücrelerin tümü ardışık olduğu veya birbirine "dokunduğu" sürece, Geçerli Bölge bölgedeki her hücreyi seçecektir.

Geçerli Bölge Sözdizimi

Sözdizimi çok basit:

1 Aralık("E11").MevcutBölge.Seç

geçerli bölgesini seçmek istediğiniz hücreyi belirteceğiniz ve ardından Geçerli Bölge.Seç Hücre Aralığı'nı seçmek için özellik.

Mevcut Bölgeyi Alma

Aşağıdaki çalışma sayfasını inceleyiniz.

aşağıdaki alt prosedür, veritabanındaki tüm hücreleri seçecektir.

1234567 Alt FindCurrentRegion()Aralık Olarak Karartma'aralığı Hücre E11 olarak ayarlaSet rng = Aralık("E11")'geçerli bölgeyi seçrng.MevcutBölge.SeçimAlt Bitiş

Rutini çalıştırırsak, tüm hücreler Geçerli Bölge E11 hücresi seçilecektir.

Bitişik hücrelerin içeriğini kaldırır ve rutini yeniden çalıştırırsak, geçerli bölge olarak aşağıdakiler seçilecektir.

Ancak daha fazla veriyi kaldırırsak, E11 Hücresinin Geçerli Bölgesi için aşağıdaki örneği elde edebiliriz.

D13'e bilgi onayını koyarak, aşağıdakileri elde ederiz:

NS Geçerli Bölge bu nedenle bir başkasını döndürür Aralık nesne, sağladığınız Aralığı çevreleyen en küçük dolu sütun ve satır kombinasyonuyla tanımlanır.

Geçerli Bölgedeki Satır ve Sütunları Sayma

Kullanabiliriz Geçerli Bölge satırları ve sütunları saymak için.

12345678910111213 Alt FindCurrentRegion()Aralık Olarak KarartmaiRw'yi Tamsayı Olarak KarartiCol'ü Tamsayı Olarak Dim'aralığı ayarlaSet rng = Aralık("E11")'satırları sayiRw = rng.CurrentRegion.Rows.Count'sütunları sayıniCol = rng.CurrentRegion.Columns.Count'sonucu bir mesaj kutusunda gösterMsgBox ("Mevcut bölgemizde " & iRw & " satırlarımız ve " & iCol & " sütunlarımız var")Alt Bitiş

Prosedürü çalıştırırsak, aşağıdaki mesaj kutusu görünecektir.

Mevcut Bölgeyi Temizleme

Hücre aralığını temizlemek için geçerli bölge özelliğini de kullanabiliriz.

123456 Alt ClearCurrentRegion()Aralık Olarak Karartma'aralığı ayarlaSet rng = Aralık("E11")rng.CurrentRegion.ClearAlt Bitiş

Mevcut Bölgeyi Bir Değişkene Atama

Ayrıca, Geçerli Bölgenin tamamını bir aralık değişkenine atayabilir ve ardından bu aralık değişkenini hücreleri işlemek için kullanabiliriz - hücreleri biçimlendirmek, hücreleri sıralamak vb.

12345678910 Sub AssignCurrentRegionToVariable()Aralık Olarak Karartma'aralığı E11'in geçerli bölgesi olacak şekilde ayarlaSet rng = Aralık("E11").MevcutBölge'arka planı ve metni renklendirinrng.Interior.Pattern = xlSolidrng.İç.Renk = 65535rng.Font.Bold = Doğrurng.Font.Color = -16776961Alt Bitiş

Yukarıdaki prosedürü çalıştırırsak, aşağıda gösterildiği gibi bir çalışma sayfası elde edeceğiz!

Geçerli Bölgedeki Başlangıç ​​ve Bitiş Hücrelerini Alma

Biraz daha karmaşık kodla, Geçerli Bölgedeki ilk hücreyi ve son hücreyi alabiliriz.

123456789101112131415161718 Alt GetStartAndEndCells()Aralık Olarak KarartmaiRw'yi Tamsayı Olarak KarartiCol'ü Tamsayı Olarak DimDim iColStart, iColEnd, iRwStart, iRwEnd As String'aralık değişkenini E11'in geçerli bölgesi olarak ayarlaSet rng = Aralık("E11").MevcutBölge'aralık için başlangıç ​​sütununu ayarlaiColStart = rng.Column'aralığın bitiş sütununu aliColEnd = iColStart + (rng.Columns.Count - 1)'aralık için başlangıç ​​satırını aliRwStart = rng.Satır'aralık için son satırı aliRwEnd = iRwStart + (rng.Rows.Count - 1)'bir mesaj kutusundaki başlangıç ​​ve bitiş satırlarının ve sütunlarının adresini gösterMsgBox ("Aralık " & Cells(iRwStart, iColStart).Address & " ile başlar ve " & Cells(iRwEnd, iColEnd).Address) ile biterAlt Bitiş

Yukarıdaki kodu çalıştırdığımızda aşağıdaki mesaj kutusu çıkacaktır.

wave wave wave wave wave