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

Jak dodać wiele pól do tabeli przestawnej?

Kiedy tworzymy tabelę przestawną, musimy ręcznie przeciągać pola do etykiet wierszy lub wartości ręcznie jeden po drugim. Jeśli mamy długą listę pól, możemy szybko dodać kilka etykiet wierszy, ale pozostałe pola należy dodać do obszaru Wartość. Czy są dla nas jakieś szybkie metody dodawania wszystkich innych pól do obszaru Wartość jednym kliknięciem w tabeli przestawnej?

Dodaj wiele pól do obszaru wartości tabeli przestawnej z kodem VBA

Karta Office Włącz edycję i przeglądanie na kartach w pakiecie Office i znacznie ułatw swoją pracę ...
Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%
  • Wykorzystaj wszystko ponownie: Dodaj najczęściej używane lub złożone formuły, wykresy i wszystko inne do ulubionych i szybko wykorzystaj je ponownie w przyszłości.
  • Ponad 20 funkcji tekstowych: Wyodrębnij liczbę z ciągu tekstowego; Wyodrębnij lub usuń część tekstów; Konwertuj liczby i waluty na angielskie słowa.
  • Narzędzia do scalania: Wiele skoroszytów i arkuszy w jeden; Scal wiele komórek / wierszy / kolumn bez utraty danych; Połącz zduplikowane wiersze i sumę.
  • Podziel narzędzia: Podziel dane na wiele arkuszy na podstawie wartości; Jeden skoroszyt do wielu plików Excel, PDF lub CSV; Jedna kolumna na wiele kolumn.
  • Wklej pomijanie Ukryte / filtrowane wiersze; Policz i suma według koloru tła; Wysyłaj spersonalizowane wiadomości e-mail do wielu odbiorców zbiorczo.
  • Super filtr: Twórz zaawansowane schematy filtrów i stosuj do dowolnych arkuszy; Sortuj według tygodnia, dnia, częstotliwości i nie tylko; Filtruj pogrubieniem, formułami, komentarzem ...
  • Ponad 300 zaawansowanych funkcji; Współpracuje z Office 2007-2021 i 365; Obsługuje wszystkie języki; Łatwe wdrażanie w przedsiębiorstwie lub organizacji.

strzałka niebieski prawy bąbelek Dodaj wiele pól do obszaru wartości tabeli przestawnej z kodem VBA

Niestety, nie ma pola wyboru, abyśmy mogli szybko sprawdzić wszystkie pola na liście pól tabeli przestawnej za pomocą jednego kliknięcia, ale dzięki poniższemu kodowi VBA może pomóc Ci dodać pozostałe pola do obszaru Wartości naraz. Wykonaj następujące czynności:

1. Po utworzeniu tabeli przestawnej należy najpierw dodać pola etykiet wierszy zgodnie z potrzebami i pozostawić pola wartości w Wybierz pola, które chcesz dodać do raportu lista, zobacz zrzut ekranu: </ p>

doc-dodaj-wiele-pól-1

2. Przytrzymaj ALT + F11 klawisze, aby otworzyć Okno Microsoft Visual Basic for Applications.

3, Kliknij wstawka > Modułi wklej następujący kod w Okno modułu.

Kod VBA: dodaj wiele pól do obszaru wartości tabel przestawnych w aktywnym arkuszu

Sub AddAllFieldsValues()
'Update 20141112
    Dim pt As PivotTable
    Dim I As Long
    For Each pt In ActiveSheet.PivotTables
        For I = 1 To pt.PivotFields.Count
            With pt.PivotFields(I)
              If .Orientation = 0 Then .Orientation = xlDataField
            End With
        Next
    Next
End Sub

4. Następnie naciśnij F5 klucz do uruchomienia tego kodu, wszystkie pozostałe pola zostały dodane do obszaru wartości w tym samym czasie, patrz zrzut ekranu:

doc-dodaj-wiele-pól-1

Uwagi: Ten kod VBA jest stosowany do wszystkich tabel przestawnych aktywnego arkusza.


Podobne artykuły:

Jak wyświetlić listę wszystkich tabel przestawnych ze skoroszytu?

Jak sprawdzić, czy tabela przestawna istnieje w skoroszycie?


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 (23)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
Naprawdę ładne i przydatne makro. Jednak dodałem już połowę moich pól do wartości i kiedy uruchomiłem to makro, dodało ponownie wszystkie te same pola. Jakiś pomysł dlaczego?
Ten komentarz został zminimalizowany przez moderatora na stronie
Wow. Działa bardzo dobrze. Wielkie dzięki! Niemniej jednak jestem trochę zdumiony, że Microsoft nie miał wbudowanej funkcji do dość prostego zadania...
Ten komentarz został zminimalizowany przez moderatora na stronie
To jest fantastyczne. Czy można zmodyfikować makro, aby dodać wszystkie do etykiet wierszy zamiast do wartości?
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy istnieje sposób na uruchomienie tego tylko dla wykluczonych pól, aby po uruchomieniu nie powstały zduplikowane pola? tj. „Pole” i „Pole_2”
Ten komentarz został zminimalizowany przez moderatora na stronie
[cytat] Czy istnieje sposób na uruchomienie tego tylko dla wykluczonych pól, aby po uruchomieniu nie powstały zduplikowane pola? tj. „Pole” i „Pole_2”Przez Shauna[/quote] Tak – dwa przykłady Użyj tego, aby dodać wszystkie pozostałe niezaznaczone elementy do ROWS Sub AddAllFieldsRow() Dim pt As PivotTable Dim iCol As Long Dim iColEnd As Long Set pt = ActiveSheet.PivotTables(1) With pt iCol = 1 iColEnd = .PivotFields.Count For iCol = 1 To iColEnd With .PivotFields(iCol) If .Orientation = 0 Then .Orientation = xlRowField End If End With Next iCol End With End Sub Użyj tego, aby dodać pozostałe niezaznaczone elementy do VALUES Sub AddAllFieldsValues() Dim pt As PivotTable Dim iCol As Long Dim iColEnd As Long Ustaw pt = ActiveSheet.PivotTables(1) With pt iCol = 1 iColEnd = .PivotFields.Count For iCol = 1 To iColEnd With .PivotFields(iCol) If .Orientation = 0 Then .Orientation = xlDataField End If End With Next iCol End With End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy jest sposób, aby dodać tylko niektóre pola dodatkowe, a nie pozostałe lub wszystkie, ale tylko parę tych, które nie są jeszcze sprawdzone? :)
Ten komentarz został zminimalizowany przez moderatora na stronie
Tak, aby powtórzyć markusa, czy istnieje sposób na edycję kodu, aby dodać tylko niezaznaczone pola, które z pewnością mają etykiety pól (jak w przypadku funkcji if zawiera)? Na przykład mam pytanie, które w rzeczywistości zawiera 50 wartości tak/nie według tematu i chciałbym przenieść je wszystkie do pola wartości. Wszystkie zaczynają się od tej samej etykiety pytania q9_[konkretny temat pytania].
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy jest tak czy inaczej, jeśli chcemy dodać wybrane kolumny z pliku bazowego zamiast wszystkich.?
Ten komentarz został zminimalizowany przez moderatora na stronie
Jego wartość przyjęta jako liczba. jak mogę przekonwertować wszystkie liczyć jako sumę?
Ten komentarz został zminimalizowany przez moderatora na stronie
Możesz kliknąć na swoje pole (w obszarze, do którego przeciągasz pola: etykiety kolumn, etykiety wierszy itp.), a następnie kliknąć "Ustawienie pola wartości", a otrzymasz rozwijaną listę, z której możesz wybrać "Suma"!
A     El
Ten komentarz został zminimalizowany przez moderatora na stronie
Ten komentarz został zminimalizowany przez moderatora na stronie
To jest świetne! Dzięki.
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy "xlDataField" nie działa z PowerPivot? Poniżej mam kod, który służy do dodawania wszystkich miar do tabeli przestawnej. Działa z „xlColumnField” i „xlRowField”. Jakieś pomysły, jak to zrobić?

SubAddAllFieldsValues()
Dim pt Jako tabela przestawna
Dim iCol tak długo
Dim iColEnd tak długo

Ustaw pt = ActiveSheet.PivotTables (1)

Z pt

iCol = 1
iColEnd = .CubeFields.Count

Dla iCol = 1 Do iColEnd
Z .CubeFields(iCol)
Jeśli .Orientation = xlHidden Then
.Orientacja = xlDataField
End If
Kończyć z
Następny iCol

Kończyć z

End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć.

Po kliknięciu przycisku Uruchom pojawia się błąd kompilacji

Proszę pomóż
Ten komentarz został zminimalizowany przez moderatora na stronie
Działa jak marzenie. Dzięki
Ten komentarz został zminimalizowany przez moderatora na stronie
Dzięki, bardzo mi pomogło
Ten komentarz został zminimalizowany przez moderatora na stronie
DZIĘKUJĘ BARDZO!!!
Ten komentarz został zminimalizowany przez moderatora na stronie
Uwaga: komunikat o błędzie Che:




SubAddAllFieldsValues()




„Aktualizacja 20141112”



Ściemniać
pt jako tabela przestawna





Dim I As
długo





Dla każdego
pt W ActiveSheet.PivotTables





Plany na
I = 1 Do pt.PivotFields.Count





Kończyć z







Dalej



Dalej




End Sub










Uwaga: Che próbuje dodać następujące elementy
pola/migawka- "Suma INNEJ różnicy, suma 4096
Różnica” ponad 80 pól do
w dodatku







INNE Różnica



4096 Różnica



4016 Różnica
Ten komentarz został zminimalizowany przez moderatora na stronie
Jeśli „Wartości są
„0” lub „Null”, jak wyłączyć wyświetlanie wartości wierszy

(np. Suma 2743 różnicy)





Obrót „Rzędy”
Przestaw „Wartości”





Etykiety wierszy





NP9 — Całkowite niewykorzystane
Środki





Suma INNYCH różnic 1,045,355,165.31 XNUMX XNUMX XNUMX




Suma 3200 różnicy
0.00




Suma 0108 różnicy
12,873,630.29



Suma 4586 różnicy
(33,024,706.93)



Suma 0148 różnicy
(72,046,783.14)



Suma 0129 różnicy
(5,583,891.98)



Suma 4598 różnicy
(929,574.56)



Suma 2743 różnicy



Suma 4041 różnicy
0.00



Suma 2799 różnicy
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy istnieje sposób edytowania makra, które wysyła pola do etykiety wierszy zamiast wartości?
Ten komentarz został zminimalizowany przez moderatora na stronie
Задача же не всегда стоит в получении списка, хочется допустим поправить названия таблиц или источныко да. Chcesz wiedzieć?
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, czy istnieje sposób na dodanie tylko niewyselekcjonowanych kolumn? dzięki. 
Ten komentarz został zminimalizowany przez moderatora na stronie
Uruchamiam ten kod. Ile czasu zajmuje ukończenie? Teraz trwa 45 minut i nadal działa. Proszę pomóż mi. Nawiasem mówiąc, moje całkowite kolumny pola wynoszą 3600.
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