Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
892to896
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
892to896
892to896
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Optimierung Performance

Optimierung Performance
06.08.2007 17:06:34
Adrian1977
Hallo zusammen,
bin momentan eine Datei am Aufbauen. Bereits zu Anfang zeichnet sich es ab, dass die Datei später aufgrund der Datenmenge und Formeln "träge" wird. Die Kombination von Formeln wie Bereich.Verschieben, Indirekt, Index, Vergleich, Wenn machen meine Abfragen zwar sehr flexibel, aber auch ziemlich langsam.
Hat jemand vielleicht Tipps wie man die Performance optimieren kann? Kann man eine Einstellung vornehmen, mit der nur das aktive Blatt berechnet wird und nicht die komplette Arbeitsmappe?
Danke + Gruß
Adrian

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Optimierung Performance
06.08.2007 17:30:23
Andreas
Hi Adrian,
probier's mal damit (ungetestet und im "Hau-Ruck-Prinzip" erstellt). Sub unter "Diese Arbeitsmappe" im VBA Editor reinkopieren.
</p><pre>Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range)
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
For i = 0 To UBound(StrWsName)
If ws.Name = ActiveSheet.Name Then
ws.EnableCalculation = True
Else
ws.EnableCalculation = False
End If
Next i
Next ws
End Sub</pre><p>
Viele Grüße
Andreas

AW: Optimierung Performance
07.08.2007 11:20:00
Adrian1977
Hallo Andreas,
danke!
Es funktioniert leider nicht. Bei der Zeile "For i = 1 To UBound(StrWsName)" bekomme ich einen
"Laufzeitfehler 13".
Gruß
Adrian

Anzeige
AW: Optimierung Performance
08.08.2007 11:35:23
Andreas
Hi Andreas,
sorry, mein Fehler, wenn man was zusammenstöpselt aus anderen Makros, dann passiert sowas ;-)
Hier die funktionierende Variante:
</p><pre>Private Sub Workbook_SheetActivate(ByVal sh As Object)
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
If ws.Name = sh.Name Then
ws.EnableCalculation = True
' MsgBox ws.Name & " EnableCalculation = True"
Else
ws.EnableCalculation = False
' MsgBox ws.Name & " EnableCalculation = False"
End If
Next ws
End Sub</pre><p>
Grüße
Andreas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige