Clever-Excel-Forum

Normale Version: Stundenberechnung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4
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
Seiten: 1 2 3 4