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

Cum să mențineți feliatorul tabelului pivot în mișcare cu derularea foii de lucru în Excel?

În timp ce lucrați cu tabelul pivot, puteți insera feliere pentru a filtra vizual datele din tabel. Acest articol vorbește despre păstrarea întotdeauna vizibilă a feliatorului Tabelului pivot în timp ce derulați foaia de lucru.

Păstrați feliatorul tabelului pivot în mișcare cu derularea foii de lucru cu cod VBA


Păstrați feliatorul tabelului pivot în mișcare cu derularea foii de lucru cu cod VBA

Următorul script VBA vă poate ajuta să mențineți feliatorul Pivot Table în mișcare cu foaia de lucru. Vă rugăm să faceți următoarele.

1. apasă pe Alt + F11 tastele simultan pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. În Microsoft Visual Basic pentru aplicații fereastră, faceți dublu clic Acest manual de lucru în panoul de proiect din stânga, apoi copiați și lipiți codul VBA de mai jos în ThisWorkbook (Cod) fereastră. Vedeți captura de ecran:

Cod VBA: mențineți feliatorul tabelului pivot în mișcare cu derularea foii de lucru

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    Dim ShF As Shape
    Dim ShM As Shape
    'specify a slicer
    Application.ScreenUpdating = False
    Set ShF = ActiveSheet.Shapes("Column1")
    Set ShM = ActiveSheet.Shapes("Column2")
    'change position of the slicer
    With Windows(1).VisibleRange.Cells(1, 1)
        ShF.Top = .Top
        ShF.Left = .Left + 300
        ShM.Top = .Top
        ShM.Left = .Left + 100
    End With
    Application.ScreenUpdating = True
End Sub

notițe:

1). În cod, Coloana1 și Coloana2 sunt nume ale secționatoarelor.

2). Puteți specifica poziția tăietoarelor în timp ce derulați foaia de lucru în cod.

3). Și puteți adăuga mai multe feliere în cod sau puteți elimina felietoare din acesta după cum aveți nevoie.

3. apasă pe Alt + Q tastele pentru a închide Microsoft Visual Basic pentru aplicații fereastră de dialog.

De acum înainte, feliile specificate vor fi mutate cu celula activă în timp ce derulați foaia de lucru. Vedeți captura de ecran:


Articole pe aceeași temă:


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (10)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună,
Vă mulțumim pentru acest VBA.

Nu am absolut nicio idee despre VBA și de aici întrebarea mea.

Am folosit acest VBA și am avut o întrebare.
Cum pot modifica acest VBA astfel încât să funcționeze doar pentru o singură foaie.

În acest moment, am 8 foi și de fiecare dată când merg la o altă foaie, eșuează și îmi cere să închei sau să depanez.
Am procedat exact așa cum se arată mai sus.


Acesta este VBA-ul meu aici..
Private Sub Workbook_SheetSelectionChange(ByVal Sh ca obiect, ByVal Target ca interval)
Dim ShF ca formă
Dim ShM ca formă
'specificați un felietor
Application.ScreenUpdating = Fals
Set ShF = ActiveSheet.Shapes(„Client 1”)
Set ShM = ActiveSheet.Shapes(„Memento 1”)
„schimbați poziția mașinii de tăiat
Cu Windows(1).VisibleRange.Cells(1, 1)
ShF.Sus = .Sus + 2
ShF.Stânga = .Stânga + 475
ShM.Top = .Sus + 180
ShM.Stânga = .Stânga + 475
Se termina cu
Application.ScreenUpdating = Adevărat
End Sub


Vă rugăm să ajute.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună,
Vă mulțumim pentru acest VBA.

Nu am absolut nicio idee despre VBA și de aici întrebarea mea.

Am folosit acest VBA și am avut o întrebare.
Cum pot modifica acest VBA astfel încât să funcționeze doar pentru o singură foaie.

În acest moment, am 8 foi și de fiecare dată când merg la o altă foaie, eșuează și îmi cere să închei sau să depanez.
Am procedat exact așa cum se arată mai sus.


Acesta este VBA-ul meu aici..
Private Sub Workbook_SheetSelectionChange(ByVal Sh ca obiect, ByVal Target ca interval)
Dim ShF ca formă
Dim ShM ca formă
'specificați un felietor
Application.ScreenUpdating = Fals
Set ShF = ActiveSheet.Shapes(„Client 1”)
Set ShM = ActiveSheet.Shapes(„Memento 1”)
„schimbați poziția mașinii de tăiat
Cu Windows(1).VisibleRange.Cells(1, 1)
ShF.Sus = .Sus + 2
ShF.Stânga = .Stânga + 475
ShM.Top = .Sus + 180
ShM.Stânga = .Stânga + 475
Se termina cu
Application.ScreenUpdating = Adevărat
End Sub


Vă rugăm să ajute.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Dragă John,
Treceți la foaia de lucru pentru care doriți să funcționeze numai codul VBA, apoi faceți clic dreapta pe fila Foaie și selectați Vizualizare cod din meniul contextual.
Apoi copiați și inserați sub codul VBA în fereastra de deschidere a codului. Vezi mai jos captura de ecran:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ShF ca formă
Dim ShM ca formă
'specificați un felietor
Application.ScreenUpdating = Fals
Set ShF = ActiveSheet.Shapes(„Fructe”)
Set ShM = ActiveSheet.Shapes(„Vânzare”)
„schimbați poziția mașinii de tăiat
Cu Windows(1).VisibleRange.Cells(1, 1)
ShF.Top = .Sus
ShF.Stânga = .Stânga + 300
ShM.Top = .Sus
ShM.Stânga = .Stânga + 100
Se termina cu
Application.ScreenUpdating = Adevărat
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Dragă Crystal,

Vă mulțumesc foarte mult pentru cod.
Am făcut exact cum ai spus și funcționează ca un farmec.

Chiar apreciez asta.
Noroc :)
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, mi-am actualizat codul așa cum ați indicat. Slicer-ul nu mai defilează împreună cu fereastra, dar dacă dau clic într-o celulă nouă, slicer-ul se va muta. Este acesta comportamentul corect?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Ce indică primul rând și cum îl personalizăm pentru a se potrivi dispozitivului nostru de tăiere?
Sunt foarte confuz în privința asta, practic, pe fiecare rând.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Dragă Katie
Nu stiu daca inteleg perfect intrebarea ta.
După cum am menționat în Notele de mai sus, trebuie să înlocuiți Column1 și Column2 cu numele slicere-urilor în cod pentru a menține slicer-ul să deruleze cu foaia de lucru.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am 4 slicere care au fost grupate prin selectarea tuturor celor 4 și făcând clic dreapta pentru a folosi comanda grup.

Este posibil să atribuiți acest VBA de către un grup? Cum etichetați grupul și cum scrieți VBA pentru a-l recunoaște ca unul?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună Michael,
Îmi pare rău, nu te pot ajuta cu asta. Multumesc pentru comentariul tau.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bine, deci titlul spune „Cum să păstrați Slicer Of Pivot Table în mișcare cu foaia de lucru scrolling În Excel?", dar acest cod VBA o face numai pentru celula selectată curent, cum o putem face pentru defilare din registrul de lucru și nu doar celula selectată?
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL