Если я выделю всю первую строку и отфильтрую ее, мне не нужно будет повторять процесс каждый раз, когда я добавляю новый столбец. Есть ли способ обойти это? Я мог бы запустить макрос, но это все еще дополнительный шаг каждый раз, когда я добавляю новый столбец.

Например, если у меня есть столбец с именем "Типы яблок", и я выделяю всю первую строку и нажимаю "Данные"> "Фильтр", то при создании другого столбца для "Типов апельсинов" этот столбец должен фильтроваться автоматически, поскольку я уже сказал Excel, что я хотел отфильтровать всю первую строку.

Версия: Excel 365 ProPlus, версия 1750

2 ответа2

0

Я хотел бы предложить два варианта.

1. Выберите диапазон данных, щелкните правой кнопкой мыши и нажмите «Фильтр», затем «Применить».

2. Этот код VBA поможет вам применить фильтр при добавлении или удалении нового столбца.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As range)

  Dim ws As Worksheet
  Dim rng As range
  Set ws = Sh

  If ws.AutoFilterMode Then

     With ws.AutoFilter.range

        If (Target.Column < .Column) And (Target.Column + Target.Columns.count >= 
           .Column - Target.Columns.count) Or (Target.Column >= .Column + .Columns.count) Then
           Set rng = ws.AutoFilter.range
           ws.AutoFilter.range.AutoFilter
           ws.range(Target, rng).AutoFilter
        End If

     End With

  End If
End Sub

Я надеюсь, это поможет вам. Я разместил это решение после того, как оно было проверено мной.

0

Отформатируйте диапазон данных в виде таблицы.

  1. Выберите диапазон данных
  2. На вкладке «Главная» нажмите «Формат таблицы».\ Снимок экрана: кнопка «Формат таблицы» нажата
  3. Выберите стиль таблицы, который вы хотите использовать

Вы можете не только добавить дополнительные столбцы в конец своих данных и автоматически применять фильтры, но вы также можете добавить дополнительные строки данных в нижней части, и ваша таблица будет автоматически расти.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .