• DİKKAT

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

Makroda Uzun Dizi Formülü

Katılım
18 Aralık 2011
Mesajlar
89
Excel Vers. ve Dili
office 2010 tr
Makroda dizi formülü kullanacağım ama uzun olduğu için formülü alt satırlara yayıp bazı kısımlarınıda kırpıyor, çıkamadım içinden, yardımcı olabilir misiniz?
formül şöyle
={EĞER(EHATALIYSA(SAYIYAÇEVİR(EĞER(EĞER(SATIRSAY(E$100:E100)>EĞERSAY($D$7:$D$99;"En İyi 1. Teklif");"";İNDİS(E$7:E$99;KÜÇÜK(EĞER($D$7:$D$99="En İyi 1. Teklif";SATIR(E$7:E$99)-SATIR(E$7)+1);SATIRSAY($D$100:E100))))="";"";PARÇAAL(EĞER(SATIRSAY(E$100:E100)>EĞERSAY($D$7:$D$99;"En İyi 1. Teklif");"";İNDİS(E$7:E$99;KÜÇÜK(EĞER($D$7:$D$99="En İyi 1. Teklif";SATIR(E$7:E$99)-SATIR(E$7)+1);SATIRSAY($D$100:E100))));1;MBUL(" ";EĞER(SATIRSAY(E$100:E100)>EĞERSAY($D$7:$D$99;"En İyi 1. Teklif");"";İNDİS(E$7:E$99;KÜÇÜK(EĞER($D$7:$D$99="En İyi 1. Teklif";SATIR(E$7:E$99)-SATIR(E$7)+1);SATIRSAY($D$100:E100))));1)-1))));"";SAYIYAÇEVİR(EĞER(EĞER(SATIRSAY(E$100:E100)>EĞERSAY($D$7:$D$99;"En İyi 1. Teklif");"";İNDİS(E$7:E$99;KÜÇÜK(EĞER($D$7:$D$99="En İyi 1. Teklif";SATIR(E$7:E$99)-SATIR(E$7)+1);SATIRSAY($D$100:E100))))="";"";PARÇAAL(EĞER(SATIRSAY(E$100:E100)>EĞERSAY($D$7:$D$99;"En İyi 1. Teklif");"";İNDİS(E$7:E$99;KÜÇÜK(EĞER($D$7:$D$99="En İyi 1. Teklif";SATIR(E$7:E$99)-SATIR(E$7)+1);SATIRSAY($D$100:E100))));1;MBUL(" ";EĞER(SATIRSAY(E$100:E100)>EĞERSAY($D$7:$D$99;"En İyi 1. Teklif");"";İNDİS(E$7:E$99;KÜÇÜK(EĞER($D$7:$D$99="En İyi 1. Teklif";SATIR(E$7:E$99)-SATIR(E$7)+1);SATIRSAY($D$100:E100))));1)-1))))}

makroda şöyle
Range("E100").Select
Selection.FormulaArray = _
"=IF(ISERROR(VALUE(IF(IF(ROWS(R100C:RC)>COUNTIF(R7C4:R99C4,""En İyi 1. Teklif""),"""",INDEX(R7C:R99C,SMALL(IF(R7C4:R99C4=""En İyi 1. Teklif"",ROW(R7C:R99C)-ROW(R7C)+1),ROWS(R100C4:RC))))="""","""",MID(IF(ROWS(R100C:RC)>COUNTIF(R7C4:R99C4,""En İyi 1. Teklif""),"""",INDEX(R7C:R99C,SMALL(IF(R7C4:R99C4=""En İyi 1. Teklif"",ROW(R7C:R99C)-ROW(R7C)+1),ROWS(R100C4:RC)))),1,S" & _
" "",IF(ROWS(R100C:RC)>COUNTIF(R7C4:R99C4,""En İyi 1. Teklif""),"""",INDEX(R7C:R99C,SMALL(IF(R7C4:R99C4=""En İyi 1. Teklif"",ROW(R7C:R99C)-ROW(R7C)+1),ROWS(R100C4:RC)))),1)-1)))),"""",VALUE(IF(IF(ROWS(R100C:RC)>COUNTIF(R7C4:R99C4,""En İyi 1. Teklif""),"""",INDEX(R7C:R99C,SMALL(IF(R7C4:R99C4=""En İyi 1. Teklif"",ROW(R7C:R99C)-ROW(R7C)+1),ROWS(R100C4:RC))))="""","""",M" & _
"S(R100C:RC)>COUNTIF(R7C4:R99C4,""En İyi 1. Teklif""),"""",INDEX(R7C:R99C,SMALL(IF(R7C4:R99C4=""En İyi 1. Teklif"",ROW(R7C:R99C)-ROW(R7C)+1),ROWS(R100C4:RC)))),1,SEARCH("" "",IF(ROWS(R100C:RC)>COUNTIF(R7C4:R99C4,""En İyi 1. Teklif""),"""",INDEX(R7C:R99C,SMALL(IF(R7C4:R99C4=""En İyi 1. Teklif"",ROW(R7C:R99C)-ROW(R7C)+1),ROWS(R100C4:RC)))),1)-1))))"
 
Maalesef uzun formüller VBE bölümünde sorun çıkarıyor. Formülü makro içine adapte etmek yerine yeni tasarlanacak kodlamayı kullanmak daha akıllıca olacaktır.

Yani formülü bırakıp, formülün ürettiği sonucu makro ile yaptırmayı deneyin.
 
Geri
Üst