JayyMehta Ответов: 0

Найти общую сумму всех сумм


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

Что я уже пробовал:

<pre>For i = 1 To .UsedRange.Rows.Count
        If IsNumeric(.Cells(i, 6).Value) = True And .Cells(i, 6).Value <> "" Then
            If firstnum = "" Then
                firstnum = .Cells(i, 6).Address(False, False)
            End If
            If .Cells(i + 1, 6).Value = "" Then
                lastnum = .Cells(i, 6).Address(False, False)
                i = i + 1
                .Cells(i, 6).Formula = "=SUM(" & firstnum & ":" & lastnum & ")"
                firstnum = ""
            End If


При этом вычисляется сумма некоторых значений, введенных в столбец D. Введенные значения находятся в нерегулярном порядке, и есть сумма, рассчитанная после того, как блок диапазона заканчивается. Так что после всех этих сумм мне нужна большая сумма в конце. Приведенный выше код вычисляет сумму первого и последнего чисел блока и добавляет число между ними. Будет здорово, если кто-нибудь сможет пролить на это свет...
Спасибо!!!

Sinisa Hajnal

1-й вариант: сделайте другой вид и суммируйте содержимое ячеек .Cells(i, 6) (тех, в которые вы поместили формулу ранее); возможно, Вам потребуется сохранить их идентификаторы в коллекции или массиве
2-й вариант: добавьте переменную в код, суммируйте результаты сводных ячеек и просто поместите конечное значение в какую-то конечную ячейку (никакой формулы таким образом)

JayyMehta

Используя 1-й вариант, если я суммирую содержимое .Cells(i,6), я боюсь, что сумма всех блоков также сложится вместе со значениями данных. Так что общая сумма будет удвоена, я думаю...

0 Ответов