Göreceli Formül Yazımı

Katılım
18 Haziran 2020
Mesajlar
39
Excel Vers. ve Dili
Microsoft® Excel® Microsoft 365 için MSO (Sürüm 2309 Derleme 16.0.16827.20166) 64 bit
Herkese selamlar,

Makro kaydet yardımı ile formül yazmayı öğrenip vba'da kendim bu kodu kullanarak geliştirmeye çalışıyorum.

Ancak anlayamadığım bir şey oldu. Düşey ara formülünde ilk denememde referans hücreyi $F2 yaptım, diğer denememde ise F2 olarak bıraktım, makro kaydet sonuçlarında ise formüller şu şekilde değişti.

dolayısıyla sormak istediğim F2 ile RC6 eşitliği, F2 ile RC[-37] eşitliği. Yani bu ifadeleri nasıl yorumlamam gerekir?

ActiveCell.FormulaR1C1 = "=VLOOKUP(RC6,'GENEL LİSTE'!R1C6:R999C49,37,0)"
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-37],'GENEL LİSTE'!R1C6:R999C49,38,0)"
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,365
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
RC formülü biraz karışık. Aşağıdaki gibi normal formül şeklinde daha kolay yaparsınız

Kod:
ActiveCell.Formula = "=vlookup(A1,D:E,2,0)"
A1 deki veriyi D kolonunda arar E kolonundaki veriyi aktif hücreye yazar.



Genel Liste sayfasında aramak için
Kod:
ActiveCell.Formula = "=vlookup(A1,'GENEL LİSTE'!D:E,2,0)"
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
R, Row yani Satır sayısını, C ise Column yani Sütun sayısını gösterir.

Yanlarında sayı varsa o sayı kadar önce veya sonraki satır ya da sütunu gösterir.

RC6 ifadesi R'den sonra sayı olmadığı için aynı satırda olduğunu; C'den sonra da 6 olduğu için 6 sütun sonrası olduğunu gösterir.

Ancak eğer bu sayılar köşeli parantez içindeyse formülü yazdığınızdan o sayı kadar sonra ya da önceki hücreyi işaret ederken köşeli parantez yoksa formül yazılan hücre 1. hücre olarak kabul edilir.

Yani A2'ye yazdığınızda RC6 ifadesi A2 hücresi birinci hücre olarak kabul edilip 6. hücre olarak F2 hücresini alır; RC[5] ifadesi ise B2 hücresi birinci hücre olup yine F2 hücresini alır.
 
Katılım
18 Haziran 2020
Mesajlar
39
Excel Vers. ve Dili
Microsoft® Excel® Microsoft 365 için MSO (Sürüm 2309 Derleme 16.0.16827.20166) 64 bit
Hızlı dönüşler için teşekkür ederim arkadaşlar,

dediğiniz gibi köşeli parantez içinde olursa F2 diyebilmek için formülün bulunacağı aktif hücreye göre parantez içini 37,38 gibi değiştirmek gerekiyor.
Ama diğer gösterimde başlangıcı hep A1 aldığından, F2 diyebilmek için değiştirmene gerek olmuyor.
 
Üst