Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1624to1628
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
Inhaltsverzeichnis

Tabellenblatt mit 9.000.000 Formeln löschen

Tabellenblatt mit 9.000.000 Formeln löschen
24.05.2018 15:34:57
Nepumuk
Hallo,
ich erzeuge aus 9.000.000 Formeln eine Liste aus 9.000.000 (mehrere "Tabellen" mit je 86400 Zeilen (Sekunden/Tag) Konstanten). Diese Tabellen sind die Datengrundlage für mehrere Diagramme. Nach dem die Diagramme mit Daten gefüttert wurden machen ich aus den Diagrammen ein Bild (CopyPicture) und füge dieses in eine leere Tabelle ein. Im Anschluss lösche ich alle Tabelle außer der mit dem Bild damit die Mappe beim Speichern keine 200 MB hat. Leider dauert das Löschen der Tabelle mit den Formeln fast 2 Minuten.
Hat jemand eine Idee wie ich das Löschen beschleunigen kann?
Gruß
Nepumuk

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Calculation ausschalten vor dem Löschen! (owT)
24.05.2018 15:45:29
EtoPHG

AW: Calculation ausschalten vor dem Löschen! (owT)
24.05.2018 15:46:34
Nepumuk
Hallo EtoPHG,
hab ich schon, dauert trotzdem 2 Minuten.
Gruß
Nepumuk
AW: Tabellenblatt mit 9.000.000 Formeln löschen
24.05.2018 15:49:41
Daniel
Hi
kommt darauf an, wie löschst.
gibt es, wenn du Formeln löscht, noch weiter Formeln, die sich auf die gerade eben gelöschten Formeln beziehen? Falls ja, werden diese natürlich neu berechnet.
falls du noch das Diagramm mit der Verbindung zu der Tabelle hast, solltest du vielleicht erst dieses löschen, damit es sich nicht beim Löschen neu zeichnet.
ggf hilft der Klassiker zum Beschleunigen:
Application.Calculation = xlcalculationManual
Application.ScreenUpdating = false
Applicaton.EnableEvents = false
... hier der code zum löschen
Application.ScreenUpdating = True
Application.EnableEvent = true
Application.Calculation = xlcalculationautomatic
Gruß Daniel
Anzeige
AW: Tabellenblatt mit 9.000.000 Formeln löschen
24.05.2018 16:03:43
Nepumuk
Hallo Daniel,
mach ich schon. Das Makro sieht im Prinzip so aus:
With Application
    .ScreenUpdating = False
    .Calculation = xlCalculationManual
    .EnableCancelKey = xlDisabled
    .StatusBar = "Excel is still calculating...Please Wait."
    .Cursor = xlWait
End With

Application.DisplayAlerts = False
Call Tab_Data.Delete
Application.DisplayAlerts = True

With Application
    .ScreenUpdating = True
    .Calculation = xlCalculationAutomatic
    .EnableCancelKey = xlInterrupt
    .StatusBar = False
    .Cursor = xlDefault
End With

Die Formeln schauen so aus:
#WERT!#WERT!0,00,000,000,000,0000,00

ZelleFormel
A3=DATUM(LINKS('Input csv'!A102;4);TEIL('Input csv'!A102;6;2);TEIL('Input csv'!A102;9;2))
B3=TEIL('Input csv'!A102;12;8)*1
C3='Input csv'!G102
D3='Input csv'!H102
E3='Input csv'!I102
F3='Input csv'!J102
G3='Input csv'!K102
H3='Input csv'!L102
I3=WURZEL((ABS(E2-E3)+ABS(F2-F3)+ABS(G2-G3))*D3*100/frequency)

Gruß
Nepumuk
Anzeige
AW: Rückfragen
24.05.2018 15:57:49
Gerd
Hallo Nepumuk,
hast du ca. 110 Listobjects in einem Tabellenblatt?
Was soll nach dem Löschen bestehenbleiben?
Gruß Gerd
AW: Rückfragen
24.05.2018 16:16:33
Nepumuk
Hallo Gerd,
die Liste mit den Formeln wir in Teile von 15-15 Uhr des nächsten Tages geteilt. Die Listen sind in Sekunden, also 86401 Sekunden pro Tag unterteilt. Darum auch die Teile pro Tag da die Messung nicht immer um 15 Uhr beginnt, das zugehörige Diagramm aber immer um 15 Uhr startet.
Es geht um das RLS-Syndrom (Restless-Leg-Syndrom) das sind ungewollte Beinbewegungen beim Einschlafen / während des Schlafes.
So ein Diagramm (von 12) sieht so aus:
Userbild
Gruß
Nepumuk
Anzeige
AW: Tabellenblatt mit 9.000.000 Formeln löschen
24.05.2018 16:37:52
Daniel
Hi
ich gehe mal davon aus, dass du die so erzeugte Datei unter einem anderen Namen speicherst.
(sonst müsstest du ja jedesmal die Formeln und das Diagramm komplett neu erstellen)
Dann kannst du auch gleich mit Workbooks.Add eine neue leere Datei erstellen und Bild dort einfügen, dann brauchst du nichts löschen.
oder du speicherst die Seite mit dem Diagramm als PDF (Speichern unter)
Gruß Daniel
AW: Tabellenblatt mit 9.000.000 Formeln löschen
24.05.2018 16:41:02
Nepumuk
Hallo Daniel,
werde ich so machen.
Danke für den Schups in die richtige Richtung.
Gruß
Nepumuk
Problem an der Wurzel packen
24.05.2018 16:54:03
lupo1
86400 Werte kann kein Diagramm-Gucker diskriminieren.
Mehr als ca. 2500 sind auf einem DIN-A3-Blatt quer wohl nicht drin.
Daher könnte man dieses Eindampfen um den Faktor 30 schon so früh wie möglich angehen, und zwar so, dass die Minima und Maxima trotzdem sekundentrennscharf optisch erhalten bleiben. Es kommt auf den Inhalt an, ob man dabei MAX oder MITTELWERT verwendet.
Anzeige
AW: Problem an der Wurzel packen
24.05.2018 17:09:43
Nepumuk
Hallo Lupo,
das mag im klinischen Alltag richtig sein. Aber da habe ich ja von Daniel den Schubs in die richtige Richtung bekommen. Im akademischen Alltag müssen die Originaldaten in der Tabelle sein. Da spielt es keine Rolle das die Datei 200 MB hat.
Gruß
Nepumuk
Ist aber ja im Grunde so ähnlich ...
24.05.2018 18:07:39
lupo1
... nicht zuletzt sind Diagramme, die aufgrund der Dateneindampfung gezeichnet werden, auch schneller.
Vermutlich würde ich daher B1:B86400 auf E1:E2700 (1/32) zuerst zusammenfassen und das Diagramm erst dann darauf basierend zeichnen.
Auch hier kann man die Quell-Datei dann einfach ungespeichert schließen (wie Daniel). Das Automatisierungsmakro enthält nur zusätzlich die Eindampfung
E1:E2700: =GewählteAggregationsfunktion(INDEX(A:A;ZEILE(A1)*32-31):INDEX(A:A;ZEILE(A1)*32))
, die ebenfalls nicht gespeichert werden muss.
Deine Grafik hat ja eine bestimmte Breite in Pixeln. Wahrscheinlich ist diese sogar eher bei 1350 als bei 2700, so dass Du sogar 1/64 verwenden kannst.
Bedenke: Die Grafik ist genau so falsch wie die kondensierten Daten.
Anzeige
AW: Ist aber ja im Grunde so ähnlich ...
24.05.2018 19:04:13
Nepumuk
Hallo Lupo,
das mag ja alles sein, aber es geht nicht nur um Diagramme sondern auch um Auswertungen im Sekundenbereich. Da kann ich Eindampfungen nicht brauchen.
Gruß
Nepumuk
Die bleiben ja bestehen ...
24.05.2018 19:07:25
lupo1
... nur die Diagramme zeichnen viel schneller.
Ok, wenn das nicht so wichtig ist ...
AW: Die bleiben ja bestehen ...
24.05.2018 19:21:49
Nepumuk
Hallo Lupo,
das Zeichnen der Diagramme dauert "nur" 2-3 Sekunden, das ist kein Problem.
Gruß
Nepumuk
AW: Die bleiben ja bestehen ...
24.05.2018 19:42:25
Nepumuk
Hallo Lupo,
das Öffnen der entsprechenden CSV-Datei mit 88 MB dauert schon gut 20 Sekunden, da spielen die paar Sekunden für die Charts keine Rolle.
Gruß
Nepumuk
AW: Ist aber ja im Grunde so ähnlich ...
24.05.2018 19:15:35
Daniel
Hi
die Originaldaten behälst du natürlich und machst das Eindampfen in einer zusätzlichen Tabelle.
die ist ja nicht so groß und macht den Braten nicht viel fetter.
die Auswertungen kannst du dann ja immer noch in der Originaldatei machen, aber für das Diagramm nutzt du die eingedampfte Datei.
Denn so wie es aussieht, ist das Diagramm die Bremse und macht momentan wahrscheinlich als Hauptarbeit die 86000 Datenpunkte auf eine darstellbare Anzahl umzurechnen (Bildschirmpixel). Diese Arbeit erledigt die zusätzliche Tabelle wahrscheinlich schneller.
Früher war die Anzahl der Datenpunkte pro Datenreihe mal auf 32000 beschränkt, da hättest du die Darstellung auf 3 Datenreihen aufteilen müssen.
Gruß Daniel
Anzeige
AW: Ist aber ja im Grunde so ähnlich ...
24.05.2018 19:30:22
Nepumuk
Hallo Daniel,
die Diagramme sind nicht das Problem, die sind relativ schnell erstellt.
Ich muss vielleicht dazu sagen, es handelt sich um 2 verschiedene Auswertungen.
Einmal nur die Diagramme (mit Löschung der Ausgangsdaten) die nur der optischen Auswertung dienen.
Das andere mal um 1. die Diagramme + 2. zusätzlichen Auswertungen die auf Sekunden basieren.
Mir ging es in meiner Anfrage nur um den ersten Fall und den konnte ich dank deines Hinweises lösen.
Gruß
Nepumuk

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige