kontrol sayfasının çok fazla formül var ve en ufak bir değişiklikte çok fazla bekletiyor. Düşeyara formüllerini yaptım ama Topla çarpım formülü ile eğer formüllerinin makrosunu yapamadım. Topla çarpımı bitirebilirsem Eğer formülü ile uğraşacaktım.
Kontrol sayfasında Q sütununun tamamında bu formül var ; TOPLA.ÇARPIM((I2>=İZİN!$H$2:$H$9998)*(I2<İZİN!$I$2:$I$9998)*(İZİN!$J$2:$J$9998))
R sütununda : EĞER(VE(O2>1;O2<9);0;Q2-P2)
S sütunu : EĞER(K2=L2;0;1)
V sütunu : EĞERHATA(0;EĞER(VE(N2=1;T2=0);M2-DÜŞEYARA(I2;PDKS!$M$2:$Q$30000;3;YANLIŞ);0))
w sütunu: EĞERHATA(0;EĞER(DÜŞEYARA(I2;'PDKS KART'!S:T;2;YANLIŞ)=1;1;0))
Y sutunu =EĞER(VE(O2<>"V";(DÜŞEYARA(I2;PDKS!M:S;7;YANLIŞ)=1));1;0)
z sutunu = EĞER(VE(DÜŞEYARA(I2;PDKS!M:S;7;YANLIŞ)<>1;O2="V");1;0)
AA sütunu : EĞER(VE(TOPLA.ÇARPIM((I2>=GÖREVLİ!$F$2:$F$600)*(I2<=GÖREVLİ!$G$2:$G$600)*(GÖREVLİ!$H$2:$H$600))=1;N2<>1);1;0)
yapmış olduğum makro da bu şekilde. Düşeyara olanlar çalışıyor ama Sondaki topla çarpım ile ilgili olan çalışmıyor. Başka bir yerden kopyalayıp uyarlamaya çalıştım
Option Explicit
Dim Sicil, puan1, puan2, düşeyara As Variant
Sub Getir()
Dim s1 As Worksheet, s2 As Worksheet
Set s1 = Sheets("Kontrol")
Set s2 = Sheets("Kontrol")
s2.Range("I2").Value = s1.Range("A2").Value & s1.Range("D2").Value
Sicil = Worksheets("Kontrol").Range("I2:I50").Value
puan1 = Worksheets("Kontrol").Range("N2:N50").Value
puan2 = Worksheets("Kontrol").Range("O2:N50").Value
düşeyara = Application.WorksheetFunction.VLookup(Sicil, Worksheets("PUAN").Range("M2:R90000"), 2, 0)
Worksheets("Kontrol").Range("J2:J50").Value = düşeyara
düşeyara = Application.WorksheetFunction.VLookup(puan1, Worksheets("kodlar").Range("A2:B24"), 2, 0)
Worksheets("Kontrol").Range("K2:K50").Value = düşeyara
düşeyara = Application.WorksheetFunction.VLookup(puan2, Worksheets("kodlar").Range("A2:B24"), 2, 0)
Worksheets("Kontrol").Range("L2:L50").Value = düşeyara
düşeyara = Application.WorksheetFunction.VLookup(Sicil, Worksheets("puan").Range("M2:R90000"), 3, 0)
Worksheets("Kontrol").Range("M2:M50").Value = düşeyara
düşeyara = Application.WorksheetFunction.VLookup(Sicil, Worksheets("PUAN").Range("M2:R90000"), 4, 0)
Worksheets("Kontrol").Range("N2:N50").Value = düşeyara
düşeyara = Application.WorksheetFunction.VLookup(Sicil, Worksheets("PUAN").Range("M2:R90000"), 5, 0)
Worksheets("Kontrol").Range("O2:O50").Value = düşeyara
düşeyara = Application.WorksheetFunction.VLookup(puan2, Worksheets("DEGİZİNKOD").Range("J5:L39"), 3, 0)
Worksheets("Kontrol").Range("P250").Value = düşeyara
düşeyara = Application.WorksheetFunction.VLookup(Sicil, Worksheets("PDKS").Range("M2:R90000"), 6, 0)
Worksheets("Kontrol").Range("X2:X50").Value = düşeyara
Set s1 = Sheets("İZİN")
Set s2 = Sheets("KONTROL")
Dim i As Integer
For i = 2 To s2.Range("Q10").End(3).Row
s2.Cells(i, "Q").Value = Evaluate("SUMPRODUCT(('" & s1.Name & "'!H2:H10000) * ('" & s1.Name & "'!I2:I10000)* ('" & s1.Name & "'!J2:J10000))")
Next
End Sub
Kontrol sayfasında Q sütununun tamamında bu formül var ; TOPLA.ÇARPIM((I2>=İZİN!$H$2:$H$9998)*(I2<İZİN!$I$2:$I$9998)*(İZİN!$J$2:$J$9998))
R sütununda : EĞER(VE(O2>1;O2<9);0;Q2-P2)
S sütunu : EĞER(K2=L2;0;1)
V sütunu : EĞERHATA(0;EĞER(VE(N2=1;T2=0);M2-DÜŞEYARA(I2;PDKS!$M$2:$Q$30000;3;YANLIŞ);0))
w sütunu: EĞERHATA(0;EĞER(DÜŞEYARA(I2;'PDKS KART'!S:T;2;YANLIŞ)=1;1;0))
Y sutunu =EĞER(VE(O2<>"V";(DÜŞEYARA(I2;PDKS!M:S;7;YANLIŞ)=1));1;0)
z sutunu = EĞER(VE(DÜŞEYARA(I2;PDKS!M:S;7;YANLIŞ)<>1;O2="V");1;0)
AA sütunu : EĞER(VE(TOPLA.ÇARPIM((I2>=GÖREVLİ!$F$2:$F$600)*(I2<=GÖREVLİ!$G$2:$G$600)*(GÖREVLİ!$H$2:$H$600))=1;N2<>1);1;0)
yapmış olduğum makro da bu şekilde. Düşeyara olanlar çalışıyor ama Sondaki topla çarpım ile ilgili olan çalışmıyor. Başka bir yerden kopyalayıp uyarlamaya çalıştım
Option Explicit
Dim Sicil, puan1, puan2, düşeyara As Variant
Sub Getir()
Dim s1 As Worksheet, s2 As Worksheet
Set s1 = Sheets("Kontrol")
Set s2 = Sheets("Kontrol")
s2.Range("I2").Value = s1.Range("A2").Value & s1.Range("D2").Value
Sicil = Worksheets("Kontrol").Range("I2:I50").Value
puan1 = Worksheets("Kontrol").Range("N2:N50").Value
puan2 = Worksheets("Kontrol").Range("O2:N50").Value
düşeyara = Application.WorksheetFunction.VLookup(Sicil, Worksheets("PUAN").Range("M2:R90000"), 2, 0)
Worksheets("Kontrol").Range("J2:J50").Value = düşeyara
düşeyara = Application.WorksheetFunction.VLookup(puan1, Worksheets("kodlar").Range("A2:B24"), 2, 0)
Worksheets("Kontrol").Range("K2:K50").Value = düşeyara
düşeyara = Application.WorksheetFunction.VLookup(puan2, Worksheets("kodlar").Range("A2:B24"), 2, 0)
Worksheets("Kontrol").Range("L2:L50").Value = düşeyara
düşeyara = Application.WorksheetFunction.VLookup(Sicil, Worksheets("puan").Range("M2:R90000"), 3, 0)
Worksheets("Kontrol").Range("M2:M50").Value = düşeyara
düşeyara = Application.WorksheetFunction.VLookup(Sicil, Worksheets("PUAN").Range("M2:R90000"), 4, 0)
Worksheets("Kontrol").Range("N2:N50").Value = düşeyara
düşeyara = Application.WorksheetFunction.VLookup(Sicil, Worksheets("PUAN").Range("M2:R90000"), 5, 0)
Worksheets("Kontrol").Range("O2:O50").Value = düşeyara
düşeyara = Application.WorksheetFunction.VLookup(puan2, Worksheets("DEGİZİNKOD").Range("J5:L39"), 3, 0)
Worksheets("Kontrol").Range("P250").Value = düşeyara
düşeyara = Application.WorksheetFunction.VLookup(Sicil, Worksheets("PDKS").Range("M2:R90000"), 6, 0)
Worksheets("Kontrol").Range("X2:X50").Value = düşeyara
Set s1 = Sheets("İZİN")
Set s2 = Sheets("KONTROL")
Dim i As Integer
For i = 2 To s2.Range("Q10").End(3).Row
s2.Cells(i, "Q").Value = Evaluate("SUMPRODUCT(('" & s1.Name & "'!H2:H10000) * ('" & s1.Name & "'!I2:I10000)* ('" & s1.Name & "'!J2:J10000))")
Next
End Sub