использование SubTotal в VBA, но ошибка переполнения потока - PullRequest
0 голосов
/ 25 апреля 2019

Попытка заставить VBA суммировать диапазоны C5: C46, ​​D5: D46 и т. Д., Но показывать только видимые строки для добавления.

Пробовали несколько способов и просмотрели множество других кодов, чтобы попробовать изаставить его работать, но он не

Am после предложений!

приложил два примера, которые я использовал, но не работал.

Private Function AddTotals()

'    Dim rCell As Range
'    For Each rCell In Range("C5:C46")
'        Cells(47, 3).Value = WorksheetFunction.Subtotal(109, Range(Cells(1, rCell.Column), _
'            Cells(Rows.Count, rCell.Column).End(xlUp)))
'    Next rCell
    Cells(47, 3).Value = WorksheetFunction.Subtotal(109, Range("C5:C46")) ' Add up all Invoiced Amount
    Cells(47, 4).Value = WorksheetFunction.Sum(Range("D5:D46")) ' Add up all Activities Amount
    Cells(47, 6).Value = WorksheetFunction.Sum(Range("F5:F46")) ' Add up all Cash Payments
    Cells(47, 7).Value = WorksheetFunction.Sum(Range("G5:G46")) ' Add up all EFT Payments
End Function

с помощьюСумма работает, но использование промежуточного итога - нет.

Ответы [ 2 ]

0 голосов
/ 25 апреля 2019

Я думаю, вы могли бы использовать:

Option Explicit

Sub test()

    With ThisWorkbook.Worksheets("Sheet1") 'Change if needed

        .Cells(31, 3).Formula = "=Subtotal(109,C5:C30)"
        .Range(.Cells(31, 4), .Cells(31, 7)).Formula = "=Sum(D5:D30)"

    End With

End Sub
0 голосов
/ 25 апреля 2019

Я предлагаю вам использовать явные ссылки на лист, к которому относятся ваши ячейки / диапазоны. Я запускаю следующий код без каких-либо проблем:

Sub AddTotals()

Dim sht As Worksheet
Set sht = ThisWorkbook.Worksheets("The name of your worksheet")
sht.Cells(31, 3).Value = WorksheetFunction.Subtotal(109, sht.Range("C5:C30"))
sht.Cells(31, 4).Value = WorksheetFunction.Sum(sht.Range("D5:D30"))
sht.Cells(31, 6).Value = WorksheetFunction.Sum(sht.Range("F5:F30"))
sht.Cells(31, 7).Value = WorksheetFunction.Sum(sht.Range("G5:G30"))

End Sub

Вот мои результаты по случайным данным:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...