Я пытаюсь создать макрос, способный распознавать, сколько строк имеют значения над ним, и суммировать только этот диапазон. Если вы посмотрите на прикрепленное изображение, мне нужно иметь возможность щелкнуть в ячейках B4, B10 и B21 и выполнить макрос, чтобы он суммировал только значения в этом диапазоне.
Поэтому для ячейки B4 мне нужен макрос, чтобы знать, что ему нужно суммировать ячейки от B1 до B3.
Для ячейки B10 мне нужен макрос, чтобы автоматически знать, что он должен суммировать диапазон 4 ячеек (от B6 до B9).
Для ячейки B21 мне нужен макрос, чтобы автоматически определить, что диапазон для суммирования теперь составляет 9 строк (от B12 до B20).
Макросы, которые я использовал, будут суммировать только заданный диапазон ячеек (например, будут суммироваться только те 5 ячеек, которые находятся непосредственно над ячейкой, из которой выполняется макрос (см. Фрагмент кода ниже):
Sub Macro22()
'
' Macro22 Macro
' With Relative References turned on.
'
' Keyboard Shortcut: Ctrl+o
'
ActiveCell.FormulaR1C1 = "=SUM(R[-5]C:R[-1]C)"
End Sub
Моя вторая попытка заставит макрос суммировать все ячейки над ним.
Sub test()
ActiveCell.Value = "=SUM(" & Range(Cells(1, ActiveCell.Column), Cells(ActiveCell.Row - 1, ActiveCell.Column)).Address(False, False) & ")"
End Sub
Это вообще возможно? Из того, что я видел, это должно быть возможно, но очень сложно заставить макрос сделать это.