Sub ertert()
Dim x, y(), i&, rw&, k$
x = Range("A2:B" & Cells(Rows.Count, 1).End(xlUp).Row).Value
With Sheets("Результат")
x = .Range("A7:C" & .Cells(Rows.Count, 1).End(xlUp).Row).Value
End With
ReDim y(1 To UBound(x), 1 To 24)
With CreateObject("Scripting.Dictionary")
.CompareMode = 1
For i = 1 To UBound(x, 1)
k = x(i, 1) & x(i, 3) & x(i, 2) 'Счет ДЗ - Тип - ИНН
.Item(k) = i
Next i
With Sheets("Данные")
x = .Range("A10:N" & .Cells(Rows.Count, 1).End(xlUp).Row).Value
End With
For i = 1 To UBound(x, 1)
k = x(i, 1) & x(i, 2) & x(i, 10)
If .Exists(k) Then
rw = .Item(k)
y(rw, x(i, 14)) = y(rw, x(i, 14)) + x(i, 9)
End If
Next i
End With
With Sheets("Результат")
.Range("I7").Resize(UBound(y), 24).Value = y
.Activate
End With
End Sub
Dim x, y(), i&, rw&, k$
x = Range("A2:B" & Cells(Rows.Count, 1).End(xlUp).Row).Value
With Sheets("Результат")
x = .Range("A7:C" & .Cells(Rows.Count, 1).End(xlUp).Row).Value
End With
ReDim y(1 To UBound(x), 1 To 24)
With CreateObject("Scripting.Dictionary")
.CompareMode = 1
For i = 1 To UBound(x, 1)
k = x(i, 1) & x(i, 3) & x(i, 2) 'Счет ДЗ - Тип - ИНН
.Item(k) = i
Next i
With Sheets("Данные")
x = .Range("A10:N" & .Cells(Rows.Count, 1).End(xlUp).Row).Value
End With
For i = 1 To UBound(x, 1)
k = x(i, 1) & x(i, 2) & x(i, 10)
If .Exists(k) Then
rw = .Item(k)
y(rw, x(i, 14)) = y(rw, x(i, 14)) + x(i, 9)
End If
Next i
End With
With Sheets("Результат")
.Range("I7").Resize(UBound(y), 24).Value = y
.Activate
End With
End Sub
Изменено: - 03.11.2015 03:26:51