Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1032to1036
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

Löschen dauert zu lange

Löschen dauert zu lange
24.12.2008 17:06:31
maike
Ich habe eine Tabelle, die bis zur Zeile 40.000 ausgefüllt ist und zwar für sechs Spalten. Wenn ich ein Makro durchlaufen lasse, möchte ich zu Beginn alle Zellen löschen, damit die neuen Werte eingefügt werden können.
Manuell dauert das ganze schon Ewigkeiten, über den Befehl
Sheets("First Analysis").Range("A10:F40010").ClearContents
leider auch. Hat jemand eine flottere Variante parat?
Frohes Fest!

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Löschen dauert zu lange
24.12.2008 17:42:09
Tino
Hallo,
ich hatte das heute schon mal, xl2007 ist wesentlich rasanter unterwegs,
bei mir reicht die Zeit noch nicht einmal für einen Wimpernschlag.
Versuche es mal so.
Sub Test()
Dim i As Single, myCalc As Integer
i = Timer

With Application
 myCalc = .Calculation
 .ScreenUpdating = False
 .Calculation = xlCalculationManual

 Sheets("First Analysis").Range("A10:F40010").ClearContents
    
 
 .ScreenUpdating = False
 .Calculation = myCalc
End With
MsgBox Format((Timer - i) / 86400, "hh:mm:ss")
End Sub


Gruß Tino

Anzeige
Korrektur !!!!!
24.12.2008 17:43:00
Tino
Option Explicit

Sub Test()
Dim i As Single, myCalc As Integer
i = Timer

With Application
 myCalc = .Calculation
 .ScreenUpdating = False
 .Calculation = xlCalculationManual

 Sheets("First Analysis").Range("A10:F40010").ClearContents
    
 
 .ScreenUpdating = True
 .Calculation = myCalc
End With
MsgBox Format((Timer - i) / 86400, "hh:mm:ss")
End Sub


Anzeige
AW: Löschen dauert zu lange
24.12.2008 17:53:13
Tino
Hallo,
habe die Zeiten mal gemessen, in alle Zellen stand etwas drin.
Die Variante mit .Value = "" ist fast doppelt so schnell.
Aber wie gesagt unter xl2007.
Option Explicit

Sub Test()
Dim i As Single, myCalc As Integer
i = Timer

With Application
 myCalc = .Calculation
 .ScreenUpdating = False
 .Calculation = xlCalculationManual

' Sheets("First Analysis").Range("A10:F40010").ClearContents    'Timer = 0,203125 
 Sheets("First Analysis").Range("A10:F40010").Value = ""        'Timer = 0,1289063 
 
 .ScreenUpdating = True
 .Calculation = myCalc
End With
Debug.Print Timer - i
End Sub


Gruß Tino

Anzeige
AW: Löschen dauert zu lange
24.12.2008 18:20:10
Luschi
Hallo Tino,
vielleicht sind bei Maike auch Ereignismakros im Spiel, dann sollte man die mit
Application.EnableEvents = False
vorrübergehend ausschalten.
Gruß von Luschi
aus klein-Paris
könnte sein?! oT.
24.12.2008 18:22:06
Tino
AW: Löschen dauert zu lange
24.12.2008 18:32:59
Uwe
Hi,
also das sind die Zeiten mit Excel 2000 (und 1 GHz/ 512 MB RAM):
ClearContens: 0,40625
Value="":0,265625
Und das, wenn die Calculation eingeschaltet bleibt.
ClearContents m.Calc.:0,3828125
Valeue="" m. Calc.: 0,2421875
(Ich hatte alle Zellen mit: =Zeile() gefüllt.)
Ist zwar langsamer, aber das könnte auch an meiner "Maschine" liegen.
Gruß
Uwe
(:o)
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige