Note: The other languages of the website are Google-translated. Back to English
Увійти  \/ 
x
or
x
Реєстрація  \/ 
x

or

Як фільтрувати дані, просто клацнувши вміст комірки в Excel?

Зазвичай в Excel ви можете застосувати функцію фільтрації для фільтрування даних за вашими потребами. Але в цій статті я розповім про те, як фільтрувати дані, просто натискаючи значення клітинки. Візьмемо наступні дані як приклад. Коли я двічі клацну клітинку A2, усі відповідні записи на основі цього натиснутого значення будуть відфільтровані відразу, як показано на знімку екрана.

фільтр документа, натиснувши 1

Фільтруйте дані, просто натискаючи значення комірки з кодом VBA


стрілка синя права міхур Фільтруйте дані, просто натискаючи значення комірки з кодом VBA

Тут я надаю код VBA для фільтрації даних, натиснувши клітинку, будь-ласка, зробіть наступне:

1. Спочатку вкажіть вашим даним назву діапазону, введіть назву діапазону в Ім'я Box, і натисніть вводити ключ, див. знімок екрана:

фільтр документа, натиснувши 2

2. Клацніть правою кнопкою миші вкладку аркуша, яку потрібно відфільтрувати, клацнувши клітинку, а потім виберіть Переглянути код з контекстного меню та у відкритому вікні Microsoft Visual Basic для додатків вікно, скопіюйте та вставте наступний код у порожній модуль:

Код VBA: Фільтруйте дані, натискаючи значення комірки:

Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Updateby Extendoffice
    Dim rgTable As Range
    Dim rgData As Range
    Dim xColumn As Integer
    On Error Resume Next
    Application.ScreenUpdating = False
    Set rgTable = Range("mydata")
    With rgTable
        Set rgData = .Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Count)
        If Not Application.Intersect(ActiveCell, rgData.Cells) Is Nothing Then
            xColumn = ActiveCell.Column - .Column + 1
            If ActiveSheet.AutoFilterMode = False Then
                .AutoFilter
            End If
            If ActiveSheet.AutoFilter.Filters(xColumn).On = True Then
                .AutoFilter Field:=xColumn
            Else
                .AutoFilter Field:=xColumn, Criteria1:=ActiveCell.Value
            End If
        End If
    End With
    Set rgData = Nothing
    Set rgTable = Nothing
    Application.ScreenUpdating = True
End Sub

фільтр документа, натиснувши 3

примітки: У наведеному вище коді, мідадані це назва діапазону, яку ви створили для свого діапазону даних, будь ласка, змініть його відповідно до своїх потреб.

3. Потім збережіть і закрийте вікно коду, тепер, коли ви двічі клацнете будь-яку комірку діапазону даних, яку потрібно відфільтрувати, відповідні записи будуть відфільтровані, як показано на наведеному нижче знімку екрана:

фільтр документа, натиснувши 4


Інші відповідні статті:

Як змінити значення комірки, натиснувши клітинку?

Як відсортувати дані стовпців, натиснувши на заголовок у Excel?


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

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

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    shneed@live.co.uk · 2 years ago
    Hi, I have a summary sheet, that calculates how many lines on the main sheet that are within a certain date range. I want to be able to double click on a certain date range and it then filter out the data on the main sheet to the date range I double clicked on. What code would I need for this please
  • To post as a guest, your comment is unpublished.
    Daniel · 2 years ago
    Buenas tardes

    Excelente aportación ... lástima que no funcione con un archivo protegido ... qué podría cambiarle para que si funcione?

    Saludos
  • To post as a guest, your comment is unpublished.
    Heitor · 3 years ago
    Muito bom!
    Entretanto, só funciona em um intervalo.
    Eu queria aplicá-lo em uma Tabela, é possível? Ficaria muito agradecido se sim!!