Приведенный ниже код поможет вам определить и указать ваш «диапазон ящиков».Код делает 3 предположения, которые вам, возможно, придется изменить, если они неверны:
1) «Верхний левый угол» вашего диапазона ячеек равен B2
2) Значения в столбце B охватываютнижняя часть вашего диапазона.Если вы ожидаете пропуски в столбце B, измените его на другой столбец.
3) Значения в строке 2 охватывают конец используемых столбцов.Если вы ожидаете пропуски в строке 2, измените это на другую строку.
Sub RangeBox()
Dim WS As Worksheet
Set WS = ThisWorkbook.Sheets(1)
Dim LRow As Long
Dim LCol As Long
LRow = WS.Range("B" & WS.Rows.Count).End(xlUp).Row
LCol = WS.Cells(2, Columns.Count).End(xlToLeft).Column
MsgBox "Last Row: " & LRow & vbNewLine & "Last Column: " & LCol
'How to refer to the box range starting from A1
Dim Start As Range
Set Start = WS.Range("B2")
WS.Range(Start, WS.Cells(LRow, LCol)).Select
End Sub
Чтобы заполнить этот диапазон формулой:
WS.Range(Start, WS.Cells(LRow, LCol)).Formula = "=Sum(1,2)"
Внутри кавычек введите уравнение, как в Excel, и при необходимости используйте заблокированные ссылки ($).В приведенном выше примере ваш диапазон будет заполнен значением 3.