Как выделить столбец или заголовок столбца, если он отфильтрован в 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 .
Тогда заголовок столбца или весь столбец будет немедленно выделен, если столбец отфильтрован в определенной таблице. Смотрите скриншоты:
Выделите заголовок столбца, если столбец отфильтрован в таблице:
Выделите весь столбец, если он отфильтрован в таблице:
Лучшие инструменты для офисной работы
Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!