После использования расширенного фильтра не работает функция subtotal - VBA

Узнай цену своей работы

Формулировка задачи:

Добрый день! Никак не могу разобраться с суммированием динамического диапазона строк в столбце после применения фильтра. Есть таблица на Листе1, куда через форму вводятся данные. Затем таблица копируется на Лист2, где я задала расширенный фильтр, он работает нормально. Данные в таблице могут изменяться (строки добавляться, удаляться). В 9 столбце (I) нужно произвести суммирование видимых строк, думаю использовать функцию subtotal. Но никаким образом она не хочет работать. Пыталась сделать перебором с циклом заполненных строк и выводом результата функции в последующую после последней ячейки. Не работает. Помогите пожалуйста! Файл программы достаточно большой, выкладывать думаю, не стоит. Вот код:

Решение задачи: «После использования расширенного фильтра не работает функция subtotal»

textual
Листинг программы
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Not Intersect(Target, [A2:I5]) Is Nothing Then
       'If FilterMode = True Then ShowAllData
       Application.EnableEvents = False
       [I:I].Replace "=SUBTOTAL(*", ""
       With [A7].CurrentRegion
            .AdvancedFilter xlFilterInPlace, [A1].CurrentRegion
            .Cells(.Rows.Count + 1, 9) = "=SUBTOTAL(9, " & .Columns(9).Address & ")"
       End With
       Application.EnableEvents = True
    End If
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.067 из 5