Как включить мои листы в Excel для автоматического обновления фильтров, которые я применил к ним

Я посмотрел на другие темы безрезультатно для этого. У меня есть несколько листов в моей книге, один из которых является листом данных, а другие извлекают из него данные. Я установил фильтр в этих листах, чтобы не показывать ничего, что отображается как "ложь", что здорово, пока я не добавлю данные в главный лист данных. Я хотел бы, чтобы кто-нибудь помог с тем, чтобы другие листы автоматически обновлялись, показывали/удаляли данные, без необходимости постоянно применять фильтр! Я надеюсь, что это имеет смысл!

Я пробовал использовать этот код (найденный из других потоков на этом сайте), но, похоже, не работает для меня, что я делаю неправильно!

Private Sub Worksheet_Change(ByVal Target As Range)
If Me.FilterMode = True Then
    With Application
       .EnableEvents = False
       .ScreenUpdating = False
    End With

    With ActiveWorkbook
        .CustomViews.Add ViewName:="Mine", RowColSettings:=True
      Me.AutoFilterMode = False
        .CustomViews("Mine").Show
        .CustomViews("Mine").Delete
    End With


     With Application
       .EnableEvents = True
       .ScreenUpdating = True
    End With
End If
End Sub
9
задан Raystafarian
12.02.2023 11:28 Количество просмотров материала 2680
Распечатать страницу

1 ответ

вы используете

Private Sub Worksheet_Change(ByVal Target As Range)

вот это триггер на конкретные цели, когда они меняются. Вы не проверили цель на предмет, чтобы она не сработала. Вы должны проверить, если целевое изменение находится в пределах отфильтрованного диапазона, как

If Not Intersect(Target, Range("A1:A10") is Nothing Then
1
отвечен Raystafarian 2023-02-13 19:16

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

microsoft-excel
microsoft-excel-2013
microsoft-excel-2016
office365
vba
Вверх