Verknüpfen von Makros dauert ewig
15.11.2022 12:02:05
Makros
Ich habe eine Datentabelle bestehend aus einem Pivottable und Formeln nebendran um bestimmte Werte aus einer anderen Tabelle zu finden.
Für diese aus Formeln bestehenden Zeilen habe ich ein Makro geschrieben, der mir alle leere Spalten aus der Auswertung ausblendet. Nun möchte ich aber diese Prozedur iwie automatisieren nach einer Auswahl eines Filters aus dem Pivottable. Aber sobald ich das so reinschreibe, dauert die Kalkulation und Bearbeitung eine gefühlte Ewigkeit. Einzeln funktionieren die Prozesse ohne Probleme. Kann mir einer sagen, was genau das Problem ist?
Code für das Zusammenfassen:
Public Sub ShowResult()
ActiveSheet.PivotTables("PivotTable1").PivotCache.Refresh
ActiveSheet.PivotTables("PivotTable1").PivotFields("Date settings").ClearAllFilters
If Range("D1").Value "" Then
ActiveSheet.PivotTables("PivotTable1").PivotFields("Date settings").PivotFilters. _
Add Type:=xlDateBetween, Value1:=Range("D1").Text, Value2:=Range("D2").Text
End If
Dim i As Integer
Application.ScreenUpdating = False
With Worksheets("Physical_Lab_2022")
For i = 7 To 656
Columns(i).Hidden = False
If WorksheetFunction.Sum(.Range(.Cells(5, i), .Cells(20000, i))) = 0 Then
.Columns(i).Hidden = True
End If
Next i
End With
Application.ScreenUpdating = True
End Sub
Code für das Abrufen des Makros:
Option Explicit
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
If Target.Name = "PivotTable1" Then
Call ShowResult
End If
End Sub
Ich denke für jede Änderung in der Tabelle versucht Excel das Makro abzurufen. Und bei der Datenmenge führt das zur Überlastung?!Besteht da die Möglichkeit Excel zu sagen, dass er das Makro nur einmal ausführen soll, wenn das Filterwechsel abgeschlossen ist?