Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1532to1536
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

Formatierte Tabelle legt Rechner lam

Formatierte Tabelle legt Rechner lam
17.01.2017 14:12:08
Thorsten
Hallo Excelfreunde,
bim am Verzweifeln. Vielleicht hat jemand nachstehendes Problem schon mal gehabt und hat gut Rat.
Es dreht sich um eine formatierte Tabelle ca. 600 Spalten und z.Z. 1600 Zeilen, wobei nur in ca. 20 Spalten Formeln sind. Rechnerisch sicher keine große Aufgabe. Datei speichert sich auch in 1-2 Sekunden. Nun wollte ich nicht mit seitlichen Scrollen arbeiten, sondern Spalten Ein- und Ausblenden.
Problem ist, dass die Tabelle beim Makro ausführen anfängt zu Rödeln und mehrere Minuten zum Ein- und Ausblenden braucht.
Am Code sollte es sicher nicht liegen, hier Beispiel:
Range(Range("TabADB[[Spaltenname1]]"), Range("TabADB[[Spaltenname30]]")).EntireColumn.Hidden = True
Range(Range("TabADB[[Spaltenname31]]"), Range("TabADB[[Spaltenname42]]")).EntireColumn.Hidden = False
Range(Range("TabADB[[Spaltenname43]]"), Range("TabADB[[Spaltenname600]]")).EntireColumn.Hidden = True

Leider ist die Datei zum hochladen nicht geeignet.
Für Infos zum Problem, schon mal besten Danke vorab.
Gruß Thorsten

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

Betreff
Datum
Anwender
Anzeige
AW: Formatierte Tabelle legt Rechner lam
17.01.2017 14:25:10
Daniel
Hi
schwer zu sagen.
das Ausblenden stößt wahrscheinlich eine neuberechnung der Formeln an.
auf jeden Fall solltest du nicht jede Spalte einzeln bearbeiten, denn jeder Ein-Ausblendevorgang kostest Zeit.
dh. zuerst mal alle Spalten einblenden:
Sheets("TabADB").Cells.EntireColumn.Hidden = False
dann alle Spalten, die ausgeblendet sind in einer Range-Variable sammeln und dann alle in einem Schritt ausblenden:

set rngAusblenden = Range(Range("TabADB[[Spaltenname1]]"), Range("TabADB[[Spaltenname30]]"))
Set rngAusblenden = Union(rngAusblenden, Range(Range("TabADB[[Spaltenname43]]"), Range("TabADB[[ _
Spaltenname600]]")))
'--- usw bis alle Spalten zum ausblenden beisammen sind
rngAusblenden.entirecolumn.Hidden = true
Gruß Daniel
Anzeige
AW: Formatierte Tabelle legt Rechner lam
17.01.2017 16:11:22
Thorsten
Hallo Daniel,
ok. Ich habe aber verscieden "Spaltenklicks" Also auch "alle auf". Das dauert am längsten.
Selbst wenn Excel alles neu berechnet scheint mir da bei 1500 Datensätzen über 10 min etwas zu lang :-)
Die Frage ist, warum rechnet Excel deshalb neu?
Ich habe das Phänomen auch in einer anderen unformatierten Tabelle. Wenn ich dort nur mal eine Splate ein Stückchen aufziehen will, sind mindestens 15 Sekunden Wartezeit fällig.
Gibt es noch eine andere Idee?
Kann eine Neuberechnung per VBA unterdrückt werden?
Gruß Thorsten
AW: Formatierte Tabelle legt Rechner lam
18.01.2017 09:49:58
Daniel
HI
eine automatische Neuberechnung kannst du mit Application.Calculation = xlcalculationmanual ausschalten.
ungeschickte Formeln können auch bei kleineren Datenmengen schnell auf die Performance wirken.
(z.B. ganze Spalten in Summenprodukt oder Matrixformeln, die Verwendung von Indirekt oder sonstigen volatilen Funktionen)
tückisch können auch bedingte Formatierungen sein, da diese auch sehr häufig neu berechnet werden.
ein paar weitere Infos findest du hier:
http://www.online-excel.de/excel/grusel.php?f=4
prüf auch mal, ob Excel in allen Tabellenblättern das Tabellenende richtig gesetzt hat.
drücke hierzu die Tastenkombi STRG+ENDE.
der Cursor springt dann zur letzen verwendeten Zelle auf dem Tabellenblatt.
Wenn diese Zelle deutlich unterhalb der von dir erwarteten Zelle liegt, musst du alle dazwischen liegenden Zellen löschen die Datei nochmal speichern und öffnen.
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige