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

Jak utrzymać fragmentator tabeli przestawnej podczas przewijania arkusza w programie Excel?

Podczas pracy z tabelą przestawną można wstawiać fragmentatory, aby wizualnie filtrować dane w tabeli. W tym artykule mowa jest o utrzymywaniu fragmentatora tabeli przestawnej zawsze widocznego podczas przewijania arkusza.

Utrzymuj fragmentator tabeli przestawnej w ruchu dzięki przewijaniu arkusza za pomocą kodu VBA


Utrzymuj fragmentator tabeli przestawnej w ruchu dzięki przewijaniu arkusza za pomocą kodu VBA

Poniższy skrypt VBA może pomóc w utrzymaniu fragmentatora tabeli przestawnej w ruchu z arkuszem. Wykonaj następujące czynności.

1. wciśnij inny + F11 klawisze jednocześnie, aby otworzyć Microsoft Visual Basic for Applications okno.

2. w Microsoft Visual Basic for Applications kliknij dwukrotnie Ten zeszyt w lewym okienku projektu, a następnie skopiuj i wklej poniższy kod VBA do pliku ThisWorkbook (kod) okno. Zobacz zrzut ekranu:

Kod VBA: utrzymuj fragmentator tabeli przestawnej w ruchu przy przewijaniu arkusza

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

Uwagi:

1). W kodzie Column1 i Column2 to nazwy fragmentatorów.

2). Możesz określić położenie fragmentatorów podczas przewijania arkusza w kodzie.

3). W razie potrzeby możesz dodać więcej fragmentatorów do kodu lub usunąć z niego fragmentatory.

3. wciśnij inny + Q klucze do zamknięcia Microsoft Visual Basic for Applications okno dialogowe.

Odtąd określone fragmentatory będą przenoszone wraz z aktywną komórką podczas przewijania arkusza. Zobacz zrzut ekranu:


Powiązane artykuły:


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
officetab dół
Sortuj komentarze według
Komentarze (10)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć,
Dziękuję za ten VBA.

Nie mam pojęcia o VBA i stąd moje pytanie.

Użyłem tego VBA i miałem pytanie.
Jak mogę zmienić ten VBA, aby działał tylko dla jednego arkusza.

W tej chwili mam 8 arkuszy i za każdym razem, gdy przechodzę do innego arkusza, kończy się on niepowodzeniem i prosi o zakończenie lub debugowanie.
Zrobiłem dokładnie tak, jak pokazano powyżej.


To jest moje VBA tutaj..
Private Sub Workbook_SheetSelectionChange (ByVal Sh jako obiekt, ByVal Target jako zakres)
Dim ShF jako kształt
Dim ShM jako kształt
'określ krajalnicę
Application.ScreenUpdating = Fałsz
Ustaw ShF = ActiveSheet.Shapes("Klient 1")
Ustaw ShM = ActiveSheet.Shapes("Przypomnienie 1")
'zmień pozycję krajalnicy
Z Windows(1).VisibleRange.Cells(1, 1)
SzF.Góra = .Góra + 2
ShF.Lewy = .Lewy + 475
SzM.Top = .Top + 180
ShM.Lewy = .Lewy + 475
Kończyć z
Application.ScreenUpdating = True
End Sub


Proszę o pomoc.
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć,
Dziękuję za ten VBA.

Nie mam pojęcia o VBA i stąd moje pytanie.

Użyłem tego VBA i miałem pytanie.
Jak mogę zmienić ten VBA, aby działał tylko dla jednego arkusza.

W tej chwili mam 8 arkuszy i za każdym razem, gdy przechodzę do innego arkusza, kończy się on niepowodzeniem i prosi o zakończenie lub debugowanie.
Zrobiłem dokładnie tak, jak pokazano powyżej.


To jest moje VBA tutaj..
Private Sub Workbook_SheetSelectionChange (ByVal Sh jako obiekt, ByVal Target jako zakres)
Dim ShF jako kształt
Dim ShM jako kształt
'określ krajalnicę
Application.ScreenUpdating = Fałsz
Ustaw ShF = ActiveSheet.Shapes("Klient 1")
Ustaw ShM = ActiveSheet.Shapes("Przypomnienie 1")
'zmień pozycję krajalnicy
Z Windows(1).VisibleRange.Cells(1, 1)
SzF.Góra = .Góra + 2
ShF.Lewy = .Lewy + 475
SzM.Top = .Top + 180
ShM.Lewy = .Lewy + 475
Kończyć z
Application.ScreenUpdating = True
End Sub


Proszę o pomoc.
Ten komentarz został zminimalizowany przez moderatora na stronie
Dear John,
Przejdź do arkusza roboczego, dla którego ma działać tylko kod VBA, a następnie kliknij prawym przyciskiem myszy kartę Arkusz i wybierz Wyświetl kod z menu kontekstowego.
A następnie skopiuj i wklej poniższy kod VBA do otwierającego się okna kodu. Zobacz poniższy zrzut ekranu:

Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Dim ShF jako kształt
Dim ShM jako kształt
'określ krajalnicę
Application.ScreenUpdating = Fałsz
Ustaw ShF = ActiveSheet.Shapes("Owoce")
Ustaw ShM = ActiveSheet.Shapes("Wyprzedaż")
'zmień pozycję krajalnicy
Z Windows(1).VisibleRange.Cells(1, 1)
ShF.Top = .Top
ShF.Lewy = .Lewy + 300
SzM.Top = .Top
ShM.Lewy = .Lewy + 100
Kończyć z
Application.ScreenUpdating = True
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Drogi Kryształu,

Bardzo dziękuję za kod.
Zrobiłem dokładnie tak, jak powiedziałeś i działa jak czar.

Naprawdę to doceniam.
Pozdrawiam :)
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, zaktualizowałem mój kod, jak wskazałeś. Fragmentator nie przewija się już wraz z oknem, jednak jeśli kliknę nową komórkę, fragmentator się przesunie. Czy to prawidłowe zachowanie?
Ten komentarz został zminimalizowany przez moderatora na stronie
Co wskazuje pierwszy wiersz i jak dostosować go do naszego slicera?
Jestem bardzo zdezorientowany w zasadzie w każdym wierszu.
Ten komentarz został zminimalizowany przez moderatora na stronie
Droga Katie
Nie wiem, czy całkowicie rozumiem twoje pytanie.
Jak wspomniałem w powyższych uwagach, musisz zastąpić Column1 i Column2 nazwami swoich fragmentatorów w kodzie, aby fragmentator przewijał się wraz z arkuszem.
Ten komentarz został zminimalizowany przez moderatora na stronie
Mam 4 fragmentatory, które zostały zgrupowane razem, wybierając wszystkie 4 i klikając prawym przyciskiem myszy, aby użyć polecenia grupowania.

Czy można przypisać ten VBA przez grupę? Jak nazwać grupę i napisać VBA, aby rozpoznać ją jako jedną?
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Michał,
Przepraszam, nie mogę w tym pomóc. Dzięki za komentarz.
Ten komentarz został zminimalizowany przez moderatora na stronie
Okej, więc tytuł mówi „Jak utrzymać krajalnicę stołu obrotowego w ruchu za pomocą arkusza roboczego przewijanie W Excelu?”, ale ten kod VBA robi to tylko dla aktualnie wybranej komórki, jak możemy to zrobić dla przewijanie skoroszytu, a nie tylko wybranej komórki?
Nie ma tu jeszcze żadnych komentarzy
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL