@ermolushka

Как считывать обновленные значения ячеек после применения фильтра в VBA?

В столбце B у меня есть 1000 значений. Также вручную сделан фильтр, который фильтрует количество по месяцам. Есть код, который считает количество:

Sub flight_plot()
one = 0
For Each c in ActiveWorkbook.Worksheets("Учёт").Range("b8:b1000)
If c= "something" Then
one = one + 1
End if
Next

Однако, когда я применяют фильтр, и количество меняется, макрос считывает прежнее количество.
  • Вопрос задан
  • 220 просмотров
Решения вопроса 1
AnnTHony
@AnnTHony
Интроверт
Допишите в условие эту строчку:
And (Rows(c.Row).Hidden = False)

Ваш код немного измененный: несколько цифр в столбце, отфильтрованы только значения "5"
Sub filter()
    Dim one As Integer
    Dim c As Variant
    one = 0
    For Each c In ActiveWorkbook.Worksheets("Лист1").Range("C6:C19")
        If (c <> "") And (Rows(c.Row).Hidden = False) Then
            one = one + Int(c)
        End If
    Next
    MsgBox (Str(one))
End Sub
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы