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