Excel VBA Nesneleri: Range, Cells, Worksheets ve Charts Kullanımı

Excel VBA Nesneleri: Range, Cells, Worksheets ve Charts Kullanımı
Excel VBA VBA Nesneleri

1. Örnek Veri Tablosu

Aşağıdaki tablo üzerinde nesne kullanımını test edeceğiz.

# A (Ürün) B (Satış) C (Bölge)
1 Ürün Satış Bölge
2 Laptop 22 İstanbul
3 Mouse 43 Ankara
4 Klavye 45 İzmir
5 Monitör 30 Bursa
6 USB Bellek 40 Antalya
7 Yazıcı 44 Samsun
Örnek tablo (A1:C7) - 6 ürün verisi

Tablo Bilgisi

Bu tablo üzerinde Range, Cells, Worksheets ve Charts nesnelerini test edeceğiz.

2. Range Nesnesi ile Hücreye Erişim

Range ile hücreye adresiyle erişiriz. Örnek: A1 hücresine "VBA" yazalım.

Sub RangeIleYaz()
    Range("A1").Value = "VBA"
End Sub

Kod Açıklaması

  • Range("A1") → A1 hücresini seçer
  • .Value = "VBA" → Hücreye "VBA" yazar

Tablo: 🟩 Range ile yazılan hücre:

# A B C
1 🟩 VBA Satış Bölge
2 Laptop 22 İstanbul
3 Mouse 43 Ankara
4 Klavye 45 İzmir
5 Monitör 30 Bursa
6 USB Bellek 40 Antalya
7 Yazıcı 44 Samsun
🟩 Range ile A1 hücresine "VBA" yazıldı

3. Cells Nesnesi ile Hücreye Erişim

Cells ile hücreye satır ve sütun numarasıyla erişiriz. Örnek: A1'e "VBA" yazalım.

Sub CellsIleYaz()
    Cells(1, 1).Value = "VBA"
End Sub

Kod Açıklaması

  • Cells(1, 1) → 1. satır, 1. sütun (A1)
  • .Value = "VBA" → Hücreye "VBA" yazar

Range vs Cells

Range adresle, Cells numarayla çalışır. Döngülerde Cells tercih edilir.

Tablo: 🔵 Cells ile yazılan hücre:

# A B C
1 🔵 VBA Satış Bölge
2 Laptop 22 İstanbul
3 Mouse 43 Ankara
4 Klavye 45 İzmir
5 Monitör 30 Bursa
6 USB Bellek 40 Antalya
7 Yazıcı 44 Samsun
🔵 Cells ile A1 hücresine "VBA" yazıldı

4. Worksheets Nesnesi ile Sayfaya Erişim

Worksheets ile farklı bir sayfaya erişiriz. Örnek: "Sheet1" sayfasına yazalım.

Sub WorksheetsIleYaz()
    Worksheets("Sheet1").Range("A1").Value = "VBA"
End Sub

Kod Açıklaması

  • Worksheets("Sheet1") → "Sheet1" sayfasını seçer
  • .Range("A1").Value = "VBA" → A1'e "VBA" yazar

Tablo: 🟣 Worksheets ile yazılan hücre:

# A B C
1 🟣 VBA Satış Bölge
2 Laptop 22 İstanbul
3 Mouse 43 Ankara
4 Klavye 45 İzmir
5 Monitör 30 Bursa
6 USB Bellek 40 Antalya
7 Yazıcı 44 Samsun
🟣 Worksheets ile A1 hücresine "VBA" yazıldı

5. Charts Nesnesi ile Grafik Oluşturma

Charts ile verileri görselleştiren grafik oluştururuz.

Sub GrafikOlustur()
    Dim chartObj As ChartObject
    Set chartObj = ActiveSheet.ChartObjects.Add(Left:=100, Width:=375, Top:=75, Height:=225)
    chartObj.Chart.SetSourceData Source:=Range("A1:B7")
    chartObj.Chart.ChartType = xlColumnClustered
    chartObj.Chart.HasTitle = True
    chartObj.Chart.ChartTitle.Text = "Satış Grafiği"
End Sub

Kod Açıklaması

  • ChartObjects.Add → Yeni grafik oluşturur
  • SetSourceData → Veri kaynağını belirler (A1:B7)
  • ChartType = xlColumnClustered → Sütun grafiği
  • ChartTitle.Text → Grafik başlığı

Grafik Önizleme:

📊 Satış Grafiği

Laptop | Mouse | Klavye | Monitör | USB | Yazıcı

ChartObjects ile oluşturulan sütun grafiği

📊 Grafik başarıyla oluşturuldu

6. VBA Makroları için Ön Hazırlık

1. Geliştirici Sekmesini Aktifleştirin

Excel'de VBA kodlarını yazabilmek için önce Geliştirici sekmesini aktif etmelisiniz. Detaylı bilgi için tıklayın.

VBA - Geliştirici sekmesi
⚙️ Geliştirici sekmesini aktifleştirme

3. Modül Ekleyin

Kodlarınızı yazmak için bir Modül eklemelisiniz. Makro yazma rehberi için tıklayın.

VBA - Modül ekleme
📝 Modül ekleme

2. Visual Basic Düzenleyici'yi Açın

Alt + F11 (Windows) veya Option + F11 (Mac) ile hızlıca açabilirsiniz.

Visual Basic Düzenleyici'yi Açma
📝 Visual Basic Düzenleyici'yi Açma

4. Kodu Çalıştırın

Yazdığınız kodu çalıştırmak için F5 tuşuna basın veya Çalıştır butonuna tıklayın. VBA makro nedir? öğrenmek için tıklayın.

F5

▶️ Makroyu çalıştır

📋 Makro çalıştırma

7. Sıkça Sorulan Sorular

01 Range ve Cells arasındaki fark nedir?

Range adresle (A1), Cells numarayla (1,1) çalışır.

02 Worksheets ile nasıl sayfa seçilir?

Worksheets("SayfaAdı") veya Worksheets(1) ile seçilir.

03 VBA'da grafik nasıl oluşturulur?

ChartObjects.Add ile grafik oluşturulur.

04 Hücre rengi nasıl değiştirilir?

Range("A1").Interior.Color = RGB(255,0,0) ile değiştirilir.

05 Mac'te VBA nesneleri çalışır mı?

Evet, Mac'te de aynı kodlar çalışır.

06 With... End With ne işe yarar?

Aynı nesne üzerinde birden fazla işlem yaparken kod tekrarını azaltır.

💡 İpucu: Makroları çalıştırmadan önce dosyanızı yedeklemeyi unutmayın. Ctrl+S ile kaydedin.
🤖 Akıllı Arama Asistanı
💬 Merhaba! Size nasıl yardımcı olabilirim?
Excel Asistanı
👋 Merhaba! Excel ile ilgili ne öğrenmek istersin? Örn: DÜŞEYARA nasıl kullanılır?
DÜŞEYARA Pivot Tablo Gantt Şeması