У меня есть макрос, который проходит через клетки. Мой диапазон начинается с $A1
но мне нужно, чтобы он работал для диапазона, начинающегося с $A8
. Как я могу исправить свой код:
Sub test()
Dim a, i As Long, ii As Long, dic As Object
Set dic = CreateObject("Scripting.Dictionary")
dic.CompareMode = 1
a = Sheets("sheet1").Cells(1).CurrentRegion.Value
For i = 2 To UBound(a, 1)
If Not dic.exists(a(i, 1)) Then
Set dic(a(i, 1)) = CreateObject("Scripting.Dictionary")
dic(a(i, 1)).CompareMode = 1
End If
dic(a(i, 1))(a(i, 2)) = dic(a(i, 1))(a(i, 2)) + a(i, 3)
Next
With Sheets("sheet2").Cells(1).CurrentRegion
.Offset(1, 1).ClearContents
a = .Value
For i = 2 To UBound(a, 1)
If dic.exists(a(i, 1)) Then
For ii = 2 To UBound(a, 2)
a(i, ii) = dic(a(i, 1))(a(1, ii)) + 0
Next
End If
Next
.Value = a: .Parent.Activate
End With
End Sub