AW: biddä schöön...
01.11.2009 20:53:40
ransi
HAllo Jörg
Bevor man Schleifen einsetzt lohnt sich immer eine Prüfung obs auch ohne geht.
Sub sichern()
Dim start As Double
start = Timer
Tabelle2.Range("speich_Target1Abbild").Formula = Tabelle1.Range("tg1_Abbild").Formula
MsgBox Timer - start
End Sub
Sub rücksichern()
Dim start As Double
start = Timer
Tabelle1.Range("tg1_Abbild").Formula = Tabelle2.Range("speich_Target1Abbild").Formula
MsgBox Timer - start
End Sub
Um überhaupt eine messbare Laufzeit zubekommen habe ich die Bereiche tg1_Abbild und speich_Target1Abbild mal auf A1:C20000 aufgebohrt. Laufzeit ca. 0,3 Sekunden für 60000 Formeln.
Wenn du das Ganze jetzt noch richtig schnell machen willst und noch die eine oder andere Hundertstel Skunde rauskitzeln willst, schalte alles Störende weg.
Option Explicit
Dim c As Range
Dim AppCalc
Dim AppScreen
Dim AppEvents
Dim AppCursor
Sub sichern()
Dim start As Double
start = Timer
On Error GoTo raus
Call More_speed
Tabelle2.Range("speich_Target1Abbild").Formula = Tabelle1.Range("tg1_Abbild").Formula
raus:
Call Meine_Einstellungen
MsgBox Timer - start
End Sub
Sub rücksichern()
Dim start As Double
start = Timer
On Error GoTo raus
Call More_speed
Tabelle1.Range("tg1_Abbild").Formula = Tabelle2.Range("speich_Target1Abbild").Formula
raus:
Call Meine_Einstellungen
MsgBox Timer - start
End Sub
Public Sub More_speed()
With Application
'#######################
'Einstellungen speichern
AppCalc = .Calculation
AppScreen = .ScreenUpdating
AppEvents = .EnableEvents
AppCursor = .Cursor
'#######################
'Angezogene Bremsen lösen
.Calculation = xlCalculationManual 'Berechnung auf manuell
.ScreenUpdating = False 'Bildschirmaktualisierung aus
.EnableEvents = False 'Ereignismakros abschalten
.Cursor = xlDefault 'Sanduhr ausschalten
'#######################
End With
End Sub
Public Sub Meine_Einstellungen()
With Application
.Calculation = AppCalc
.ScreenUpdating = AppScreen
.EnableEvents = AppEvents
.Cursor = AppCursor
End With
End Sub
Zwar mehr Code, dafür aber schneller. LAufzeit ca. 0,25 Sekunden.
ransi