Использование внутреннего имени листа Excel (то есть sheet1, sheet2, sheet3) для суммирования ячейки по нескольким листам - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь суммировать одну и ту же ячейку по нескольким листам. Количество листов увеличивается на один каждую неделю и будет новым Листом1. Каждый лист получит дату для своего имени. Последний лист будет иметь итоговые суммы. Три листа до этого будут содержать инструкции. то есть 20 листов, данные на листах 1-16, инструкции на листах 17-19 и итоговые данные на листе 20.

Этот Сумма по динамическому количеству листов вопрос использует пользовательскую функцию = autosum в каждой ячейке и может работать. Я бы предпочел использовать VBA для создания макроса. Я знаю, как получить итоговые листы и суммировать по всем листам, где я теряюсь, как суммировать по всем (всего листов -4), то есть листов 1-16.

код, который я уже использую, это

Dim sheets as Integer

sheets = Application.sheets.Count

=SUM('FirstSheet:LastSheet'!D6)

Как мне получить

=SUM('FirstSheet:(LastSheet-4)'!D6 * * 1013

Я хочу использовать внутренний лист Excel1, лист2 и т. Д. Против имени даты на каждом листе, по крайней мере, для FirstSheet. Я могу жестко закодировать LastSheet, поскольку он не изменится.

1 Ответ

0 голосов
/ 10 июля 2019

Вам не нужно использовать VBA, вы можете использовать формулу суммы по умолчанию. Я рекомендую создать два пустых листа (например, «Начало» и «Конец»), убедитесь, что «Начало» всегда перед первым листом, который вам нужен, а «Конец» всегда сразу после последнего листа, который вы хотите сложить. Тогда формула, подобная этой, сделает то, что вы просите:

=SUM(Start:End!A1)

Редактировать: Если имя первого и / или последнего листа, который должен быть суммирован, является статическим, вы можете избежать использования заполнителей «начало» или «конец» и заменить их именами первого / последнего листов, которые должны суммироваться.

...