Съвет: Други езици са преведени от Google. Можете да посетите English версия на тази връзка.
Влизане
x
or
x
x
Регистрация
x

or

Как да филтрирам Обитаема таблица въз основа на конкретна стойност на клетката в Excel?

Обикновено филтрираме данните в конфигурираща таблица, като проверяваме стойностите от падащия списък, както е показано лявата екранна снимка. Ако искате да направите пилотна таблица по-динамична чрез филтриране, можете да опитате да я филтрирате въз основа на стойността в конкретна клетка. Методът VBA в тази статия ще ви помогне да разрешите проблема.

Фиксирана таблица на филтъра, базирана на конкретна стойност на клетката с код VBA


Лесно избирайте цели редове въз основа на стойността на клетката в certian колона:

Най- Изберете конкретни клетки полезност на Kutools за Excel може да ви помогне бързо да изберете цели редове въз основа на стойността на клетката в certian колона в Excel, както е показано на екрана. След като изберете всички редове въз основа на стойността на клетката, можете ръчно да ги преместите или да ги копирате в ново местоположение, както ви е нужно в Excel.

Kutools за Excel: с повече от 200 удобен Excel добавки, свободни да се опитат без ограничение в 60 дни. Изтеглете безплатния пробен период сега!


Фиксирана таблица на филтъра, базирана на конкретна стойност на клетката с код VBA

Следният код на VBA може да ви помогне да филтрирате обобщаващата таблица въз основа на конкретна стойност на клетката в Excel. Моля, направете следното.

1. Моля, въведете стойност, която ще филтрирате Pivot Table въз основа на клетка предварително (тук избирам клетка H6).

2. Отворете работния лист, съдържащ обобщаващата таблица, която ще филтрирате по стойност на клетката. След това кликнете с десния бутон върху раздела "лист" и изберете "Преглед на кода" от контекстното меню. Вижте екранна снимка:

3. В отварянето Microsoft Visual Basic за приложения прозорец, копирайте под код VBA в прозореца Code.

Код на VBA: Филтрираща таблица на базата на стойността на клетката

Private Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 20180702
    Dim xPTable As PivotTable
    Dim xPFile As PivotField
    Dim xStr As String
    On Error Resume Next
    If Intersect(Target, Range("H6:H7")) Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Set xPTable = Worksheets("Sheet1").PivotTables("PivotTable2")
    Set xPFile = xPTable.PivotFields("Category")
    xStr = Target.Text
    xPFile.ClearAllFilters
    xPFile.CurrentPage = xStr
    Application.ScreenUpdating = True
End Sub

бележки: В кода,

1) "Sheet1"Е името на работния лист.

2) "PivotTable2"Е името на Pivot таблицата.

3) Филтриращото поле в общата таблица се нарича "категория".

4) Стойността, която искате да филтрирате, е поставена в клетката H6.

Можете да промените горните стойности на променливите, колкото е необходимо.v

4. Натисни Друг + Q клавиши за затваряне на Microsoft Visual Basic за приложения прозорец.

След това Pivot таблицата се филтрира въз основа на стойността в клетката H6, както е показано по-долу:

Можете да промените стойността на клетката на другите, колкото ви е необходимо.

Забележка: Стойностите, които въвеждате в клетката H6, трябва точно да съответстват на стойностите в падащия списък на категорията на Pivot Table.


Таб на Office - Разглеждане в табове, редактиране и управление на работни книги в Excel:

Табът "Office" носи интерфейса с табове, както се вижда в уеб браузъри като Google Chrome, новите версии на Internet Explorer и Firefox в Microsoft Excel. Това ще бъде инструмент, спестяващ време и незаменим във вашата работа. Вижте демонстрацията по-долу:

Кликнете за безплатно пробна версия на Office Tab!

Таб на Office за Excel


Още по темата:


Препоръчителни инструменти за производителност за Excel

kte раздел 201905

Kutools за Excel ви помага винаги да приключвате работата пред времето и да се откроявате от тълпата

  • Повече от 300 мощни разширени функции, предназначени за 1500 работни сценарии, увеличавайки производителността с 70%, ви дават повече време да се грижите за семейството и да се радвате на живота.
  • Вече не се нуждаете от запаметяване на формули и VBA кодове, дайте почивка на мозъка от сега нататък.
  • Станете експерт на Excel в 3 минути, сложните и повтарящи се операции могат да се извършват за секунди,
  • Намалявайте хиляди операции с клавиатура и мишка всеки ден, кажете сбогом на професионалните заболявания сега.
  • 110,000 високоефективни хора и избор на 300 + световноизвестни компании.
  • Безплатен пробен период за 60-дневни пълни функции. 60-дневни гаранции за връщане на парите. 2 години безплатен ъпгрейд и поддръжка.

Пренася раздели и редактиране в Microsoft Office, далеч по-мощни от раздели на браузъра

  • Office Tab е предназначен за Word, Excel, PowerPoint и други офис приложения: Издател, Достъп, Visio и Проект.
  • Отворете и създайте няколко документа в нови раздели на същия прозорец, а не в нови прозорци.
  • Увеличава производителността ви с 50% и намалява за Вас стотици кликвания на мишката всеки ден!
Say something here...
symbols left.
You are guest ( Sign Up? )
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.
    Justin · 9 months ago
    How would you do this with a report filter that has a hierarchy?

  • To post as a guest, your comment is unpublished.
    Daniel · 10 months ago
    Using this code (updated for my variables of course), when changing the field, the filter changes momentarily to the correct one, and then clears itself almost immediately. Trying to figure out why it's doing this (wondering if it has something to do with the ClearAllFilters at the end of the sub?)