Excel Makro'da Range Kavramı
Excel'de makro yazarken en çok ihtiyaç duyduğumuz konuların başında hücrelere ulaşmak gelmektedir.
Tek hücreye (Örn. A1 hücresi) aynı anda erişmenin yanında hücre aralığına (Örn.A3:B30) erişmek yada birbirleri ile tamamen farklı konumdaki birden fazla hücreye erişmekte (Örn.A100, BC28) zaman zaman gerekmektedir.
Aşağıdaki örnekte yukarıda bahsettiğim 3 temel duruma ilişkin örnekler verilmiştir.
HÜCREYE ERİŞİM YÖNTEMİ: Worksheets("SAYFA ADI").Range("HÜCRE ADRESİ")
Option Explicit
Sub RangeExample()
Dim sayi As Integer
With Worksheets("Sayfa1")
'A1 hücresine değer atamak
.Range("A1") = 6
'B5 ile B20 hücre aralığına değer atamak
.Range("B5:B20") = 20
'C1-C7 aralığı ile D6 hücresine değer atamak
.Range("C1:C7,D6") = 100
' A1 hücresindeki değeri sayi isimli değişkene atamak
sayi = .Range("A1")
'sayi isimli değişkeni ekrana yazdırmak
Debug.Print sayi
End With
'Bu örnekte ise 1. sıradaki çalışma sayfasının A1 hücresine "Merhaba" değerini atıyoruz
Worksheets(1).Range("A8") = "Merhaba"
End Sub
Genel Açıklama:
Excel makro da değer atamanın yanında sadece hücre ve/veya hücre aralığının seçimi de önem arz etmektedir. Aşağıdaki örnekte herhangi bir excel dosyasının 3. çalışma sayfasında yer alan A1:A50 hücre aralığının seçimi gösterilmiştir.
NOT:Eğer çalışma sayfanızda 3' den az sayıda çalışma sayfası varsa bu kod hata verecektir.
Option Explicit
Sub hucreAraligiSecmek()
'Hücre aralığı seçmek için ilk önce hücrelerin bulunduğu sayfa aktif ediliyor
Worksheets(2).Activate
'Çalışma sayfası seçildikten sonra hücre aralığının seçimi yapılıyor.
Worksheets(2).Range("A1:A50").Select
End Sub
Genel Açıklama:
Ayrıca seçim yaptığımız hücre aralığı içerisinde yer alan bölgedeki satır ve/veya sütunların seçimi de gerekebilmektedir.
Option Explicit
Sub satirSutunSecme()
'range türünde aralık nesnesi tanımlıyoruz.
Dim rng As Range
'3.çalışma sayfasını seçiyoruz.
Worksheets(3).Activate
'range nesnesine değer atayarak kuruyoruz.
Set rng = Range("A2:F50")
'Hücre aralığı içerisindeki 3. satırın seçimini yapıyoruz.
rng.Rows(3).Select
'Hücre aralığı içerisindeki 2. sütunun seçimini yapıyoruz.
rng.Columns(2).Select
End Sub
Hiç yorum yok:
Yorum Gönder