Может быть много способов сделать это, используя или не используя VBA.
Я представляю вам решение, использующее только Excel, но его можно перенести на VBA, чтобы избежать использования других столбцов (я считаю, что должен быть способ сделать это без использования столбцов поддержки, кто-то еще в сообществе может вспомнить, как, в конце концов, ).
Хорошо, уловка в том, чтобы использовать формулу INDIRECT
.
Я предполагаю, что вы применяете формулу суммы в столбце C.
В столбцах D и E вы будете хранить индексы строк. Тогда у нас будет:
|D |E |
|-------|-------|
|1 |24 |
|=D1+24 |=E1+24 |
|=D2+24 |=E2+24 |
Теперь в столбце C вместо суммы с прямыми значениями используйте:
=SUM(INDIRECT("B"&D1):INDIRECT("B"&E1))
=SUM(INDIRECT("B"&D2):INDIRECT("B"&E2))
=SUM(INDIRECT("B"&D3):INDIRECT("B"&E3))
Этот код можно перетаскивать столько раз, сколько вы хотите, если вы перетаскиваете столбцы C, D и E. вместе.
Опять же, это также может быть сделано более изощренным способом с использованием VBA (и, возможно, более разумным способом, используя только Excel, хе-хе), но мне так пришло в голову. В любом случае, большинство вопросов, которые я видел здесь о простых реализациях VBA, были для личного использования, поэтому использование других столбцов не составило бы проблем.
Если вы предпочитаете (или вам нужно) использовать VBA, набросайте свой код, и мы вам поможем.
Надеюсь, это поможет.