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

Sut i hidlo tabl Pivot yn seiliedig ar werth celloedd penodol yn Excel?

Fel arfer, rydym yn hidlo data mewn Tabl Colyn trwy ddewis eitemau yn y gwymplen fel y dangosir yn y sgrinlun isod. Mewn gwirionedd, gallwch hidlo tabl colyn yn seiliedig ar y gwerth mewn cell benodol. Bydd y dull VBA yn yr erthygl hon yn eich helpu i ddatrys y broblem.

Hidlo Tabl Pivot yn seiliedig ar werth celloedd penodol gyda chod VBA


Hidlo Tabl Pivot yn seiliedig ar werth celloedd penodol gyda chod VBA

Gall y cod VBA canlynol eich helpu i hidlo Tabl Pivot yn seiliedig ar werth celloedd penodol yn Excel. Gwnewch fel a ganlyn.

1. Rhowch werth y byddwch yn hidlo Tabl Pivot yn seiliedig arno i mewn i gell ymlaen llaw (dyma ddewis cell H6).

2. Mae agor y daflen waith yn cynnwys y Tabl Pivot y byddwch chi'n ei hidlo yn ôl gwerth y gell. Yna cliciwch ar y dde ar y tab dalen a dewis View Code o'r ddewislen cyd-destun. Gweler y screenshot:

3. Yn yr agoriad Microsoft Visual Basic ar gyfer Ceisiadau ffenestr, copïwch o dan god VBA i mewn i'r ffenestr Cod.

Cod VBA: Tabl Hidlo Pivot yn seiliedig ar werth celloedd

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

Nodiadau: Yn y cod,

1) "Sheet1”Yw enw'r daflen waith.
2) "PivotTable2”Yw enw'r Tabl Pivot.
3) Gelwir y maes hidlo yn y tabl colyn yn "categori".
4) Mae'r gwerth rydych chi am hidlo'r tabl colyn yn cael ei roi yn y gell H6.
Gallwch chi newid y gwerthoedd newidiol uchod yn ôl yr angen.

4. Gwasgwch y Alt + Q allweddi i gau'r Microsoft Visual Basic ar gyfer Ceisiadau ffenestr.

Yna mae'r Tabl Pivot yn hidlo yn seiliedig ar y gwerth yng nghell H6 fel y dangosir isod.

Gallwch chi newid gwerth y gell i eraill yn ôl yr angen.

Nodyn: Dylai'r gwerthoedd rydych chi'n eu teipio yng nghell H6 gyfateb yn union i'r gwerthoedd yn y gwymplen Categori o Dabl Pivot.


Erthyglau cysylltiedig:


Yr Offer Cynhyrchedd Swyddfa Gorau

Mae Kutools for Excel yn Datrys y rhan fwyaf o'ch Problemau, ac yn Cynyddu Eich Cynhyrchedd 80%

  • Ailddefnyddio: Mewnosod yn gyflym fformwlâu cymhleth, siartiau ac unrhyw beth rydych chi wedi'i ddefnyddio o'r blaen; Amgryptio Celloedd gyda chyfrinair; Creu Rhestr Bostio ac anfon e-byst ...
  • Bar Fformiwla Gwych (golygu llinellau lluosog o destun a fformiwla yn hawdd); Cynllun Darllen (darllen a golygu nifer fawr o gelloedd yn hawdd); Gludo i'r Ystod Hidlo...
  • Uno Celloedd / Rhesi / Colofnau heb golli Data; Cynnwys Celloedd Hollt; Cyfuno Rhesi / Colofnau Dyblyg... Atal Celloedd Dyblyg; Cymharwch y Meysydd...
  • Dewiswch Dyblyg neu Unigryw Rhesi; Dewiswch Blank Rows (mae pob cell yn wag); Darganfyddiad Gwych a Darganfyddiad Niwlog mewn Llawer o Lyfrau Gwaith; Dewis ar Hap ...
  • Copi Union Celloedd Lluosog heb newid cyfeirnod fformiwla; Auto Creu Cyfeiriadau i Daflenni Lluosog; Mewnosod Bwledi, Blychau Gwirio a mwy ...
  • Testun Detholiad, Ychwanegu Testun, Tynnu yn ôl Swydd, Tynnwch y Gofod; Creu ac Argraffu Subtotals Paging; Trosi rhwng Cynnwys a Sylwadau Celloedd...
  • Hidlo Super (arbed a chymhwyso cynlluniau hidlo i ddalenni eraill); Trefnu Uwch yn ôl mis / wythnos / dydd, amlder a mwy; Hidlo Arbennig gan feiddgar, italig ...
  • Cyfuno Llyfrau Gwaith a Thaflenni Gwaith; Uno Tablau yn seiliedig ar golofnau allweddol; Rhannwch Ddata yn Daflenni Lluosog; Trosi Swp xls, xlsx a PDF...
  • Mwy na 300 o nodweddion pwerus. Yn cefnogi Swyddfa / Excel 2007-2019 a 365. Yn cefnogi pob iaith. Defnydd hawdd yn eich menter neu sefydliad. Nodweddion llawn treial am ddim 30 diwrnod. Gwarant arian yn ôl 60 diwrnod.
tab kte 201905

Mae Tab Office yn Dod â rhyngwyneb Tabbed i'r Swyddfa, a Gwneud Eich Gwaith yn Haws o lawer

  • Galluogi golygu a darllen tabbed yn Word, Excel, PowerPoint, Cyhoeddwr, Mynediad, Visio a Phrosiect.
  • Agor a chreu dogfennau lluosog mewn tabiau newydd o'r un ffenestr, yn hytrach nag mewn ffenestri newydd.
  • Yn cynyddu eich cynhyrchiant 50%, ac yn lleihau cannoedd o gliciau llygoden i chi bob dydd!
gwaelod officetab
sylwadau (19)
Dim sgôr eto. Byddwch y cyntaf i sgorio!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Gan ddefnyddio'r cod hwn (wedi'i ddiweddaru ar gyfer fy newidynnau wrth gwrs), wrth newid y maes, mae'r hidlydd yn newid am ennyd i'r un cywir, ac yna'n clirio ei hun bron yn syth. Ceisio darganfod pam ei fod yn gwneud hyn (tybed a oes ganddo rywbeth i'w wneud â'r ClearAllFilters ar ddiwedd yr is?)
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Sut fyddech chi'n gwneud hyn gyda ffilter adroddiadau sydd â hierarchaeth?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Hei! Diolch am eich macro.

Roeddwn yn ceisio ei ddefnyddio ar gyfer mwy nag un tabl colyn ar yr un dudalen, ond nid yw'n gweithio. Ysgrifennais ef fel hyn:

Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
Dim xPTable1 Fel PivotTable
Dim xPFile1 Fel PivotField
Dim xStr1 Fel Llinyn
Ar Ail-ddechrau Gwall Nesaf
Os yw Intersect(Targed, Ystod ("D7")) yn Dim Yna Gadael Is
Application.ScreenUpdating = Anghywir
Gosod xPTable1 = Taflenni Gwaith ("BUSCADOR").PivotTables("PV_ETAPA1")
Gosod xPFile1 = xPTable1.PivotFields("ETAPA1")
xStr1 = Target.Text
xPFile1.ClearAllFilters
xPFile1.CurrentPage = xStr1
Application.ScreenUpdating = Gwir

Dim xPTable2 Fel PivotTable
Dim xPFile2 Fel PivotField
Dim xStr2 Fel Llinyn
Ar Ail-ddechrau Gwall Nesaf
Os yw Intersect(Targed, Ystod ("G7")) yn Dim Yna Gadael Is
Application.ScreenUpdating = Anghywir
Gosod xPTable2 = Taflenni Gwaith ("BUSCADOR").PivotTables("PV_ETAPA2")
Gosod xPFile2 = xPTable2.PivotFields("ETAPA2")
xStr2 = Target.Text
xPFile2.ClearAllFilters
xPFile2.CurrentPage = xStr2
Application.ScreenUpdating = Gwir

Is-End

Efallai y gallwch chi fy helpu!

Ddiolch i mewn ddyrchaf!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Hi


diolch am y Macro


Rwy'n Ceisio'r un peth ond ni allaf ei gael i weithio ar 2 fwrdd. mae'r ddau yn edrych ar yr un gell dim ond 2 fwrdd colyn gwahanol


diolch
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Mae'n rhaid i chi newid enw'r Tabl Colyn. Mae gan bob bwrdd colyn enw gwahanol. i gael hynny, de-gliciwch ar y colyn a dewis gosodiadau tabl colyn, bydd yr enw ar y brig
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo am ryw reswm, nid yw'r macro hwn ar ôl mynd i mewn i'r dudalen sylfaenol weledol, yn ymddangos o gwbl. Nid wyf yn gallu galluogi / rhedeg y macro hwn, rwyf wedi gwirio'r holl osodiad canolfan ymddiriedolaeth, ond nid oes dim yn digwydd, helpwch fi
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, ni allaf gael hyn i weithio. Mae'r gell rydw i eisiau cyfeirio ati yn cael ei thynnu i mewn o fformiwla - ai dyma pam na all yr hidlydd ddod o hyd iddi gan ei fod yn edrych ar y fformiwla yn hytrach na'r gwerth mae'r fformiwla yn ei ddychwelyd? Diolch ymlaen llaw Heather McDonagh
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Heather, a wnaethoch chi ddod o hyd i ateb. Yr un broblem yn unig sydd gennyf.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Roeddwn yn gallu addasu/hidlo 3 colyn gwahanol sydd ar yr un tab. Fe wnes i hefyd ychwanegu rhes yn fy set ddata "No Data Found", neu fe adawodd yr hidlydd i "PAWB" nad oeddwn i eisiau. Roedd yr uchod yn help mawr i ennill Kudos i mi gyda rheolaeth felly roeddwn i eisiau rhannu. Sylwch fod (Pawb) yn sensitif i achosion wedi cymryd ychydig i mi ddarganfod hynny.
Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
' prawf
Dim xPTable Fel PivotTable
Dim xPFile Fel PivotField
Dim xStr Fel Llinyn

Dim x2PTable Fel PivotTable
Dim x2PFile Fel PivotField
Dim x2Str Fel Llinynnol

Dim x3PTable Fel PivotTable
Dim x3PFile Fel PivotField
Dim x3Str Fel Llinynnol

Ar Ail-ddechrau Gwall Nesaf
Os yw Intersect(Targed, Ystod ("a2:e2")) Yn Dim Yna Gadael Is

Application.ScreenUpdating = Anghywir

' tbl-1
Gosod xPTable = Taflenni Gwaith ("Graffig").PivotTables("PivotTable1")
Gosod xPFile = xPTable.PivotFields ("Adran MR - Adran")
xStr = Target.Text
xPFile.ClearAllFilters
xPFile.CurrentPage = xStr
Os xPFile.CurrentPage = "(Pob un)" Yna xPFile.CurrentPage = "Dim Data Wedi'i Ddarganfod"

' tbl-2
Gosod x2PTable = Taflenni Gwaith("Graffig").PivotTables("PivotTable2")
Gosod x2PFile = x2PTable.PivotFields("MR Adran - Adran")
x2Str = Target.Text
x2PFile.ClearAllFilters
x2PFile.CurrentPage = x2Str
Os x2PFile.CurrentPage = "(Pob un)" Yna x2PFile.CurrentPage = "Dim Data Wedi'i Ddarganfod"

' tbl-3
Gosod x3PTable = Taflenni Gwaith("Graffig").PivotTables("PivotTable3")
Gosod x3PFile = x3PTable.PivotFields("MR Adran - Adran")
x3Str = Target.Text
x3PFile.ClearAllFilters
x3PFile.CurrentPage = x3Str
Os x3PFile.CurrentPage = "(Pob un)" Yna x3PFile.CurrentPage = "Dim Data Wedi'i Ddarganfod"

Application.ScreenUpdating = Gwir

Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
A yw hyn yn bosibl gyda thaflenni google? Os felly, sut?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Ni fydd angen unrhyw dabl colyn ar Google Sheets. gallwch chi berfformio'n uniongyrchol trwy Filter Function
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Hoffwn ddefnyddio cod Newid Taflen Waith lluosog yn yr un daflen waith. Sut i wneud hynny? Mae fy nghod fel a ganlyn:
Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
' Hidlydd tabl colyn yn seiliedig ar werth cell
Dim xPTable Fel PivotTable
Dim xPFile Fel PivotField
Dim xStr Fel Llinyn
Ar Ail-ddechrau Gwall Nesaf
Os yw Intersect(Targed, Ystod ("D20:D21")) Yn Dim Yna Gadael Is
Application.ScreenUpdating = Anghywir
Gosod xPTable = Taflenni Gwaith ("Taflen1").PivotTables("PivotTable2")
Gosod xPFile = xPTable.PivotFields("Dynodi")
xStr = Target.Text
xPFile.ClearAllFilters
xPFile.CurrentPage = xStr
Application.ScreenUpdating = Gwir
Is-End

Is-daflen waith breifat_Change2(Targed ByVal Fel Ystod)
'Hidlydd tabl colyn yn seiliedig ar werth cell 2
Dim xPTable Fel PivotTable
Dim xPFile Fel PivotField
Dim xStr Fel Llinyn
Ar Ail-ddechrau Gwall Nesaf
Os yw Intersect(Targed, Ystod ("H20:H21")) Yn Dim Yna Gadael Is
Application.ScreenUpdating = Anghywir
Gosod xPTable = Taflenni Gwaith ("Taflen1").PivotTables("PivotTable2")
Gosod xPFile = xPTable.PivotFields("Cynnig")
xStr = Target.Text
xPFile.ClearAllFilters
xPFile.CurrentPage = xStr
Application.ScreenUpdating = Gwir
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Olá, gostaria de saber se quisesse filtrar mais de uma categoria mar poderia ser?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Beth os ydw i am gysylltu'r gell ddethol â thab gwahanol? Dyma fy nghod hyd yn hyn
Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
Dim xPTable1 Fel PivotTable
Dim xPFile1 Fel PivotField
Dim xStr1 Fel Llinyn
Ar Ail-ddechrau Gwall Nesaf
Os yw Intersect(Targed, Ystod ("B1")) yn Dim Yna Gadael Is
Application.ScreenUpdating = Anghywir
Gosod xPTable1 = Taflenni Gwaith ("SM_SKU PIVOTS").PivotTables("PivotTable1")
Gosod xPFile1 = xPTable1.PivotFields("Daearyddiaeth")
xStr1 = Target.Text
xPFile1.ClearAllFilters
xPFile1.CurrentPage = xStr1
Application.ScreenUpdating = Gwir

Dim xPTable2 Fel PivotTable
Dim xPFile2 Fel PivotField
Dim xStr2 Fel Llinyn
Ar Ail-ddechrau Gwall Nesaf
Os yw Intersect(Targed, Ystod ("B1")) yn Dim Yna Gadael Is
Application.ScreenUpdating = Anghywir
Gosod xPTable2 = Taflenni Gwaith ("SM_SKU PIVOTS").PivotTables("PivotTable4")
Gosod xPFile2 = xPTable2.PivotFields("Daearyddiaeth")
xStr2 = Target.Text
xPFile2.ClearAllFilters
xPFile2.CurrentPage = xStr2
Application.ScreenUpdating = Gwir

Dim xPTable3 Fel PivotTable
Dim xPFile3 Fel PivotField
Dim xStr3 Fel Llinyn
Ar Ail-ddechrau Gwall Nesaf
Os yw Intersect(Targed, Ystod ("B1")) yn Dim Yna Gadael Is
Application.ScreenUpdating = Anghywir
Gosod xPTable3 = Taflenni Gwaith ("SM_SKU PIVOTS").PivotTables("PivotTable8")
Gosod xPFile3 = xPTable3.PivotFields("Daearyddiaeth")
xStr3 = Target.Text
xPFile3.ClearAllFilters
xPFile3.CurrentPage = xStr3
Application.ScreenUpdating = Gwir

Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo!

Rwy'n newydd gyda VBA a hoffwn gael cod i ddewis hidlydd pivot yn seiliedig ar ystod celloedd.
Sut alla i newid "CurrentPage" i fod yn werth amrediad ?
Diolch!!
-------------------------------------------------- -----------------------------------------
Taith Is-Argraffu()

ActiveSheet.PivotTables("PivotTable1").PivotFields( _
"[Bereich 1]. [Taith]. [Tour ]"). _
ClearAllFilters
ActiveSheet.PivotTables("PivotTable1").PivotFields( _
"[Bereich 1]. [Taith]. [Taith]"). _
CurrentPage = "[Bereich 1].[Tour lt. Anlieferungstag].&[4001-01]"
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Diolch yn fawr iawn am y cod hwn! Fe'i cefais yn gweithio ar ôl addasu i gwrdd â'm meysydd, ond ar ôl fformatio rhai newidiadau ar fy nhaflen nawr nid yw'n gweithio! Fe'i symudais o A1 i B1, newidiais fformatio celloedd i'w gwneud yn sefyll allan, ac ati Dim byd rhy wallgof ond nawr nid yw'n diweddaru pan fyddaf yn newid testun yn B1. Oes gan unrhyw un syniadau?

Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
' prawf
Dim xPTable Fel PivotTable
Dim xPFile Fel PivotField
Dim xStr Fel Llinyn

Dim x2PTable Fel PivotTable
Dim x2PFile Fel PivotField
Dim x2Str Fel Llinynnol

Dim x3PTable Fel PivotTable
Dim x3PFile Fel PivotField
Dim x3Str Fel Llinynnol

Ar Ail-ddechrau Gwall Nesaf
Os yw Intersect(Targed, Ystod ("b1")) Yn Dim Yna Gadael Is

Application.ScreenUpdating = Anghywir

' tbl-1
Gosod xPTable = Taflenni Gwaith ("Adroddiad Llinell").PivotTables("PivotTable7")
Gosod xPFile = xPTable.PivotFields("Ffynhonnell Utopia")
xStr = Target.Text
xPFile.ClearAllFilters
xPFile.CurrentPage = xStr

' tbl-2
Gosod x2PTable = Taflenni Gwaith ("Adroddiad Llinell").PivotTables("PivotTable2")
Gosod x2PFile = x2PTable.PivotFields("Ffynhonnell Utopia")
x2Str = Target.Text
x2PFile.ClearAllFilters
x2PFile.CurrentPage = x2Str

' tbl-3
Gosod x3PTable = Taflenni Gwaith ("Adroddiad Llinell").PivotTables("PivotTable3")
Gosod x3PFile = x3PTable.PivotFields("Ffynhonnell Utopia")
x3Str = Target.Text
x3PFile.ClearAllFilters
x3PFile.CurrentPage = x3Str

Application.ScreenUpdating = Gwir

Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Lawns,
Profais eich cod ac mae'n gweithio'n iawn yn fy achos i. Nid yw newid fformat y gell yn effeithio ar weithrediad y cod.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Sut mae'n gweithio gyda Power Pivot, wrth ddefnyddio tablau lluosog? Fe wnes i recordio macro yn newid y gwerth yn yr hidlydd. Ychydig o newidiadau a wnaed i wneud i'r cod uchod weithio. Ond mae'n taflu gwall diffyg cyfatebiaeth Math. Dim ots beth dwi'n ei wneud.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo DK,
Nid yw'r dull yn gweithio i Power Pivot. Ymddiheuriadau am yr anghyfleustra.
Nid oes unrhyw sylwadau wedi'u postio yma eto
Gadewch eich sylwadau
Postio fel Gwestai
×
Graddiwch y swydd hon:
0   Cymeriadau
Lleoliadau a Awgrymir