Это можно сделать несколькими способами, но я просто немного изменил ваш код для правильной работы.
- Поскольку вы рассчитываете два параметра, вы должны использовать два счетчика. Один для «А», другой для «АА».
- Нет необходимости хранить строки, пишущие результаты (например,
Range("I2").Value = "A"
Range("J2").Value = Counter
и т. Д.) В цикле. Наконец запишите значения в нужную ячейку после завершения цикла
Окончательный код будет
Sub Button1_Click()
Dim i As Long, j As Long
Dim Counter As Long, Counter2 As Long
Dim x As Double
For i = 1 To 1000
If Cells(i, 1).Value = "A" Then
Counter = Counter + Cells(i, 7).Value
ElseIf Cells(i, 1).Value = "AA" Then
Counter2 = Counter2 + Cells(i, 7).Value
End If
Next i
Range("I2").Value = "A"
Range("J2").Value = Counter
Range("I3").Value = "AA"
Range("J3").Value = Counter2
End Sub
Самое простое решение VBA может быть
Sub Button1_Click()
Range("I2").Value = "A"
Range("J2").Value = WorksheetFunction.SumIf(Range("A1:A1000"), "A", Range("G1:G1000"))
Range("I3").Value = "AA"
Range("J3").Value = WorksheetFunction.SumIf(Range("A1:A1000"), "AA", Range("G1:G1000"))
End Sub