Mukayese Makrosu

Karamanli.70

Altın Üye
Katılım
26 Mart 2019
Mesajlar
48
Excel Vers. ve Dili
Microsoft Office Professional Plus 2016
Altın Üyelik Bitiş Tarihi
19-12-2024
Arkadaşlar kolay gelsin. Excelde iki sekme arasında (İki Tarih arasında) mukayese için kullandığım;

=EĞERHATA(İNDİS('14_04_2021'!$D$2:$D$38383;TOPLA.ÇARPIM((KAÇINCI(A2&"@"&B2&"@"&C2;'14_04_2021'!$A$2:$A$38383&"@"&'14_04_2021'!$B$2:$B$38383&"@"&'14_04_2021'!$C$2:$C$38383;0))));" ")

formülü exceli çok kasıyor. Acaba iki sekme arasında mukayese için bir makro kod örneği için yardımcı olabilirmisiniz.

Şimdiden çok teşekkür ederim.


231235
 

Ekli dosyalar

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Tam olarak ne yapmak istediğinizi belirtirseniz daha kolay çözüm bulunabilir.
 

Ziynettin

Destek Ekibi
Destek Ekibi
Katılım
18 Nisan 2008
Mesajlar
1,106
Excel Vers. ve Dili
office2010
Deneyiniz....

Kod:
Sub test()
Dim s1 As Worksheet, s2 As Worksheet, Krt As String
Dim a(), b(), c(), dc As Object, i As Long
Set s1 = Sheets("24-08-2021")
Set s2 = Sheets("14_04_2021")
Set dc = CreateObject("scripting.dictionary")

a = s1.Range("A2:D" & s1.Range("A" & Rows.Count).End(3).Row).Value
b = s2.Range("A2:D" & s2.Range("A" & Rows.Count).End(3).Row).Value

ReDim c(1 To UBound(a), 1 To 2)

For i = 1 To UBound(b)
    Krt = CStr(b(i, 1)) & "|" & CStr(b(i, 2)) & "|" & CStr(b(i, 3))
    dc(Krt) = b(i, 4)
Next i

For i = 1 To UBound(a)
    Krt = CStr(a(i, 1)) & "|" & CStr(a(i, 2)) & "|" & CStr(a(i, 3))
    If dc.exists(Krt) Then
        c(i, 1) = dc(Krt)
        c(i, 2) = a(i, 4) - dc(Krt)
    Else
        c(i, 1) = 0
        c(i, 2) = 0
    End If
Next i

s1.[E2].Resize(UBound(a), 2).Value = c

MsgBox "İşlem tamam.....", vbInformation
End Sub
 

Karamanli.70

Altın Üye
Katılım
26 Mart 2019
Mesajlar
48
Excel Vers. ve Dili
Microsoft Office Professional Plus 2016
Altın Üyelik Bitiş Tarihi
19-12-2024
Çok teşekkür ederim Ziynettin Bey ellerinize sağlık çok iyi oldu.
 
Üst