Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
212to216
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
212to216
212to216
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ab Datum (?), Datei löschen.

Ab Datum (?), Datei löschen.
01.02.2003 17:26:56
Rudi
Hallo,
habe folgendes Problem:

Private Sub Workbook_Open()
Application.DisplayAlerts = False
If ((A61 = "TT.MM.JJJ") >= "27.01.2004") Then
ActiveWorkbook.ChangeFileAccess xlReadOnly
Kill ActiveWorkbook.FullName
ThisWorkbook.Close False
End If
For Each wks In ThisWorkbook.Worksheets
wks.Unprotect "Passwort"
Next wks
Sheets("Jan").Select: Range("C18").Select
ActiveCell.FormulaR1C1 = "=SUM(RC[1]:RC[10])"
Range("C19").Select
ActiveCell.FormulaR1C1 = "=SUM(RC[1]:RC[10])"
Selection.AutoFill Destination:=Range("C19:C47"), Type:=xlFillDefault
Range("C19:C47").Select
Range("C48").Select
.
.
.

End Sub

In Zelle A61 wird automatisch das Datum eingetragen [=HEUTE()], nun möchte ich das sich die Datei an einem bestimmten Datum (27.01.2004) automatisch löscht.
Aber die Datei löscht sich immer, egal was für ein Datum eingetragen ist.
Wie man im nachfolgenden Bereich erkennt, sollen bis zu diesem Datum, verschiedene Formeln in verschiedene Zellen eingetragen werden.
Das klappt wie ich es haben möchte, nur das Löschen nervt mich seit einer Woche.
Ich meine das mir ein Gedankenfehler unterläuft, kann aber keine Lösung finden.
Habe vorher diesen Befehl versucht:

Application.DisplayAlerts = False
If Date = „27.01.2004“ Then
ActiveWorkbook.ChangeFileAccess xlReadOnly
Kill ActiveWorkbook.FullName
ThisWorkbook.Close False
End If

Die Datei öffnete sich und hat die Formeln eingetragen, sonst nichts.

Gruß und danke für die Hilfe.
ER


4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Ab Datum (?), Datei löschen.
01.02.2003 17:42:45
Hajo_Zi

Hallo Rudi

seie Bitte mit folgendem Code vorsichtig. Die Datei wird gelösch und nicht in den Papierkorb geschoben. Ablaufdatum ist 01.04.2003

Vergesse nicht Tabelle1 mit dem Text eizufügen. Der Code löst die zwei Problem Ablauf zur Zeit und nur mit aktivierten Makro.

Gruß hajo

Re: Ab Datum (?), Datei löschen.
01.02.2003 18:12:34
Nepumuk

Hallo Rudi,

das: If ((A61 = "TT.MM.JJJ") >= "27.01.2004") Then kann nicht funktionieren, denn A61 ist kein Zellbezug sondern eine nichtdeklarierte Variable vom Typ Variant. Dieser vergleichst du mit einen String - A6 = "TT.MM.JJJ" - Ergebnis = False. Dieses False vergleichst du mit einem String - False >= "27.01.2004" - Ergebnis = True. False bei einem Vergleich mit einem String ist immer True. Das lehrt uns: Immer die Variablendeklaration mit der Anweisung Option Explicit verwenden, dann hätte dich der Kompiler schon angemeckert, dass A61 nicht deklariert ist. Das kannst du auch im VBA-Editor unter Extras - Optionen einstellen. Dann kommt die Zeile bei jedem neuen Modul automatisch.

Dein erster Ansatz war schon richtig. Funktioniert aber nur, wenn die Datei genau am 27.01.2004 geöffnet wird. Da das aber möglicherweise nicht der Fall ist, schreibe besser - If Date >= "27.01.2004" Then - und wenn du es testen willst, dann musst du die Jahreszahl schon auf 2003 ändern, sonst wartest du ein Jahr auf das Ergebnis.
Gruß
Nepumuk


Anzeige
Re: Ab Datum (?), Datei löschen.
01.02.2003 19:37:11
Rudi

Hallo Hajo,

danke für Deine Hilfe, werd´s gleich mal ausprobieren.
So wie ich das gelesen habe, kann ich jetzt die Formeln in den Zellen stehen lassen und die Makros müssen trotzdem aktiviert werden.
Für meine Versuche verwende ich immer eine Kopie der Originaldatei, so dürfte eigentlich nichts schwerwiegendes geschehen.
Makros sind für mich noch Neuland, aber dank Deiner Hilfe komm ich jetzt ein gutes Stück weiter.

Gruß Rudi


Re: Ab Datum (?), Datei löschen.
01.02.2003 21:32:04
Rudi

Hallo Nepumuk,

mache seit einer Woche meine ersten Schritte im Bezug auf Makros.
Hajos Lösungsvorschlag funktioniert super ("Noch mal Danke"), Datum vorstellen und weg ist die Datei.

Deine Erklärung hat mir meinen Fehler klar gemacht.
Beim ersten Versuch habe ich (If Date >= ....) eingegeben, ist ein Tippfehler. Da war aber noch nicht das Ziel die Datei zu löschen sondern nur sofort zu schließen. Da musste ich feststellen, das sich die Datei wieder öffnen lässt, wenn das Systemdatum zurückgestellt wird.
Also hab ich einen neuen Teil hinzugefügt:

Application.DisplayAlerts = False
If Date >= "27.01.2004" Then
Sheets("Jan").Select
Range("B9").Select
Sheets("Jan").Unprotect "Passwort"
ActiveCell.FormulaR1C1 = "xyz"
Sheets("Jan").Protect "Passwort"
Range("B18").Select
ActiveWorkbook.Save
End If
Sheets("Jan").Select
Range("B9").Select
If ActiveCell = "xyz" Then ActiveWorkbook.Close
(Nachfolgend der Eintrag der Formeln)

Die Datei konnte also nicht geöffnet werden bei Zurückstellung des Datums und beim starten ohne Makros wurden die Formeln nicht eingetragen. Leider hat sich das "xyz" bei jedem Starten der Datei erneut eingetragen, obwohl Systemdatum und der Eintrag in Zelle B9 in den Ursprung zurückversetzt wurden.

Muss halt noch lernen :-).

Danke und Gruß
Rudi



Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige