2

Я хотел бы сделать новую финансовую таблицу для отслеживания расходов. Поскольку ведомости расходов создаются как и когда я не могу предварительно сгенерировать электронную таблицу для заполнения формулами. У меня есть сводный лист, в который добавляются итоги с других листов, и в настоящее время я создаю формулу вручную в конце месяца. Есть ли способ автоматического суммирования по нескольким листам и добавления новых листов к сумме при их создании?

Это возможно с помощью стандартного Excel или мне нужно будет использовать какой-нибудь VBA?

Я знаю, как добавить одну и ту же ячейку к нескольким листам (см. Excel - формулы для общего количества на нескольких листах?)

Этот скрипт vba является частью пути к тому, что я хочу сделать, но не совсем то, что я хочу сделать: Excel - импорт данных из ячейки автоматически при создании новой вкладки

PS Я не знаю VBA, но готов учиться. Я привык к C/Python.

1 ответ1

1

Скажем, у вас есть промежуточный итог в Sheet1!A1 . Итак, теперь вы можете создать макрос, который вы можете запустить, который возьмет все суммы с других листов и суммирует их.

Давайте предположим, что итоговые данные для каждого листа находятся в ячейке A10 -

Sub updatethesum()
Dim ws As Worksheet
    Dim i As Double
    i = 0
For Each ws In ThisWorkbook.Worksheets

    If ws.Name <> "Sheet1" Then
        i = i + ws.Range("A10")
    End If

Next
Sheets("Sheet1").Range("A1") = i
End Sub

Если вы беспокоитесь, что кто-то поставит букву вместо числа в A10 вы можете ограничить ввод примерно так:

Sub updatethesum()

Dim ws As Worksheet
    Dim i As Double
    i = 0
    Dim bletter As Boolean

For Each ws In ThisWorkbook.Worksheets

    If ws.Name <> "Sheet1" Then
        bletter = IsNumeric(ws.Range("A10").Value)
            If bletter = True Then
             i = i + ws.Range("A10")
            End If
    End If

Next
Sheets("Sheet1").Range("A1") = i
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .