Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
320to324
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
320to324
320to324
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Geschwindigkeitsproblem beim Formelberechnen

Geschwindigkeitsproblem beim Formelberechnen
13.10.2003 19:19:47
Sven
Hallo zusammen!

Ich habe mein Programm jetzt fertig gestellt. Im Prinzip ist es eine Datenbank in der Namen gespeichert werden. Hinzu kommen in 2 Spalten jeweils eine recht komplizierte Matrix-Formel (zusammengesetzt aus WENN;ODER;UND;SVERWEIS - Funktionen). Die Formeln funktionieren auch einwandfrei, jedoch habe ich jetzt ein ziemlich extremes Geschwindigkeitsproblem:
Bei JEDER Zelleneingabe rechnet der Rechner ~ 30 sec. (2,4 GHz P 4) bzw. fast ne min. (Heimrechner -> 1,5er Athlon). Das Programm ist ~ 9,5 MB groß (ohne eingetragene Daten).
Ich habe den Anschein, dass er jedes Tabellenblatt berechnet, auch wenn man sich im 1. befindet. Wenn das stimmt würde er mit jedem Eintrag ~400 000 Zellen berechnen (wobei die meißten ja ohne Formeln einfach leer sind!) "Formelzellen"
wären "nur" ~ 40 000 in der ganzen arbeismappe.

Ich habe folgendes schon versucht:
Jedes einzelne Tabellenblatt in eigener arbeitsmappe -> gleiche geschwindigkeit.

Bin um tipps sehr dankbar, auf anrfage kann ich euch Auszüge zeigen.
Gruß
Sven

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Stell um auf manuelle Berechnung - und...
13.10.2003 19:31:05
Boris
Hi Sven,

...berechne bei Bedarf mit F9 neu.

Grüße Boris
AW: Stell um auf manuelle Berechnung - und...
13.10.2003 19:46:47
Sven
das problem ist: die geschwindigkeit bleibt ja lahm und das prog ist a) nicht für mich, sondern es müssen auch andere bedienen (und denen kann ich nicht erklären, WIESO das jetzt so lange braucht, bei dem tollen neuen arbeits-PC ^^) und b) muss man pro namen (wenn er neu angelegt wird) 5 felder ausfüllen....das ist definitiv zu langsam wies jetzt läuft....
Mit umfangreichen Arrayformeln in großen Tabellen.
13.10.2003 22:54:17
Boris
Hi Sven,

...wirst du IMMER Performanceprobleme bekommen.
Ich arbeite ja nun auch gerne mit Formeln - wenn sie aber sehr zahl- und umfangreich vorhanden sind, dann stell ich - wie bereits gesagt - die Berechnung auf manuell und berechne nur bei Bedarf mit F9 neu.
Dann kann ich soviel eingeben wie ich will - die Arbeit wird dadurch nicht behindert.
Und die User müssen halt geimpft werden, dass sie zum Ende der Eingaben mit F9 die Berechnung starten müssen.

Allgemein: Oft ziehe ich auch statt Arrayformeln die Lösung mit Hilfsspalte vor. Das beschleunigt das Ganze doch oft erheblich.
Oder ich weiche - wenn es definitiv zu langsam ist - auf VBA aus.
Konkreter kann ich ohne Kenntnis deiner verwendeten Formeln aber nicht werden.

Grüße Boris
Anzeige
AW: Mit umfangreichen Arrayformeln in großen Tabellen.
13.10.2003 23:54:33
Sven Kopp
danke dir boris, habe ja jetzt hilfe gefunden ;)
das problem war, das man bei einer eingabe die ergebnise ja braucht!
AW: Geschwindigkeitsproblem beim Formelberechnen
13.10.2003 19:58:28
Reinhard
Hi Sven,
in DieseArbeitsmappe:

Private Sub Workbook_Open()
Application.Calculation = xlCalculationManual
End Sub


In Tabelle1 , Tabelee2, Tabelle3,....... jeweils

Private Sub Worksheet_Change(ByVal Target As Range)
Application.SendKeys "{F9}"
End Sub

Gruß
Reinhard
AW: Geschwindigkeitsproblem beim Formelberechnen
13.10.2003 20:23:47
Sven
Hallo Reinhard!
Tut mir leid aber mit deinem Code kann ich gar nichts anfangen....ich kenn mich mit den Excel-formeln ganz gut aus, aber sowas habsch in excel noch nicht gesehn...wo kommt das hin/was bewirk das?
Ich hoffe du kannst mir das noch ein klein wenig erläutern! ;)
Danke!
Sven
Anzeige
AW: Geschwindigkeitsproblem beim Formelberechnen
13.10.2003 21:05:18
Reinhard
Hi Sven,
mit Alt-F11 in den Editor wechseln,
dann links doppelt auf DieseArbeitsmappe klicken und rechts


Private Sub Workbook_Open()
Application.Calculation = xlCalculationManual
End Sub


reinkopieren, dann lnks alle gewünschten Tabellen (Tabelle1,tabelle2) auch doppelt anklicken und eingeben:


Private Sub Worksheet_Change(ByVal Target As Range)
Application.SendKeys "{F9}"
End Sub


Dann Editor schließen.
Das Makro in DieseArbeitsmappe schaltet die automatische Berechnung für die ganze Arbeitsmappe aus.
Die Makros in den einzelenen Tabellen senden an Excel F9, es wird also berechnet, aber nur diese eine Tabelle und nur wenn sich da was geändert hat, also bei jeder Zelleneingabe.
Gruß
Reinhard
Anzeige
Und mal wieder vielen dank!
13.10.2003 23:53:17
Sven
Super!
Hatt echt viel gebracht, man merkt jetzt fast gar keine berechnungszeit mehr!
Find ich echt klasse, wie ihr hier alle einen im Forum unterstützt, ich hoffe ich kann auch mal mit einer Lösung beitragen! ;) Ich werd auf jeden Fall immer mitlesen!
Bis dann,
Gruß
Sven
Danke für die Rückmeldung, o.w.T.
14.10.2003 14:20:28
Reinhard
.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige