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.