Вы можете попробовать это:
Option Explicit
Sub TableDataTest()
Dim ws As Worksheet, wsData As Worksheet, MonthCol As Integer, ThisMonth As Date, C As Range, _
x As Integer, y As Integer
x = 2 'Number of the column with the region
y = 3 'Number of the column with the data to sum
With ThisWorkbook
Set ws = .Sheets("PR")
Set wsData = .Sheets("CSV Data PR")
End With
ThisMonth = Format(wsData.Range("C2"), "MM/YYYY")
With ws
MonthCol = .Cells.Find(ThisMonth, LookIn:=xlFormulas, lookat:=xlWhole).Column
For Each C In .Range(.Cells(3, Col), .Cells(11, Col))
C = Application.SumIf(wsData.Columns(x), .Cells(C.Row, 1), wsData.Columns(y))
Next C
End With
End Sub
Вам нужно только найти столбец, в котором находится месяц, и затем жестко закодировать строки, в которых вы хотите работать, потому что, как я вижу, онивсегда один и тот же и вряд ли будет расти.
PS: я предполагаю, что таблица начинается со строки 3 и столбца A, в противном случае измените начальную строку 3 в диапазоне For Each C
и критерии внутри столбца принятия суммирования1.