Özellik ikonu

Göreli Başvuruları Kullan

İndirme izni yok

Genel Bakış

Göreli Başvuruları Kullan (Use Relative References), makro kaydedici açıkken hücre seçimlerinin sabit adresler yerine etkin hücreye göre kaydedilmesini sağlayan bir düğmedir. Kaydedilen makro, çalıştırıldığı sırada hangi hücre etkinse oradan itibaren hareket eder. Böylece aynı makroyu sayfanın farklı yerlerinde yeniden kullanabilirsiniz.

Nerede bulunur​

Düğme, Geliştirici > Kod > Göreli Başvuruları Kullan (Developer > Code > Use Relative References) yolunda, Makro Kaydet (Record Macro) düğmesinin altındadır. Geliştirici sekmesi görünmüyorsa Dosya > Seçenekler > Şeridi Özelleştir (File > Options > Customize Ribbon) bölümünden Geliştirici (Developer) kutusunu işaretleyin.

Düğme yalnızca kayıt sürerken anlam taşır. Açıkken düğme vurgulu (basılı) görünür. Kapalıyken kaydedici mutlak başvuru kullanır.

Mutlak ve göreli kayıt farkı​

Düğme kapalıyken, tıkladığınız her hücre makroya sabit adres olarak yazılır. Açıkken ise hareketler etkin hücreye göre sapma olarak yazılır ve kodda ActiveCell.Offset kullanılır. Offset yönteminin ilk bağımsız değişkeni satır, ikincisi sütun kaydırma miktarıdır.

Aynı işlem iki biçimde şöyle kaydedilir:

VBA 7 satır
' Mutlak kayıt: her zaman D3 hücresine yazar
Range("D3").Select
ActiveCell.Value = "İncelendi"

' Göreli kayıt: etkin hücrenin 3 sütun sağına yazar
ActiveCell.Offset(0, 3).Select
ActiveCell.Value = "İncelendi"

Formül yazarken de fark vardır. Göreli kayıtta formül FormulaR1C1 özelliğiyle, örneğin RC[-2] gibi bulunulan hücreye göre sütun ve satır sapmasıyla kaydedilir.

Nasıl kullanılır​

  • Başlangıç hücresini seçin: Makronun çalışmaya başlayacağı hücreyi seçin. Göreli kayıt bu hücreyi başlangıç noktası sayar.
  • Kaydı başlatın: Geliştirici > Kod > Makro Kaydet düğmesine tıklayın, makroya ad verip Tamam (OK) deyin.
  • Göreli kaydı açın: Hücrelere dokunmadan önce Göreli Başvuruları Kullan düğmesine tıklayın.
  • İşlemleri yapın: Veri girin, hücre değiştirin, biçimlendirin.
  • Kaydı durdurun: Kaydı Durdur (Stop Recording) düğmesine tıklayın.
  • Çalıştırın: Başka bir hücreyi seçip makroyu çalıştırın. İşlem yeni etkin hücreye göre uygulanır.

Düğmeyi kayıt sırasında istediğiniz an açıp kapatabilirsiniz. Böylece makronun bir bölümü göreli, bir bölümü mutlak kaydedilebilir.

Hangi durumlarda tercih edilir​

Göreli kayıt, işlemi her seferinde farklı bir konumda tekrarlamanız gerektiğinde uygundur. Örneğin veri listesinin altına her gün biraz aşağıda bir satır eklemek, her satırın yanına aynı hesabı yazmak ya da seçili hücreden başlayarak biçim uygulamak bu gruba girer.

Sabit bir yere başvuran işlerde, örneğin her zaman A1 hücresine başlık yazmak ya da belirli bir özet alanını doldurmak için, mutlak kayıt daha doğrudur.

1. Göreli kayıtla tutar formülü​

Sayfada ürün, adet ve birim fiyat bilgileri var. Tutar sütununu doldurmak için D2 hücresini seçip Göreli Başvuruları Kullan düğmesini açın, makro kaydı sırasında formülü yazın ve bir alt hücreye geçin. Aşağıdaki makro, bu kaydın göreli biçimde ürettiği koda benzer bir yapıyla beş satırı doldurur.
Göreli Başvuruları Kullan
Formülünü incelemek için bir hücre seçin.
ABCD
1ÜrünAdetBirim FiyatTutar
2Klavye4350,001.400,00
3Fare10120,001.200,00
4Monitör24.500,009.000,00
5Kulaklık6275,001.650,00
6Yazıcı13.200,003.200,00
Tutar HesabıExcelDepo v1.0.0
Formül her satırda bulunduğu hücreye göre aynı sapmalarla (iki sütun sol, bir sütun sol) yazıldığı için D2 hücresi 1.400,00, D3 hücresi 1.200,00 ve D6 hücresi 3.200,00 değerini verir. Formül mutlak kaydedilseydi tüm satırlar aynı hücrelere başvuracak ve sonuçlar yanlış olurdu.

2. Mutlak ve göreli notun karşılaştırması​

Aynı makroyu iki farklı hücrede çalıştırarak farkı görün. Göreli makro etkin hücrenin üç sütun sağına not yazar. Mutlak makro ise etkin hücre ne olursa olsun E2 hücresine yazar. Makrolar A3 ve A6 hücrelerinden birer kez çalıştırılır.
Göreli Başvuruları Kullan
Formülünü incelemek için bir hücre seçin.
ABCDE
1AdDepartmanMaaşGöreli NotMutlak Not
2Ayşe YılmazMuhasebe32.000,00Sabit
3Mehmet KayaSatış28.500,00İncelendi
4Zeynep Demirİnsan Kaynakları30.000,00
5Can ÖzkanÜretim26.750,00
6Elif ArslanLojistik27.400,00İncelendi
Personel NotlarıExcelDepo v1.0.0
Göreli makro hangi hücre etkinse ona göre çalıştığı için D3 hücresine İncelendi, D6 hücresine İncelendi yazıldı. Mutlak makro iki çalıştırmada da aynı hücreye yazdığından E2 hücresinde yalnızca Sabit görünür.

3. Veri sonuna toplam satırı ekleme​

Satış listesinin altına toplam satırı eklemek istiyorsunuz. Kayıt sırasında A2 hücresinden Ctrl+Aşağı Ok ile son veriye gidip bir alt hücreye geçtiğinizde ve göreli kayıt açıkken toplam formülünü yazdığınızda makro, toplam satırının konumunu listenin uzunluğuna göre bulabilir. Ancak toplam formülü her zaman üstteki beş hücreyi kapsayacak biçimde kaydedilir; liste uzasa ya da kısalsa toplam aralığı kendiliğinden değişmez. Aşağıdaki makro bu işlemi yapar.
Göreli Başvuruları Kullan
Formülünü incelemek için bir hücre seçin.
AB
1AySatış
2Ocak45.000,00
3Şubat38.200,00
4Mart51.500,00
5Nisan47.800,00
6Mayıs53.100,00
7Toplam235.600,00
Aylık ToplamExcelDepo v1.0.0
Makro son dolu hücrenin altına geçti, A7 hücresine Toplam yazdı ve yanındaki hücreye kendinden önceki beş hücrenin toplamını ekledi. B7 hücresinin değeri 235.600,00 olur. Formül göreli yazıldığı için başka bir konumda kullanılsa da hep üstündeki beş hücreyi toplar.

Kullanırken dikkat edin​

  • Kayıttan önce düğmenin durumuna bakın: Düğmeyi kayıt sırasında açmayı unutursanız makro mutlak adreslerle kaydedilir ve her seferinde aynı hücrelerde çalışır. Hücreye dokunmadan önce düğmenin basılı görünüp görünmediğini kontrol edin.
  • Başlangıç hücresi sonucu belirler: Göreli makroyu çalıştırmadan önce doğru hücreyi seçmeniz gerekir. Makro, etkin hücrenin konumuna göre hareket eder. Yanlış hücreden başlatırsanız veriler beklenmedik yerlere yazılabilir.
  • Kodu kaydettikten sonra inceleyin: Kayıt sonrası Alt+F11 ile VBA düzenleyicisini açıp kodu kontrol edin. Offset ve FormulaR1C1 ifadelerini görüyorsanız göreli kayıt devrede demektir. Gereksiz Select satırlarını silip kodu kısaltabilirsiniz.
  • Sınırlara dikkat edin: Düğme yalnızca makro kaydederken geçerlidir. Elle yazdığınız VBA kodunu ya da çalışan makroyu etkilemez. Kaydedilen kod, sayfa yapısı değişirse (satır silinmesi, sütun eklenmesi) farklı sonuç verebilir.
  • İlgili konular: Makro Kaydet (Record Macro), Geliştirici sekmesi, Makrolar (Macros), Visual Basic Düzenleyicisi, ActiveCell, Offset, Range, FormulaR1C1, R1C1 başvuru biçimi, mutlak ve göreli hücre başvuruları, TOPLA işlevi.
Örneklerdeki tabloları indirilebilir Excel dosyasında kendiniz de deneyebilirsiniz.
Yazar
ExcelDepo
İndirme sayısı
0
Gösterim
9
İlk yayın
Güncel

Puanlar

0.00 Oylama 0 İnceleme
Geri
Üst