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

Jak přidat více polí do kontingenční tabulky?

Když vytváříme kontingenční tabulku, musíme pole postupně přetahovat do štítků řádků nebo hodnot ručně. Pokud máme dlouhý seznam polí, můžeme rychle přidat několik štítků řádků, ale zbývající pole by měla být přidána do oblasti Hodnota. Existují nějaké rychlé metody, jak přidat všechna ostatní pole do oblasti Hodnota jedním kliknutím v kontingenční tabulce?

Přidejte více polí do oblasti hodnot kontingenční tabulky s kódem VBA

Karta Office Povolte úpravy a procházení na kartách v Office a vaše práce bude mnohem jednodušší ...
Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%
  • Znovu použít cokoli: Přidejte do svých oblíbených nejpoužívanější nebo nejsložitější vzorce, grafy a cokoli jiného a rychle je v budoucnu znovu použijte.
  • Více než 20 textových funkcí: Extrahovat číslo z textového řetězce; Extrahovat nebo odebrat část textů; Převádějte čísla a měny na anglická slova.
  • Sloučit nástroje: Více sešitů a listů do jednoho; Sloučit více buněk / řádků / sloupců bez ztráty dat; Sloučit duplicitní řádky a součet.
  • Rozdělené nástroje: Rozdělit data do více listů na základě hodnoty; Jeden sešit pro více souborů Excel, PDF nebo CSV; Jeden sloupec na více sloupců.
  • Vložit přeskakování Skryté / filtrované řádky; Count And Sum podle barvy pozadí; Posílejte hromadně osobní e-maily více příjemcům.
  • Super filtr: Vytvořte pokročilá schémata filtrů a použijte je na jakékoli listy; Typ podle týdne, dne, frekvence a dalších; Filtr tučně, vzorce, komentovat ...
  • Více než 300 výkonných funkcí; Funguje s Office 2007-2021 a 365; Podporuje všechny jazyky; Snadné nasazení ve vašem podniku nebo organizaci.

šipka modrá pravá bublina Přidejte více polí do oblasti hodnot kontingenční tabulky s kódem VBA

Bohužel neexistuje žádné zaškrtávací políčko, abychom mohli rychle zkontrolovat všechna pole v seznamu polí kontingenční tabulky jedním kliknutím, ale s následujícím kódem VBA vám pomůže přidat zbývající pole do oblasti Hodnoty najednou. Postupujte prosím následovně:

1. Po vytvoření kontingenční tabulky byste nejprve měli podle potřeby přidat pole popisku řádku a ponechat pole hodnot v Vyberte pole, která chcete přidat do sestavy seznam, viz screenshot: </ p>

doc-add-multiple-fields-1

2. Podržte ALT + F11 klávesy pro otevření Okno Microsoft Visual Basic pro aplikace.

3, klikněte Vložit > Modula vložte následující kód do Okno modulu.

Kód VBA: Přidejte více polí do oblasti hodnot kontingenčních tabulek v aktivním listu

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. Pak stiskněte tlačítko F5 klíč ke spuštění tohoto kódu, všechna zbývající pole byla přidána do oblasti Hodnoty současně, viz screenshot:

doc-add-multiple-fields-1

Poznámka: Tento kód VBA se použije na všechny kontingenční tabulky aktivního listu.


Související články:

Jak vypsat všechny kontingenční tabulky ze sešitu?

Jak zkontrolovat, zda v sešitu existuje kontingenční tabulka?


Nejlepší kancelářské nástroje produktivity

Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%

  • Opakované použití: Rychle vložte složité vzorce, grafy a cokoli, co jste dříve používali; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce bez ztráty dat; Rozdělit obsah buněk; Zkombinujte duplicitní řádky / sloupce... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Více než 300 výkonných funkcí. Podporuje Office / Excel 2007-2021 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Plné funkce 30denní bezplatná zkušební verze. 60denní záruka vrácení peněz.
karta kte 201905

Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
officetab dno

 

Komentáře (23)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
Opravdu pěkné a užitečné makro. Nicméně už jsem přidal polovinu svých polí do Hodnoty a když jsem spustil toto makro, přidalo znovu všechna stejná pole. Nějaký nápad proč?
Tento komentář byl moderátorem webu minimalizován
Páni. Funguje to velmi dobře. Mnohokrát děkuji! Nicméně jsem trochu ohromen, že Microsoft neměl vestavěnou funkci pro poměrně jednoduchý úkol...
Tento komentář byl moderátorem webu minimalizován
To je fantastické. Lze makro upravit tak, aby se všechny přidaly do štítků řádků místo do hodnot?
Tento komentář byl moderátorem webu minimalizován
Existuje způsob, jak to spustit pouze pro vyloučená pole, takže když to spustím, neskončím s duplicitními poli? tj. "Pole" a "Pole_2"
Tento komentář byl moderátorem webu minimalizován
[quote]Existuje způsob, jak to spustit pouze pro vyloučená pole, takže když to spustím, neskončím s duplicitními poli? tj. "Pole" a "Pole_2"Od Shauna[/quote] Ano – dva příklady Použijte toto k přidání všech zbývajících nezaškrtnutých položek 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 If Next iCol End With End Sub Použijte k přidání zbývajících nezaškrtnutých položek do VALUES Sub AddAllFields(s)V Dim pt As PivotTable Dim iCol As Long Dim iColEnd As Long Set pt = ActiveSheet.PivotTables(1) S pt iCol = 1 iColEnd = .PivotFields.Count For iCol = 1 To iColEnd With = .PivotFields(iCol. Thenation) If .Orientation = xlDataField End If End With Next iCol End With End Sub
Tento komentář byl moderátorem webu minimalizován
Existuje způsob, jak přidat pouze některá pole ekstra, nikoli zbývající nebo všechna, ale pouze pár těch, která ještě nejsou zaškrtnuta? :)
Tento komentář byl moderátorem webu minimalizován
Jo, pro echo markus, existuje způsob, jak upravit kód tak, aby přidal pouze nezaškrtnutá pole, která mají určitě štítky polí (jako s funkcí if obsahuje)? Například mám otázku, která je ve skutečnosti 50 hodnot ano/ne podle tématu a rád bych je všechny přesunul do pole hodnot. Všechny začínají stejným štítkem otázky q9_[konkrétní téma otázky].
Tento komentář byl moderátorem webu minimalizován
Existuje přesto, pokud chceme místo všech přidat některé vybrané sloupce ze základního souboru.?
Tento komentář byl moderátorem webu minimalizován
Jeho hodnota se bere jako počet. jak mohu převést všechny počítat jako součet
Tento komentář byl moderátorem webu minimalizován
Můžete kliknout na své pole (v oblasti, do které pole přetahujete: popisky sloupců, popisky řádků atd.), poté klikněte na "Nastavení pole hodnoty" a získáte rozevírací seznam, ze kterého můžete vybrat "Součet"!
A     El
Tento komentář byl moderátorem webu minimalizován
Kód VBA: Změňte více nastavení polí v kontingenční tabulce
https://www.extendoffice.com/documents/excel/2354-excel-pivot-table-change-multiple-field-settings.html
Tento komentář byl moderátorem webu minimalizován
To je skvělé! Dík.
Tento komentář byl moderátorem webu minimalizován
Nefunguje "xlDataField" s PowerPivotem? Mám níže uvedený kód, který se používá k přidání všech opatření do kontingenční tabulky. Funguje s "xlColumnField" a "xlRowField". Nějaké nápady, jak to udělat?

Sub AddAllFieldsValues()
Dim pt jako kontingenční tabulka
Dim iCol As Long
Dim iColEnd As Long

Nastavit pt = ActiveSheet.PivotTables (1)

S pt

iCol = 1
iColEnd = .CubeFields.Count

Pro iCol = 1 To iColEnd
S .CubeFields(iCol)
If .Orientation = xlHidden Then
.Orientace = xlDataField
End If
Konec s
Další iCol

Konec s

End Sub
Tento komentář byl moderátorem webu minimalizován
Ahoj.

Když kliknu na Spustit, zobrazí se mi chyba kompilace

Prosím pomozte
Tento komentář byl moderátorem webu minimalizován
Funguje jako kouzlo. dík
Tento komentář byl moderátorem webu minimalizován
Díky, moc mi to pomohlo
Tento komentář byl moderátorem webu minimalizován
DĚKUJI MNOHOKRÁT!!!
Tento komentář byl moderátorem webu minimalizován
Poznámka: Chybová zpráva Che:




Sub AddAllFieldsValues()




'Aktualizace 20141112



Slunce
pt Jako kontingenční tabulka





Dim I As
Dlouho





Pro každého
pt V ActiveSheet.PivotTables





Pro
I = 1 Do pt.PivotFields.Count





Konec s







další



další




End Sub










Poznámka: Che se snaží přidat následující
pole/snímek- "Součet JINÝCH rozdílů, součet 4096
Rozdíl“ přes 80 polí
přidáno







OSTATNÍ Rozdíl



4096 Rozdíl



4016 Rozdíl
Tento komentář byl moderátorem webu minimalizován
Pokud „Hodnoty jsou
"0" nebo "null", jak potlačit zobrazení hodnot řádku

(např. součet rozdílu 2743)





Pivot "Řádky"
Pivot "Hodnoty"





Řádkové štítky





NP9 – celkem nevyužito
Prostředky





Součet OSTATNÍ Rozdíl 1,045,355,165.31 XNUMX XNUMX XNUMX




Součet 3200 Rozdíl
0.00




Součet 0108 Rozdíl
12,873,630.29



Součet 4586 Rozdíl
(33,024,706.93)



Součet 0148 Rozdíl
(72,046,783.14)



Součet 0129 Rozdíl
(5,583,891.98)



Součet 4598 Rozdíl
(929,574.56)



Součet 2743 Rozdíl



Součet 4041 Rozdíl
0.00



Součet 2799 Rozdíl
Tento komentář byl moderátorem webu minimalizován
Existuje způsob, jak upravit makro, které by odeslalo pole do štítku řádků místo hodnot?
Tento komentář byl moderátorem webu minimalizován
Задача же не всегда стоит в получении списка, хочется допустим попаравитнтиопаравить наЏзива Можете реализовать?
Tento komentář byl moderátorem webu minimalizován
Ahoj, existuje způsob, jak přidat pouze nevybrané sloupce? dík. 
Tento komentář byl moderátorem webu minimalizován
Spouštím tento kód. Kolik času trvá dokončení? Nyní je to 45 minut a stále běží. Prosím pomozte mi. Mimochodem, můj celkový počet sloupců pole je 3600.
Zatím zde nejsou žádné komentáře
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění

Sociální sítě

Copyright © 2009 - www.extendoffice.com. | Všechna práva vyhrazena. Poháněno ExtendOffice. | |. | Sitemap
Microsoft a logo Office jsou ochranné známky nebo registrované ochranné známky společnosti Microsoft Corporation ve Spojených státech a / nebo jiných zemích.
Chráněno Sectigo SSL