Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

(Excel) Pivot über alle Tabellenblätter

Frage Microsoft Microsoft Office

Mitglied: victorianer

victorianer (Level 1) - Jetzt verbinden

15.08.2013, aktualisiert 19:34 Uhr, 3385 Aufrufe, 2 Kommentare, 1 Danke

Hallo liebe Excel-Freunde!

Ich habe eine kleine Frage bzgl. Pivot Tabellen:

Ich arbeite als Praktikant in einem Produktionsbetrieb und dokumentiere täglich Störzeiten und -häufigkeiten in einer Excel Tabelle.
Jeden Tag wird ein neues (mit aktuellem Datum), aber vom Aufbau her identisches Tabellenblatt benutzt (Kopie von Vorlage).
Am Ende des Monats erstelle ich eine einseitige Übersicht, in der ich alle Ereignisse summiert aufliste (z.B.: Maschine X stand Y Mal für insgesamt Z Minuten (das ist jetzt nur ein simples Beispiel)).

Nun gibt es bei Pivot Tabellen die Option, mehrere Konsolidierungsbereiche festzulegen. Schön und gut, muss ich aber trotzdem alles manuell festlegen/hinzufügen.

Nun zu meiner Frage:

Gibt es die Möglichkeit, den Bereich der Pivot Tabelle automatisch über ALLE Tabellenblätter festzulegen, ohne das ich jedes einzelne extra hinzufügen muss?
In der Praxis wäre es also so, dass ich z.b. morgen ein neues Tabellenblatt hinzufüge, und dieses automatisch Teil der "Bilanz" ist.

Würde mich sehr über Ratschläge und Tipps freuen.

Viele Grüße,
Victorianer
Mitglied: colinardo
15.08.2013, aktualisiert 19.05.2016
Hallo Victorianer,
habe ich Dir eine mögliche Lösung in ein Demo-Dokument gepackt.
Die Vorgehensweise im Dokument ist diese:
  • Erstellen einer Konsolidierungstabelle mit VBA die automatisch alle Tabellenblätter außer dem ersten als Quellen nimmt
  • Die Pivot-Tabelle hat diese Konsolidierungtabelle als Datenquelle
  • Der Button fügt zur Demo ein weiteres Sheet hinzu, konsolidiert alle Sheets und aktualisiert die Pivot-Tabelle in einem Schritt

Hoffe das war so richtig von mir interpretiert ...

Der Code im Sheet sieht folgendrmaßen aus:
01.
Sub consolidate() 
02.
    'Worksheet hinzufügen 
03.
    Worksheets(Worksheets.Count).Copy After:=Worksheets(Worksheets.Count) 
04.
    Worksheets(1).Select 
05.
     
06.
    Dim sheet1 As Worksheet 
07.
    Set sheet1 = Worksheets(1) 
08.
    Dim i As Integer 
09.
    ReDim sArray(1 To 1) 
10.
    i = 1 
11.
    For f = 2 To Worksheets.Count 
12.
        ReDim Preserve sArray(1 To i) 
13.
        sArray(i) = Worksheets(f).Name & "!R1C1:R5C3" 
14.
        i = i + 1 
15.
    Next 
16.
    sheet1.Range("A2").consolidate Sources:=(sArray), Function:=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False 
17.
    sheet1.PivotTables("PivotTable1").RefreshTable 
18.
End Sub
Das wichtigste für dich steht ab Zeile 11. Zeile 11 bestimt welche Sheets einbezogen werden. In Zeile 13 wird ganz hinten in Excel R1C1-Schreibweise der Zellenbereich festgelegt in dem in jedem Sheet die Daten liegen. Zeile 16 musst du je nach Art der Consolidierung die Parameter noch anpassen. In der VBA Hilfe zu dieser Funktion steht mehr dazu. Zu guter letzt wird in Zeile 17 die Pivot-Tabelle mit dem Namen PivotTable1 aktualisiert.


Grüße Uwe
Bitte warten ..
Mitglied: victorianer
21.08.2013 um 07:49 Uhr
Erstmal Entschuldige die späte Antwort, bin leider nicht eher dazu gekommen.

Dann: Vielen Dank für die großartige Hilfe, komme leider auch erst jetzt dazu den Code zu testen. Die DemoDatei sieht schonmal super aus, jetzt muss ich das ganze noch anpassen, vielen vielen Dank dafür!
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Sticky Notes - Autostart unterbinden

Tipp von Pedant zum Thema Windows 10 ...

Ähnliche Inhalte
Microsoft Office
PIVOT-CHART IN EXCEL 2010

Frage von MiSt zum Thema Microsoft Office ...

Microsoft Office
gelöst 3 Excel Dateien, gleich umkodieren? (5)

Frage von Akeipra zum Thema Microsoft Office ...

Outlook & Mail
Outlook 2016 Excel Preview

Frage von ilsinger zum Thema Outlook & Mail ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Base64 Decode (Batch,VBS) (26)

Frage von clragon zum Thema Batch & Shell ...

Flatrates
DeutschlandLAN der Telekom - welche internen IPs? (19)

Frage von qualidat zum Thema Flatrates ...