Note: The other languages of the website are Google-translated. Back to English

Как выделить столбец или заголовок столбца, если он отфильтрован в Excel?

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

Выделите заголовок столбца или весь столбец, если он отфильтрован кодом VBA


Выделите заголовок столбца или весь столбец, если он отфильтрован кодом VBA

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

1. нажмите другой + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. В окне Microsoft Visual Basic для приложений щелкните Вставить > Модули. Затем скопируйте приведенный ниже код VBA в окно модуля.

Код VBA: выделить заголовок столбца, если столбец отфильтрован

Sub HighLightTitle()
'Updated by Extendoffice 2017/9/12
    Dim xRg As Range
    Dim I As Integer
    Dim xCount As Long
    Dim xRgCol As Long
    Dim xAddress As String
    Dim xFilterCount As Long
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the first cell of the table range:", "KuTools For Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    xRg.Select
    With xRg(1).Parent.AutoFilter
        xFilterCount = .Range.Columns.Count
        xRgCol = xRg.Offset(1).Column - .Range.Column + 1
        For I = xRgCol To xFilterCount
            xCount = xRg.Offset(, I - xRgCol).Column - .Range.Column + 1
            With .Filters(xCount)
                If .On Then
                    xRg.Offset(, I - xRgCol).Interior.Color = 16736553
                End If
            End With
        Next
    End With
End Sub

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

Код VBA: выделить весь столбец, если он отфильтрован

Sub HighLightCols()
'Updated by Extendoffice 2017/9/12
    Dim xRg As Range
    Dim xCount As Long
    Dim xRgCol As Long
    Dim xAddress As String
    Dim xRgFilter As Range
    Dim xFilterCount As Long
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the first cell of the table range:", "KuTools For Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    xRg.Select
    With xRg(1).Parent.AutoFilter
        xFilterCount = .Range.Columns.Count
        xRgCol = xRg(1).Column - .Range.Column + 1
        For I = xRgCol To xFilterCount
            xCount = xRg.Offset(, I - xRgCol).Column - .Range.Column + 1
            With .Filters(xCount)
                Set xRgFilter = xRg.Offset(, I - xRgCol).Parent.AutoFilter.Range.Columns(xCount)
                If .On Then
                    xRgFilter.Interior.Color = 16736553
                End If
            End With
        Next
    End With
End Sub

3. нажмите F5 ключ для запуска кода. В всплывающем Kutools for Excel В диалоговом окне выберите первую ячейку таблицы, в которой необходимо выделить заголовок отфильтрованного столбца или весь отфильтрованный столбец, а затем щелкните значок OK кнопку.

Тогда заголовок столбца или весь столбец будет немедленно выделен, если столбец отфильтрован в определенной таблице. Смотрите скриншоты:

Выделите заголовок столбца, если столбец отфильтрован в таблице:

Выделите весь столбец, если он отфильтрован в таблице:


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (5)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
это было бы фантастикой для меня, но я не мог заставить это работать. Я использовал код, чтобы раскрасить весь столбец. когда я фильтровал в первый раз, столбец стал синим. однако, когда я очистил фильтр, синий цвет остался. После этого фильтрация другого столбца не дала результата. так что на данный момент у меня осталась одна синяя колонка. используя последнюю версию Excel из Office 365.
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте,
Спасибо за ваш комментарий.
Упомянутая вами проблема слишком сложна, чтобы решить ее сейчас. Мы постараемся сделать все возможное, чтобы решить эту проблему как можно скорее, и сообщим вам после того, как разберемся.
Этот комментарий был сведен к минимуму модератором на сайте
Чтобы исправить это, измените:
Если .On Тогда

xRg.Offset(, I - xRgCol).Interior.Color = 16736553

End If

В:
Если .On Тогда

xRg.Offset(, I - xRgCol).Interior.Color = 16736553

Еще

xRg.Offset(, I - xRgCol).Interior.Color = 16777215

End If



Не удалит цвет.
Этот комментарий был сведен к минимуму модератором на сайте
Я была такая же проблема. После того, как столбец нефильтрован. Колонка осталась синей. Кроме того, когда вы фильтруете новый столбец, он не меняется. VBA не выделяет его в новом столбце фильтра.
Этот комментарий был сведен к минимуму модератором на сайте
Решение, которое может помочь создать обновленный vba, состоит в том, чтобы добавить дополнительный дубликат первого необработанного файла в строку A1, строка A2 должна быть началом отфильтрованных данных (точная копия всех данных в строке A1 - строки A1 и A2 должны быть одинаковыми), поэтому мы всегда иметь одну строку заголовка без раскрывающегося значка фильтра и с форматом OG, после запуска макроса с фильтрацией нескольких столбцов он будет выделять отфильтрованный столбец, как обычно, и после удаления фильтра желаемых столбцов или фильтра всех столбцов он должен скопировать формат в столбец A1 , можно ли это сделать для столбцов без фильтрованной сортировки?
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL