Hi

Put the code in standard module.

Code:
Sub kTest_v1()
    
    Dim wksPurch        As Worksheet, wksSales  As Worksheet, dtCurrent As Date
    Dim ka, k(), i As Long, n As Long, t(), wksSummary As Worksheet
    Dim Concat  As String
    
    Set wksPurch = Worksheets("Purchase")
    Set wksSales = Worksheets("Sales")
    Set wksSummary = Worksheets("Summary")
    
    i = wksPurch.UsedRange.Rows.Count + wksSales.UsedRange.Rows.Count
    ReDim k(1 To i, 1 To 7)
    
    With CreateObject("scripting.dictionary")
        .comparemode = 1
        dtCurrent = wksPurch.Range("b1")
        ka = wksPurch.Range("a1").CurrentRegion.Resize(, 6).Offset(1)
        For i = 2 To UBound(ka, 1)
            If Len(ka(i, 1)) * Len(ka(i, 2)) * Len(ka(i, 3)) Then
                Concat = Trim$(ka(i, 1) & "|" & ka(i, 2))
                If Not .exists(Concat) Then
                    n = n + 1
                    k(n, 1) = Trim$(ka(i, 1))
                    k(n, 2) = Trim$(ka(i, 2))
                    k(n, 3) = ka(i, 5)
                    If dtCurrent - CDate(ka(i, 4)) > 60 Then k(n, 6) = ka(i, 5)
                    k(n, 5) = "=RC[-2]-RC[-1]"
                    k(n, 7) = "=RC[-2]-RC[-1]"
                    .Add Concat, Array(n, 7)
                Else
                    t = .Item(Concat)
                    k(t(0), 3) = k(t(0), 3) + ka(i, 5)
                    If dtCurrent - CDate(ka(i, 4)) > 60 Then
                        k(t(0), 6) = k(t(0), 6) + ka(i, 5)
                    End If
                End If
            End If
        Next
        ka = wksSales.Range("a1").CurrentRegion.Resize(, 6)
        For i = 2 To UBound(ka, 1)
            If Len(ka(i, 1)) * Len(ka(i, 2)) * Len(ka(i, 3)) Then
                Concat = Trim$(ka(i, 1) & "|" & ka(i, 2))
                If .exists(Concat) Then
                    t = .Item(Concat)
                    k(t(0), 4) = k(t(0), 4) + ka(i, 5)
                    k(t(0), 6) = Application.Max(0, k(t(0), 6) - ka(i, 5))
                End If
            End If
        Next
    End With
    If n Then
        With wksSummary
            .Range("a2").Resize(n, 7).Value = k
        End With
    End If
        
End Sub
HTH