AW: zeitlich kopieren
15.03.2006 01:06:37
IngGi
Hallo Thomas,
also generell kann man das Ganze einfach durch das Schließen der Datei stoppen. Wenn du die Datei offen halten möchtest oder aus irgendwelchen Gründen musst, könntest du den Ablauf durch eine kleine Abfrage stoppen. Mit einer bestimmten Endzeit (22 Uhr) z.B. so:
Sub Wert_retten()
If Time >= 22 / 24 Then
Range("B65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
Range("B65536").End(xlUp).Offset(0, 1) = Now
Daten_retten_Start
End If
End Sub
Oder du lässt stoppen, sobald der 100ste Wert in die Zelle B100 kopiert wurde:
Sub Wert_retten()
If Range("B100") = "" Then
Range("B65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
Range("B65536").End(xlUp).Offset(0, 1) = Now
Daten_retten_Start
End If
End Sub
Oder du lässt stoppen, wenn das Wort "Stop" in C1 steht:
Sub Wert_retten()
If Range("C1") <> "Stop" Then
Range("B65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
Range("B65536").End(xlUp).Offset(0, 1) = Now
Daten_retten_Start
End If
End Sub
Dabei gilt allerdings, dass, nachdem du "Stop" in C1 geschrieben hast, der Ablauf erst endet, wenn das Makro das nächste Mal versucht, einen Wert nach Spalte B zu kopieren. Und das kann eben lange 5 Minuten dauern. Zum sofortigen Stop schließt du daher am Besten kurz die Datei, speicherst sie wenn gewünscht und öffnest sie dann wieder.
Gruss Ingolf