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

Sut i gysylltu hidlydd Tabl Pivot â chell benodol yn Excel?

Os ydych chi eisiau cysylltu hidlydd Tabl Pivot â chell benodol, a gwneud y Tabl Pivot wedi'i hidlo yn seiliedig ar werth y gell, gall y dull yn yr erthygl hon eich helpu chi.

Cysylltu hidlydd Tabl Pivot â chell benodol â chod VBA


Cysylltu hidlydd Tabl Pivot â chell benodol â chod VBA

Dylai'r Tabl Pivot y byddwch chi'n cysylltu ei swyddogaeth hidlo â gwerth cell gynnwys maes hidlo (mae enw'r maes hidlo yn chwarae rhan bwysig yn y cod VBA canlynol).

Cymerwch y Tabl Pivot isod fel enghraifft, Gelwir y maes hidlo yn y Tabl Pivot categori, ac mae'n cynnwys dau werth “Treuliau"A"Sales”. Ar ôl cysylltu'r hidlydd Tabl Pivot â chell, dylai'r gwerthoedd celloedd y byddwch chi'n eu defnyddio i hidlo Tabl Pivot fod yn “Dreuliau” a “Gwerthiannau”.

1. Dewiswch y gell (dyma fi'n dewis cell H6) y byddwch chi'n ei chysylltu â swyddogaeth hidlo Pivot Table, ac yn nodi un o werthoedd yr hidlydd i'r gell ymlaen llaw.

2. Agorwch y daflen waith yn cynnwys y Tabl Pivot y byddwch chi'n ei gysylltu â'r gell. De-gliciwch y tab dalen a dewis Gweld y Cod o'r ddewislen cyd-destun. Gweler y screenshot:

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

Cod VBA: Cyswllt hidlydd Tabl Pivot â chell benodol

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")) 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:

1) "Sheet1”Yw enw'r daflen waith agored.
2) "PivotTable2”Yw enw'r Tabl Pivot y byddwch chi'n cysylltu ei swyddogaeth hidlo â chell.
3) Gelwir y maes hidlo yn y tabl colyn yn "categori".
4) Y gell y cyfeirir ati yw H6. Gallwch chi newid y gwerthoedd amrywiol hyn yn seiliedig ar eich anghenion.

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

Nawr mae swyddogaeth hidlo'r Tabl Pivot wedi'i chysylltu â chell H6.

Adnewyddwch y gell H6, yna caiff data cyfatebol yn Nhabl Pivot eu hidlo allan yn seiliedig ar y gwerth presennol. Gweler y screenshot:

Wrth newid gwerth y gell, bydd y data wedi'i hidlo yn y Tabl Pivot yn cael ei newid yn awtomatig. Gweler y screenshot:


Dewis rhesi cyfan yn hawdd yn seiliedig ar werth celloedd mewn colofn ardystiwr:

Mae Dewiswch Gelloedd Penodol cyfleustodau Kutools ar gyfer Excel gall eich helpu i ddewis rhesi cyfan yn gyflym yn seiliedig ar werth celloedd mewn colofn ardystiwr yn Excel fel y dangosir isod y screenshot. Ar ôl dewis pob rhes yn seiliedig ar werth celloedd, gallwch eu symud â llaw neu eu copïo i leoliad newydd yn ôl yr angen yn Excel.
Dadlwythwch a rhowch gynnig arni nawr! (llwybr 30 diwrnod am ddim)


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 (32)
Dim sgôr eto. Byddwch y cyntaf i sgorio!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
sut i wneud hynny ar faes lluosog oherwydd yn y cod dim ond un targed sydd
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Frank
Mae'n ddrwg gennym ni all eich helpu gyda hynny.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Beth os yw'r gell sy'n gysylltiedig â'r Tabl Colyn, yn yr achos hwn H6, ar daflen waith arall? Sut mae'n newid y cod?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
beth os oes gen i fwy nag 1 bwrdd colyn ac i gysylltu ag 1 gell. Sut ydw i'n diwygio'r cod?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Jeri,
Mae'n ddrwg gennym ni all eich helpu gyda hynny. Croeso i bostio unrhyw gwestiwn yn ein fforwm: https://www.extendoffice.com/forum.html i gael mwy o gefnogaeth Excel gan weithiwr proffesiynol Excel neu gefnogwyr Excel eraill.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
dod o hyd i'r rhain a'u newid yn Array(), Intersect(), Worksheets(), PivotFields()

PivotTable1
PivotTable2
PivotTable3
PivotTable4
H1
Enw Dalen
Enw Maes




Private Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 20180702
    Dim xPTable As PivotTable
    Dim xPFile As PivotField
    Dim xPTabled As PivotTable
    Dim xPFiled As PivotField
    Dim xStr As String
    On Error Resume Next
    '리스트 만들기
    Dim listArray() As Variant
    listArray = Array("PivotTable1", "PivotTable2", "PivotTable3", "PivotTable4")
    If Intersect(Target, Range("H1")) Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    For i = 0 To UBound(listArray)
        Set xPTable = Worksheets("SheetName").PivotTables(listArray(i))
        Set xPFile = xPTable.PivotFields("FieldName")
        'MsgBox (listArray(i))
        xStr = Target.Text
        xPFile.ClearAllFilters
        xPFile.CurrentPage = xStr
    Next
        Application.ScreenUpdating = True
End Sub
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Boa tarde...! O'r cyhoedd, sut i'w ddefnyddio o filtro em duas ou mais tabelas dinâmicas...? Agradeço desde já.

Prynhawn Da...! Cyhoeddi gwych, sut mae defnyddio'r hidlydd mewn dau neu fwy o PivotTables ...? Diolch ymlaen llaw.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Gilmar Alves,
Mae'n ddrwg gennym ni all eich helpu gyda hynny. Croeso i bostio unrhyw gwestiwn yn ein fforwm: https://www.extendoffice.com/forum.html i gael mwy o gefnogaeth Excel gan weithiwr proffesiynol Excel neu gefnogwyr Excel eraill.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
A oes unrhyw un wedi cyfrifo'r cwestiwn cysylltu tabl colyn lluosog?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Newid Gwerthoedd mewn Arae(), Taflenni Gwaith() a Chyddoriad()



**Dewch o hyd i'r rhain a'u newid**
Enw Dalen
E1
PivotTable1
PivotTable2
PivotTable3




Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
'Diweddariad gan Extendoffice 20180702
Dim xPTable Fel PivotTable
Dim xPFile Fel PivotField

Dim xPTabled Fel PivotTable
Dim xPFiled Fel PivotField

Dim xStr Fel Llinyn



Ar Ail-ddechrau Gwall Nesaf

'리스트 만들기
Dim rhestrArray() Fel Amrywiad
listArray = Array("PivotTable1", "PivotTable2", "PivotTable3")



Os yw Intersect(Targed, Ystod ("E1")) Yn Dim Yna Gadael Is
Application.ScreenUpdating = Anghywir

Ar gyfer i = 0 I UBound(listArray)

Gosod xPTable = Taflenni Gwaith ("SheetName").PivotTables(listArray(i))
Gosod xPFile = xPTable.PivotFields("Company_ID")

xStr = Target.Text
xPFile.ClearAllFilters
xPFile.CurrentPage = xStr



Digwyddiadau

Application.ScreenUpdating = Gwir



Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Ciao, sto provando pris a stesso esempio per bell in modo che il filtro della pivot si setti sul valore della cella,
non riesco a farla funzionare.

Quale passaggio manca nella descrizione sopra?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Heia,
A gawsoch unrhyw anogwr gwall? Mae angen i mi wybod mwy penodol am eich mater, fel eich fersiwn Excel. Ac os nad oes ots gennych, ceisiwch greu eich data mewn llyfr gwaith newydd a cheisiwch agai, neu tynnwch lun o'ch data a'i uwchlwytho yma.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Heia,

Wedi ceisio cael hwn i weithio ar gyfer hidlydd y golofn ond nid yw'n ymddangos ei fod yn gweithio. A oes angen cod arall arnaf ar gyfer hynny?

diolch
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Justin,
A gawsoch unrhyw anogwr gwall? Mae angen i mi wybod mwy penodol am eich mater.
Cyn cymhwyso'r cod, peidiwch ag anghofio addasu'r "enw'r ddalen""enw'r bwrdd colyn""enw'r hidlydd tabl colyn" a'r gell rydych chi am hidlo'r tabl colyn yn seiliedig arno (gweler y llun).
https://www.extendoffice.com/images/stories/comments/comment-picture-zxm/4.png
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Crystal,

Diolch am eich help. Y broblem yw nad yw'r swyddogaeth yn gwneud dim am ryw reswm. Peth eglurhad:

Enw colyn: Order_Comp_B2C
Enw'r Ddalen: Calculation Sheet
Enw'r hidlydd: Rhif yr Wythnos (Newidiais yr enw hwn o'r hyn oedd "Dispatch Week No" yn y ffeil data)
Cell i'w newid: O26 ac O27 (dylai hwn fynd i'r ystod)

Yn y colyn hwn, rwy'n ceisio newid yr hidlydd ar gyfer y colofnau, nid oes gennyf unrhyw beth yn yr ardal hidlo yn newislen PivotTable Fields.

fy nghod yw:

Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
'Diweddariad gan Extendoffice 20180702
Dim xPTable Fel PivotTable
Dim xPFile Fel PivotField
Dim xStr Fel Llinyn
Ar Ail-ddechrau Gwall Nesaf
Os yw Intersect(Targed, Ystod ("O26")) Yn Dim Yna Gadael Is
Application.ScreenUpdating = Anghywir
Gosod xPTable = Taflenni Gwaith ("Taflen Gyfrifo").PivotTables("Order_Comp_B2C")
Gosod xPFile = xPTable.PivotFields("Rhif Wythnos")
xStr = Target.Text
xPFile.ClearAllFilters
xPFile.CurrentPage = xStr
Application.ScreenUpdating = Gwir
Is-End

Diolch,

Justin
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Justin Teeuw,
Rwyf wedi newid y Enw colyn, enw'r ddalen, enw hidlo ac cell i newid i'r amodau a grybwyllwyd gennych uchod, a rhoi cynnig ar y cod VBA a ddarparwyd gennych, mae'n gweithio'n dda yn fy achos i. Gweler y GIF canlynol neu'r llyfr gwaith atodedig.
Oes ots gennych chi greu llyfr gwaith newydd a rhoi cynnig ar y cod eto?
https://www.extendoffice.com/images/stories/comments/comment-picture-zxm/6.gif
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Crystal,

Ynghlwm a screenshot o'r colyn, y blwch coch yw'r hidlydd yr hoffwn ei newid yn seiliedig ar werth y gell.

Yn ddelfrydol hoffwn ddefnyddio ystod o gelloedd sy'n nodi niferoedd wythnos lluosog.

Diolch,

Justin
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Justin,
Mae'n ddrwg gennyf na welais y sgrinlun a roesoch ar y dudalen. Efallai bod rhywfaint o gamgymeriad ar y dudalen.
Os oes angen i chi ddatrys y broblem o hyd, anfonwch e-bost ataf drwy zxm@addin99.com. Ymddiheuriadau am yr anghyfleustra.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Justin Teeuw,
Rhowch gynnig ar y cod VBA canlynol. Gobeithio y gallaf helpu.

Private Sub Worksheet_Change(ByVal Target As Range)
    'Update by Extendoffice 20220706
    Dim I As Integer
    Dim xFilterStr1, xFilterStr2 As String
    On Error Resume Next
    If Intersect(Target, Range("O26:O27")) Is Nothing Then Exit Sub
    'Application.ScreenUpdating = False
    
    xFilterStr1 = Range("O26").Value
    xFilterStr2 = Range("O27").Value
    ActiveSheet.PivotTables("Order_Comp_B2C").PivotFields("Week Number"). _
        ClearAllFilters
    If xFilterStr1 = "" And xFilterStr2 = "" Then Exit Sub
    ActiveSheet.PivotTables("Order_Comp_B2C").PivotFields("Week Number"). _
        EnableMultiplePageItems = True
    xCount = ActiveSheet.PivotTables("Order_Comp_B2C").PivotFields("Week Number").PivotItems.Count

    For I = 1 To xCount
        If I <> xFilterStr1 And I <> xFilterStr2 Then
            ActiveSheet.PivotTables("Order_Comp_B2C").PivotFields("Week Number").PivotItems(I).Visible = False
        Else
            ActiveSheet.PivotTables("Order_Comp_B2C").PivotFields("Week Number").PivotItems(I).Visible = True
        End If
    Next

    'Application.ScreenUpdating = True
End Sub
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Fe wnes i ei ddefnyddio ar gyfer excell arferol ac fe weithiodd. Ond ni allwn ei ddefnyddio ar gyfer taflenni gwaith olap. efallai bod angen i mi ei newid ychydig?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo maziaritib4 TIB,
Dim ond ar gyfer Microsoft Excel y mae'r dull hwn ar gael. Ymddiheuriadau am yr anghyfleustra.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Justin,

Mae hyn wedi gweithio'n berffaith, fodd bynnag, rwy'n meddwl tybed a ellir cymhwyso'r rheol hon i PivotTables lluosog o fewn yr un ddalen?

Diolch,
James
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Hi James,

Ydy, mae hyn yn bosibl, cod a ddefnyddiais ar gyfer hyn yw (4 colyn a 2 gyfeirnod cell):

Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
Dim I Fel Cyfanrif
Dim xFilterStr1, xFilterStr2, yFilterstr1, yfilterstr2 Fel Llinyn
Ar Ail-ddechrau Gwall Nesaf
Os yw Intersect(Targed, Ystod ("O26:P27")) Yn Dim Yna Gadael Is

xFilterStr1 = Ystod ("O26").Gwerth
xFilterStr2 = Ystod ("O27").Gwerth
yFilterstr1 = Ystod ("t26").Gwerth
yfilterstr2 = Ystod ("t27").Gwerth
ActiveSheet.PivotTables("Order_Comp_B2C_Crea").PivotFields("Rhif Wythnos"). _
ActiveSheet.PivotTables("Order_Comp_B2B_Crea").PivotFields("Rhif Wythnos"). _
ActiveSheet.PivotTables("Order_Comp_B2C_Disp").PivotFields("Rhif Wythnos"). _
ActiveSheet.PivotTables("Order_Comp_B2B_Disp").PivotFields("Rhif Wythnos"). _
ClearAllFilters

If xFilterStr1="" Ac xFilterStr2="" Ac yFilterstr1="" Ac yfilterstr2="" Yna Gadael Is
ActiveSheet.PivotTables("Order_Comp_B2C_Crea").PivotFields("Rhif Wythnos"). _
ActiveSheet.PivotTables("Order_Comp_B2B_Crea").PivotFields("Rhif Wythnos"). _
ActiveSheet.PivotTables("Order_Comp_B2C_Disp").PivotFields("Rhif Wythnos"). _
ActiveSheet.PivotTables("Order_Comp_B2B_Disp").PivotFields("Rhif Wythnos"). _
EnableMultiplePageItems = Gwir

xCount = ActiveSheet.PivotTables("Order_Comp_B2C_Crea").PivotFields("Rhif Wythnos").PivotItems.Count
xCount = ActiveSheet.PivotTables("Order_Comp_B2B_Crea").PivotFields("Rhif Wythnos").PivotItems.Count
yCount = ActiveSheet.PivotTables("Order_Comp_B2C_Disp").PivotFields("Rhif Wythnos").PivotItems.Count
yCount = ActiveSheet.PivotTables("Order_Comp_B2B_Disp").PivotFields("Rhif Wythnos").PivotItems.Count

Am I = 1 I xCount
Os wyf <> xFilterStr1 Ac yr wyf <> xFilterStr2 Yna
ActiveSheet.PivotTables("Gorchymyn_Comp_B2C_Crea").PivotFields("Rhif Wythnos").PivotItems(I).Visible = Gau
ActiveSheet.PivotTables("Gorchymyn_Comp_B2B_Crea").PivotFields("Rhif Wythnos").PivotItems(I).Visible = Gau
arall
ActiveSheet.PivotTables("Order_Comp_B2C_Crea").PivotFields("Rhif Wythnos").PivotItems(I).Visible = Gwir
ActiveSheet.PivotTables("Order_Comp_B2B_Crea").PivotFields("Rhif Wythnos").PivotItems(I).Visible = Gwir
Gorffennwch Os
Digwyddiadau

Am I = 1 I yCyfri
Os wyf <> yFilterstr1 Ac yr wyf <> yfilterstr2 Yna
ActiveSheet.PivotTables("Gorchymyn_Comp_B2C_Disp").PivotFields("Rhif Wythnos").PivotItems(I).Visible = Gau
ActiveSheet.PivotTables("Gorchymyn_Comp_B2B_Disp").PivotFields("Rhif Wythnos").PivotItems(I).Visible = Gau
arall
ActiveSheet.PivotTables("Order_Comp_B2C_Disp").PivotFields("Rhif Wythnos").PivotItems(I).Visible = Gwir
ActiveSheet.PivotTables("Order_Comp_B2B_Disp").PivotFields("Rhif Wythnos").PivotItems(I).Visible = Gwir
Gorffennwch Os
Digwyddiadau

Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Newid Gwerthoedd mewn Arae(), Taflenni Gwaith() a Chyddoriad()



**Dewch o hyd i'r rhain a'u newid**
Enw Dalen
E1
PivotTable1
PivotTable2
PivotTable3




Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
'Diweddariad gan Extendoffice 20180702
Dim xPTable Fel PivotTable
Dim xPFile Fel PivotField

Dim xPTabled Fel PivotTable
Dim xPFiled Fel PivotField

Dim xStr Fel Llinyn



Ar Ail-ddechrau Gwall Nesaf

'리스트 만들기
Dim rhestrArray() Fel Amrywiad
listArray = Array("PivotTable1", "PivotTable2", "PivotTable3")



Os yw Intersect(Targed, Ystod ("E1")) Yn Dim Yna Gadael Is
Application.ScreenUpdating = Anghywir

Ar gyfer i = 0 I UBound(listArray)

Gosod xPTable = Taflenni Gwaith ("SheetName").PivotTables(listArray(i))
Gosod xPFile = xPTable.PivotFields("Company_ID")

xStr = Target.Text
xPFile.ClearAllFilters
xPFile.CurrentPage = xStr



Digwyddiadau

Application.ScreenUpdating = Gwir



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

Mae'r cod yn gweithio'n iawn i mi. Fodd bynnag, nid wyf yn gallu cael y tabl colyn i ddiweddaru'r targed hidlo yn awtomatig. Y targed yn fy achos i yw fformiwla [DYDDIAD(D18,S14,C18)]. Dim ond pan fyddaf yn clicio ddwywaith ar y gell darged ac yn taro enter.

Diolch yn fawr
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo,

Mae'r cod hwn yn gweithio'n berffaith. Fodd bynnag, nid wyf yn gallu cael y cod i ddiweddaru'r tabl colyn yn awtomatig. Y gwerth targed i mi yw fformiwla (=DATE(D18,..,..)) sy'n newid yn dibynnu ar yr hyn a ddewisir yn D18. Er mwyn iddo ddiweddaru'r tabl colyn mae'n rhaid i mi glicio ddwywaith ar y gell darged a tharo enter. A oes ffordd o'i gwmpas?

Diolch yn fawr
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo ST,
Tybiwch fod eich gwerth targed yn H6 a'i fod yn newid yn dibynnu ar y gwerth yn D18. I hidlo tabl colyn yn seiliedig ar y gwerth targed hwn. Gall y cod VBA canlynol helpu. Rhowch gynnig arni.
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2022/07/22
Dim xPTable As PivotTable
Dim xPFile As PivotField
Dim xStr As String
Dim xBoolean As Boolean
Dim xItsRG As Range
Dim xDDs As Range
Dim xDs As Range
On Error Resume Next

xBoolean = False
Set xRg = Range("h6")

Set xItsRG = Intersect(Target, xRg)
Set xDDs = Intersect(Target.DirectDependents, xRg)
Set xDs = Intersect(Target.Dependents, xRg)
If Not (xItsRG Is Nothing) Then
    xBoolean = True
ElseIf Not (xDDs Is Nothing) Then
    xBoolean = True
ElseIf Not (xDs Is Nothing) Then
    xBoolean = True
End If


If Not xBoolean Then Exit Sub

Application.ScreenUpdating = False
Set xPTable = Worksheets("Sheet1").PivotTables("Pivot Table 1")
Set xPFile = xPTable.PivotFields("Category")
xStr = Target.Text
xPFile.ClearAllFilters
xPFile.CurrentPage = xStr
Application.ScreenUpdating = True

End Sub
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Crysal,

Ychwanegais linell ar y cod: Dim xRg As Range

Nid yw'r cod yn ailosod y dyddiadau pan fydd y targed yn cael ei newid yn awtomatig. Mae gen i ffeil Excel sy'n ailadrodd yr hyn rydw i'n ceisio ei wneud, ond ni allaf ychwanegu atodiadau ar y wefan hon. Mae gan D3 (targed = DYDDIAD(A15,B15,C15)) hafaliad sy'n gysylltiedig ag A15, B15 a C15. Pan fydd unrhyw werth ar A15, B15 a C15 yn cael ei newid mae'r tabl colyn yn ailosod i ddim hidlydd. Allwch chi fy helpu ar hyn?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo ST,
Dydw i ddim yn deall yn iawn beth rydych chi'n ei olygu. Yn eich achos chi, mae gwerth cell darged D3 yn cael ei ddefnyddio i hidlo'r tabl colyn. Mae'r fformiwla yn y gell darged D3 yn cyfeirio at werthoedd celloedd A15, B15 a C15, a fydd yn newid yn ôl y gwerthoedd yn y celloedd cyfeirio. Pan fydd unrhyw werth ar A15, B15 a C15 yn cael ei newid, bydd y tabl colyn yn cael ei hidlo'n awtomatig os yw'r gwerth yn y gell darged yn bodloni amodau hidlo'r tabl colyn. Os nad yw'r gwerth yn y gell darged yn bodloni meini prawf hidlo'r tabl colyn, bydd y tabl colyn yn cael ei ailosod yn awtomatig i ddim hidlo.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Dydw i ddim yn siŵr os oes ffordd i rannu ffeil excel gyda chi. Os bydd fy ngwerth targed, sef dyddiad, yn newid yn ôl newidiadau mewn celloedd eraill. Mae'n rhaid i mi glicio ddwywaith ar y gell darged a tharo enter (fel y byddech ar ôl nodi fformiwla mewn cell) i ddiweddaru'r tabl colyn
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Sagar T,
Mae'r cod wedi'i ddiweddaru. Rhowch gynnig arni. Diolch am eich adborth.
Peidiwch ag anghofio newid enwau'r daflen waith, y tabl colyn a'r hidlydd yn y cod. Neu gallwch lawrlwytho'r llyfr gwaith canlynol wedi'i uwchlwytho i'w brofi.

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20220805
Dim xPTable As PivotTable
Dim xPFile As PivotField
Dim xStr As String
Dim xBoolean As Boolean
Dim xItsRG As Range
Dim xDDs As Range
Dim xDs As Range
On Error Resume Next

xBoolean = False
Set xRg = Range("D3")

Set xItsRG = Intersect(Target, xRg)
Set xDDs = Intersect(Target.DirectDependents, xRg)
Set xDs = Intersect(Target.Dependents, xRg)
If Not (xItsRG Is Nothing) Then
    xBoolean = True
ElseIf Not (xDDs Is Nothing) Then
    xBoolean = True
ElseIf Not (xDs Is Nothing) Then
    xBoolean = True
End If


If Not xBoolean Then Exit Sub
xStr = Format(xRg.Text, "m/d/yyyy")
Application.ScreenUpdating = False
Set xPTable = Worksheets("Sheet2").PivotTables("PivotTable1")
Set xPFile = xPTable.PivotFields("Date")
xPFile.ClearAllFilters
xPFile.CurrentPage = xStr
Application.ScreenUpdating = True

End Sub
Lleihawyd y sylw hwn gan y safonwr ar y wefan
dod o hyd i'r rhain a'u newid yn Array(), Intersect(), Worksheets(), PivotFields()

PivotTable1
PivotTable2
PivotTable3
PivotTable4
H1
Enw Dalen
Enw Maes




Private Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 20180702
    Dim xPTable As PivotTable
    Dim xPFile As PivotField
    Dim xPTabled As PivotTable
    Dim xPFiled As PivotField
    Dim xStr As String
    On Error Resume Next
    '리스트 만들기
    Dim listArray() As Variant
    listArray = Array("PivotTable1", "PivotTable2", "PivotTable3", "PivotTable4")
    If Intersect(Target, Range("H1")) Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    For i = 0 To UBound(listArray)
        Set xPTable = Worksheets("SheetName").PivotTables(listArray(i))
        Set xPFile = xPTable.PivotFields("FieldName")
        'MsgBox (listArray(i))
        xStr = Target.Text
        xPFile.ClearAllFilters
        xPFile.CurrentPage = xStr
    Next
        Application.ScreenUpdating = True
End Sub
Nid oes unrhyw sylwadau wedi'u postio yma eto
Gadewch eich sylwadau
Postio fel Gwestai
×
Graddiwch y swydd hon:
0   Cymeriadau
Lleoliadau a Awgrymir