Сделал небольшую очистку кода, и код ниже работает мной.Я тестировал только с пустыми диапазонами критериев, что означает, что столбец K (столбец 11 в коде) заполнен нулевыми значениями, поэтому, если run-time error 1004
вновь появляется у вас с этим кодом, это говорит о том, что проблема заключается здесь.В этом случае убедитесь, что все значения в диапазонах критериев функции SumIf являются действительными.
Sub stock_exercise()
Dim r As Long, RowNbr As Long
Dim uniqueticker As Long
Dim rng As Range
Dim sheet1 As Worksheet
Application.ScreenUpdating = False
Set sheet1 = ThisWorkbook.Sheets("A")
With sheet1
'determine row count
RowNbr = .Range("A1", .Range("A1").End(xlDown)).Rows.Count
Set rng = .Range("a1:a" & RowNbr)
'copy and paste unique ticker from column a to column j
rng.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Range("J2"), Unique:=True
.Range("J1").Value = "ticker"
uniqueticker = .Range("j1", Range("j1").End(xlDown)).Rows.Count - 1 ' minus one, since we insert from row two
'sumif of each ticker
For r = 2 To uniqueticker + 1
' insert total volume
.Cells(r, 11).Value = Application.SumIf(rng, .Cells(r, 10), .Range("g1:g" & RowNbr))
Next r
End With
Application.ScreenUpdating = True
End Sub