Hallo,
Zitat:Zum Schluß noch eine winzige Frage, kann man ein Pivottabelle auch so einstellen das diese laufend aktualisiert oder geht das nur wenn die Arbeitsmappe geschlossen und wieder geöffnet wird.
Ich wandle i.d.R. die Datentabelle über Einfügen - Tabelle in eine Tabelle um und erstelle erst dann die PT.
Dadurch erhalte ich in der PT einen dynamischen Datenbereich. Mir genügt dann i.d.R. ein Klick auf den Button 'Aktualisieren' um die PT zu aktualisieren - ich arbeit ein diesem Bereich recht wenig mit VBA-Code.
Wenn ich VBA verwende dann z.B. so einen Code von Thomas:
Code:
Private Sub Worksheet_Activate()
Dim pt As PivotTable
For Each pt In ActiveSheet.PivotTables
pt.RefreshTable
Next pt
End Sub
Hi,
hier die Antwort auf die PN:
Zitat:nochmals tausend dank für das Datenblatt, habe es gestern noch so erstellt das Ich nun in einer Arbeitsmappe 12 Monate angelegt habe und auf jedem Blatt die Pivottabelle habe.
Ich denke soweit ist dies OK.
das mit der VBA " aktualisieren" habe Ich nicht hinbekommen den Ich weiß nicht wohin Ich diesen Text in der VBA kopieren soll.
Nun habe Ich noch eine Frage damit Ich alle Arbeitsblätter aufeinmal den Schutz ein und ausschalten kann habe Ich folgende VBA Code wo muß Ich die reinkopieren. Muß hierfür ein neues Modul angelegt werden .....
Wäre toll wenn du das kurz erklären könntest.
hier der VBA Code Schutz ein / aus..
Mit Passwort Blattschutz ein.
Code:
Code:
Option Explicit
Sub Alle_Blaetter_Blattschutz_EIN_M_Pw()
Application.ScreenUpdating = False
Dim shBlatt As Worksheet
For Each shBlatt In ActiveWorkbook.Sheets
shBlatt.Protect Password:="123" 'Passwort ändern "123"
Next shBlatt
Application.ScreenUpdating = True
End Sub
Mit Passwort Blattschutz aus.
Code:
Code:
Sub Alle_Blaetter_Blattschutz_AUS_M_Pw()
Application.ScreenUpdating = False
Dim shBlatt As Worksheet
For Each shBlatt In ActiveWorkbook.Sheets
shBlatt.Unprotect Password:="123" 'Passwort ändern "123"
Next shBlatt
Application.ScreenUpdating = True
End Sub
also:
Du klickst mit der rechten Maustaste auf das Tabellenblatt mit der Pivot und wählst "Code anzeigen". Dann fügst Du den Makrocode von Peter in das rechte Fenster ein:
Code:
Option Explicit
Private Sub Worksheet_Activate()
Dim pt As PivotTable
For Each pt In ActiveSheet.PivotTables
pt.RefreshTable
Next pt
End Sub
Jedesmal, wenn Du nach Änderungen in den Datentabellen das Tabellenblatt der Pivot anzeigst, werden dann die Pivots aktualisiert.
Deine beiden Passwort-Codes würde ich in ein gemeinsames allgemeines Modul legen und auf der Datentabelle zwei Buttons einfügen, die diese Codes aufrufen.
Das geht so aber nicht, dann können die Pivots nicht aktualisiert werden!
Ich habe Dir mal ein Datenblatt (2) mit allen Tagen bis Anfang März untereinander weg eingebaut und eine Tabelle mit 4 Beispiel-Pivots:
[
attachment=1123]
Hallo,
bei einem Blattschutz könnte man den Code für die Aktualisierung der PT so ergänzen:
Code:
Private Sub Worksheet_Activate()
Dim pt As PivotTable
Me.Unprotect Password:="123"
For Each pt In ActiveSheet.PivotTables
pt.RefreshTable
Next pt
Me.Protect Password:="123"
End Sub