• DİKKAT

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

çoklu eğer formülünü makroda kullanma

Katılım
28 Mart 2016
Mesajlar
23
Excel Vers. ve Dili
ms 2010
visual basic
Merhaba

4 parçaya ayırdığım altta ki eğer formüllerini tek bir işlevde kullanmak istiyorum. 30 satırda bu formülü kullanacağım C8 değişken olacak alt satıra indiğimde C9 olmalı. Bu şekilde formül çalışıyor ama 4 ayrı sekmede kullanmak zorunda kalıyorum.
Yardımcı olabilecek olan varmı?

=EĞER(($C8=1);(DÜŞEYARA(($B$1&$B$2);EYLÜL_2017!E:Q;13;0));EĞER(($C8=2);(DÜŞEYARA(($B$1&$B$2);EYLÜL_2017!E:J;6;0));EĞER(($C8=3);(DÜŞEYARA(($B$1&$B$2);EYLÜL_2017!E:K;7;0));EĞER(($C8=4);(DÜŞEYARA(($B$1&$B$2);EYLÜL_2017!E:BG;55;0));EĞER(($C8=5);(DÜŞEYARA(($B$1&$B$2);EYLÜL_2017!E:M;9;0));EĞER(($C8=6);(DÜŞEYARA(($B$1&$B$2);EYLÜL_2017!E:N;10;0));EĞER(($C8=7);(DÜŞEYARA(($B$1&$B$2);EYLÜL_2017!E:U;17;0));"DEĞER BULUNAMADI")))))))


=EĞER(($C8=8);(DÜŞEYARA(($B$1&$B$2);EYLÜL_2017!E:V;18;0));EĞER(($C8=10);(DÜŞEYARA(($B$1&$B$2);EYLÜL_2017!E:W;19;0));EĞER(($C8=11);(DÜŞEYARA(($B$1&$B$2);EYLÜL_2017!E:Y;21;0));EĞER(($C8=12);(DÜŞEYARA(($B$1&$B$2);EYLÜL_2017!E:AD;26;0));EĞER(($C8=13);(DÜŞEYARA(($B$1&$B$2);EYLÜL_2017!E:AE;27;0));EĞER(($C8=16);(DÜŞEYARA(($B$1&$B$2);EYLÜL_2017!E:AA;23;0));EĞER(($C8=17);(DÜŞEYARA(($B$1&$B$2);EYLÜL_2017!E:Z;22;0));"DEĞER BULUNAMADI")))))))


=EĞER(($C8=18);(DÜŞEYARA(($B$1&$B$2);EYLÜL_2017!E:AG;29;0));EĞER(($C8=19);(DÜŞEYARA(($B$1&$B$2);EYLÜL_2017!E:AH;30;0));EĞER(($C8=20);(DÜŞEYARA(($B$1&$B$2);EYLÜL_2017!E:AI;31;0));EĞER(($C8=21);(DÜŞEYARA(($B$1&$B$2);EYLÜL_2017!E:AJ;32;0));EĞER(($C8=23);(DÜŞEYARA(($B$1&$B$2);EYLÜL_2017!E:AK;33;0));EĞER(($C8=24);(DÜŞEYARA(($B$1&$B$2);EYLÜL_2017!E:AL;34;0));EĞER(($C8=25);(DÜŞEYARA(($B$1&$B$2);EYLÜL_2017!E:AO;35;0));"DEĞER BULUNAMADI")))))))


=EĞER(($C8=26);(DÜŞEYARA(($B$1&$B$2);EYLÜL_2017!E:AN;36;0));EĞER(($C8=27);(DÜŞEYARA(($B$1&$B$2);EYLÜL_2017!E:AO;37;0));EĞER(($C8=9);"-";EĞER((C8=14);"-";EĞER(($C8=15);"-";EĞER(($C8=22);"-";"DEĞER BULUNAMADI"))))))
 
Merhaba.

►Daha kısa ve tek formül ile çözüm:
Aşağıdaki formülün istediğiniz sonucu vermesi lazım.
Formülü sonucu görmek istediğiniz ilk hücreye uygulayın ve aşağı doğru kopyalayın.
.
Kod:
=[COLOR="red"]EĞER[/COLOR](C8="";"";[COLOR="red"]EĞER[/COLOR]([COLOR="red"]YADA[/COLOR](C8=9;C8=14;C8=15;C8=22);"-";[COLOR="red"]EĞERHATA[/COLOR]([COLOR="red"]KAYDIR[/COLOR]([COLOR="red"]DOLAYLI[/COLOR]([COLOR="red"]ADRES[/COLOR](1;ARA($C8;{1;2;3;4;5;6;7;8;10;11;12;13;16;17;18;19;20;21;23;24;25;26;27};{13;6;7;55;9;10;17;18;19;21;26;27;23;22;29;30;31;32;33;34;35;36;37});1;1;"EYLÜL_2017"));[COLOR="Red"]KAÇINCI[/COLOR]($B$1&$B$2;EYLÜL_2017!$E:$E;0)-1;0);"DEĞER BULUNAMADI")))
►Makro ile çözüm:
Makronun işlem yapacağı sayfa adının Sayfa2 olduğu ve işlem sonucunu D8 ve devamına (C sütununda aranan değerin hemen yanına)
yazdırılmak istendiğini varsaydım.
.
Kod:
[B]Sub BUL_BRN()[/B]
Set s = Sheets("[B][COLOR="red"]Sayfa2[/COLOR][/B]")
Set e = Sheets("EYLÜL_2017")
brn2 = Array(1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 16, _
            17, 18, 19, 20, 21, 23, 24, 25, 26, 27)
brn3 = Array(13, 6, 7, 55, 9, 10, 17, 18, 19, 21, 26, 27, _
            23, 22, 29, 30, 31, 32, 33, 34, 35, 36, 37)
For sat = 8 To 37
If s.Cells(sat, "C") = "" Then GoTo 10
    If s.Cells(sat, "C") = 9 Or s.Cells(sat, "C") = 14 Or _
        s.Cells(sat, "C") = 15 Or s.Cells(sat, "C") = 22 Then
        s.Cells(sat, "D") = "-"
    ElseIf WorksheetFunction.CountIf(e.[E:E], s.[B1] & s.[B2]) = 0 Then
        s.Cells(sat, "D") = "DEĞER BULUNAMADI"
    Else
        esat = WorksheetFunction.Match(s.[B1] & s.[B2], e.[E:E], 0)
        esut = WorksheetFunction.Lookup(s.Cells(sat, "C"), brn2, brn3)
        s.Cells(sat, "D") = Sheets("EYLÜL_2017").Cells(esat, esut)
    End If
10: Next
[B]End Sub[/B]
 
Merhaba
Öncelikle ilginiz için teşekkür ederim. Bir sorun var makro çalışıyor ama veri olmasına rağmen değer bulunamadı olarak geliyor bilgiler.
Eylül_2017 sayfasında veri alınan E kolonu kendi içinde =A4&D4 formülü içeren bir dosya bu formülden dolayı değeri bulamıyor diye düşündüm.
 
Denemeden cevap yazmış değilim, böyle bir alışkanlığım da yok.

İsterseniz gerçek belgenizin küçük bir örneğini, olması gereken sonuçları da elle yazarak ekleyin onun üzerinden bakayım.
.
 
Geri
Üst