AW: Einzelnes Sheet automatisch berechnen
21.12.2008 20:42:00
Daniel
Hi
du könntest für die ganze Mappe die Berechnung auf Manuell stellen (EXTRAS-OPTIONEN-BERECHNUNG)
um dann für ein einzelnes Blatt die Berechnung zu aktualisieren, müsstest du dann im Direktfenster
ActiveSheet.Calculate eingeben
oder du kopierst folgenden Code in das Modul "DieseArbeitsmappe"
damit wird, nach HaJos vorschlag, die Neuberechnung immer nur für das grade aktive Blatt aktiviert, für die anderen dagegen abgeschaltet:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim shx As Worksheet
For Each shx In ThisWorkbook.Worksheets
shx.EnableCalculation = False
Next
Sh.EnableCalculation = True
End Sub
alternativ solltest du mal prüfen, ob sich da nicht vieles in den Berechnungen optimieren lässt.
viel lässt sich beschleunigen, wenn man z.B. bei SVERWEIS und VERGLEICH die Version mit dem Parameter
BEREICHVERWEIS bzw VERGLEICHSTYP = WAHR anstelle von FALSCH arbeitet.
Hierzu müssen allerdings die Tabellen entsprechend sortiert sein.
hat man mehrer Spalten mit SVerweisen, die sich auf den gleichen Suchbegriff beziehen, so kann man sich auch 1x die Zeilen-Nr mit VERGLEICH in einer Hilfsspalte ausgeben lassen und für die Restlichen SVerweise dann die INDEX-Funktion verwenden (die Zeilen-Nr kommt dann aus der Hilfsspalte)
Ähnlich langsam sind auch ZählenWenn und SummeWenn.
hier lässt sich auch u.U. durch Vermeidung dieser Formeln oder einschränkung auf einen kleineren Zellbereich eine grössere Geschwindigkeit erziehlen.
das würde ich einem Abschalten der Neuberechnung vorziehen, da hier u.U. mit nicht aktualisierten Daten weitergearbeitet wird.
Gruß, Daniel