• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Makro ile Formül Yazmak

Katılım
26 Ocak 2013
Mesajlar
232
Excel Vers. ve Dili
Excel 2016 Türkçe
Makro ile formül yazmak istiyorum. Ancak yazdığım formülü ingilizceye çeviriyor ve r1c1 formatında yazıyor. BU da hata verdiriyor sanırım. Acaba bunu nasıl düzeltebilririm

Yazılması istenen formül

=EĞER(UZUNLUK(EĞERHATA(EĞER(DÜŞEYARA(DOLAYLI("B"&SATIR());'Öğretmen Bilgileri'!$E$3:$BC$124;SÜTUN()-(AŞAĞIYUVARLA(SÜTUN()/37;0)*30+3);YANLIŞ)=0;"";DÜŞEYARA(DOLAYLI("B"&SATIR());'Öğretmen Bilgileri'!$E$3:$BC$124;SÜTUN()-(AŞAĞIYUVARLA(SÜTUN()/37;0)*30+3);YANLIŞ));""))>1;SOLDAN(EĞERHATA(EĞER(DÜŞEYARA(DOLAYLI("B"&SATIR());'Öğretmen Bilgileri'!$E$3:$BC$124;SÜTUN()-(AŞAĞIYUVARLA(SÜTUN()/37;0)*30+3);YANLIŞ)=0;"";DÜŞEYARA(DOLAYLI("B"&SATIR());'Öğretmen Bilgileri'!$E$3:$BC$124;SÜTUN()-(AŞAĞIYUVARLA(SÜTUN()/37;0)*30+3);YANLIŞ));"");1);"")

Yazılan Formül
Cells(51, "G").Value = "=IF(LEN(IFERROR(IF(VLOOKUP(INDIRECT(""B""&ROW()),'Öğretmen Bilgileri'!R3C5:R124C55,COLUMN()-(ROUNDDOWN(COLUMN()/37,0)*30+3),FALSE)=0,"""",VLOOKUP(INDIRECT(""B""&ROW()),'Öğretmen Bilgileri'!R3C5:R124C55,COLUMN()-(ROUNDDOWN(COLUMN()/37,0)*30+3),FALSE)),""""))>1,LEFT(IFERROR(IF(VLOOKUP(INDIRECT(""B""&ROW()),'Öğretmen Bilgileri'!R3C5:R124C55,COLUMN()-(ROUNDDOWN(COLUMN()" & "0+3),FALSE)=0,"""",VLOOKUP(INDIRECT(""B""&ROW()),'Öğretmen Bilgileri'!R3C5:R124C55,COLUMN()-(ROUNDDOWN(COLUMN()/37,0)*30+3),FALSE)),""""),1),"""")"
bu şekilde formül hata veriyor. Acaba formülümdeki hata nerede?
 
Merhaba.

Formülün uygulandığı ve sonuç verdiği bir örnek belge olsaydı deneme şansımız olurdu.
İsterseniz bir örnek belge ekleyin, bakalım.
Kuvvetle muhtemel formülün uzunluğundan kaynaklanıyor, R1C1 formatından kaynaklanmadığını düşünüyorum.
.
 
Hata veriyordan kastıjm makro çalışmıyor. Makro hatası alıyorum.
 
Ve hala örnek belge yok.

Siz bilirsiniz.
Sağlıcakla.
 
Örnek belgem işte şuan evdeyim. Yarın yükleyebilirim. Teşekkürker.
 
Yazdığınız formüle göre aşağıdaki kodu deneyiniz...
Kod:
Cells(51, "G").Formula = "=IF(LEN(IFERROR(IF(VLOOKUP(INDIRECT(""B""&ROW()),ÖğretmenBilgileri!$E$3:$BC$124,COLUMN()-(ROUNDDOWN(COLUMN()/37,0)*30+3),FALSE)=0,"""",VLOOKUP(INDIRECT(""B""&ROW()),ÖğretmenBilgileri!$E$3:$BC$124,COLUMN()-(ROUNDDOWN(COLUMN()/37,0)*30+3),FALSE)),""""))>1,LEFT(IFERROR(IF(VLOOKUP(INDIRECT(""B""&ROW()),ÖğretmenBilgileri!$E$3:$BC$124,COLUMN()-(ROUNDDOWN(COLUMN()/37,0)*30+3),FALSE)=0,"""",VLOOKUP(INDIRECT(""B""&ROW()),ÖğretmenBilgileri!$E$3:$BC$124,COLUMN()-(ROUNDDOWN(COLUMN()/37,0)*30+3),FALSE)),""""),1),"""")"
 
Yazdığınız formüle göre aşağıdaki kodu deneyiniz...
Kod:
Cells(51, "G").Formula = "=IF(LEN(IFERROR(IF(VLOOKUP(INDIRECT(""B""&ROW()),ÖğretmenBilgileri!$E$3:$BC$124,COLUMN()-(ROUNDDOWN(COLUMN()/37,0)*30+3),FALSE)=0,"""",VLOOKUP(INDIRECT(""B""&ROW()),ÖğretmenBilgileri!$E$3:$BC$124,COLUMN()-(ROUNDDOWN(COLUMN()/37,0)*30+3),FALSE)),""""))>1,LEFT(IFERROR(IF(VLOOKUP(INDIRECT(""B""&ROW()),ÖğretmenBilgileri!$E$3:$BC$124,COLUMN()-(ROUNDDOWN(COLUMN()/37,0)*30+3),FALSE)=0,"""",VLOOKUP(INDIRECT(""B""&ROW()),ÖğretmenBilgileri!$E$3:$BC$124,COLUMN()-(ROUNDDOWN(COLUMN()/37,0)*30+3),FALSE)),""""),1),"""")"

formülünüz yazıyor ancak her seferinde güncellenecek değerler diye bir yer açıyor. Öğretmenbilgileri sayfası şeklinde. ayrıca kodu 'öğretmenbilgileri'!...şeklinde yazması gerekirken kesme işaretini koymuyor. Sizin kodunuza eklememe rağmen gene koymadı :(
 
Son düzenleme:
Teşekkür ederim. Öğretmen Bilgileri arasına boşluk koymamışsınız. Teşekkür ederim Tam istediğimi yapıyor :)
 
Geri
Üst