online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon micico vom 26.02.2019, 10:11 Options

Excel Arbeitsblatt zeitgesteuert löschen

Hallo,

wie kann man ein Excel Arbeitblatt in eriner Excel Mappe zeitgesteuert löschen? Ich bin in VBA eine absolute Niete! ;-P
Vielleicht kann mir hier jemand helfen.

Der Ablauf soll folgendermaßen ablaufen:
Sobald das hinterlegte Datum erreicht oder überschritten ist soll das Arbeitsblatt unwiderruflich gelöscht werden. Eventuell sinnvoll wäre auch ein gleichzeitiges Abspeichern der Arbeitsmappe.

Vielen Dank im Voraus
Micico


Antwort schreiben

Antwort 1 von Beverly vom 26.02.2019, 13:59 Options

Hi,

beim Schließen der Arbeitsmappe wird geprüft, ob das Datum in Tabelle1 A2 < Heute ist. Wenn ja, wird Tabelle2 gelöscht. Arbeitsmappe wird gespeichert.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim inTabellen As Integer
    For inTabellen = ThisWorkbook.Sheets.Count To 1 Step -1
        If Worksheets(inTabellen).Name = "Tabelle2" Then
            If Date >= Worksheets("Tabelle1").Range("A2") Then
                Worksheets("Tabelle2").Delete
                Exit For
            End If
        End If
    Next inTabellen
    ThisWorkbook.Save
End Sub


Bis später,
Karin

Antwort 2 von micico vom 27.02.2019, 19:40 Options

Hallo Karin,
zunächst mal vielen Dank für Deine Hilfe. Hab das Programm auch gleich mal ausprobiert und es funzt auch recht gut... Wenn ich jedoch auf beenden klicke kommt noch ein Hinweis, der mich dabei gewaltig stört: "In den Arbeitsblättern, die Sie löschen möchten können Daten vorhanden sein. Um die Daten endgültig zu löschen drücken Sie entfernen". Also das Ganze sollte kommentarlos abgehen. Weiterhin sollte die Option Sicherungskopie nicht nutzbar sein.
Hintergrund meiner Idee ist es, dass ich die Exceldatei an Andere weitergebe und diese nur bis zu dem Stichtag nutzbar sein soll. Es wäre daher sinnvoll die Abfrage beim öffnen auszuführen damit man nicht mit der Sicherungskopie weiterarbeiten kann.

Gruß Micico

Antwort 3 von Beverly vom 27.02.2019, 20:13 Options

Hi,

schau mal auf die HP von Hajo Ziplies Hajo-Excel Seite "VBA-Beispiele", Unterseite "nur mit Makros". Dort findest du mehrere Beispiel, die dir sicher weiterhelfen.

Bis später,
Karin

Antwort 4 von schnallgonz vom 27.02.2019, 21:24 Options

Hi Micico
ich mische mich nur kurz ein:
welchen Weg Du auch wählst, verabschiede Dich von dem Gedanken, eine Exceldatei wirksam schützen zu können.
Was ist, wenn Deine Dateiempfänger eine Kopie der Datei haben (es soll ja Leute geben, die regelmäßig Backups machen)?
Jeder, der sich einigermaßen mit VBA auskennt, kann alle Schutz- oder Löschoptionen abklemmen.

gruß
schnallgonz

Antwort 5 von micico vom 27.02.2019, 22:55 Options

Hi Schnallgonz,

Du hast sicherlich recht, aber die Leute (meist Handwerker) sind meist schon happy, wenn sie eine Excel-Datei öffnen können... Nix gegen Handwerker, bin selbst einer von den Jungs.... Ich habe mir halt die Mühe gemacht mit Excel eine Preisliste zu erstellen, mit der z.B. ein Bäcker komplette Angebote Heizungsanlagen innerhalb weniger Minuten erstellen kann.... (einschl. Händler-Preisupdate etc.) und das mit einer Präzision, die an Nachkalkulationen mit nur kleinen Abweichungen herankommt. Einige Mitbewerber sind schon an mich herangetreten und wollten ein Demoprogramm haben. Ich hab das einmal gemacht mit dem Erfolg, dass der "Mitbewerber" mir gesagt hat es wäre nix für ihn und später hab ich herausgefunden, dass er mit dem Ding sehr oft arbeitet... Deshalb der "KLEINE" Sicherheitstrick...

Gruss Micico

Antwort 6 von fedjo vom 28.02.2019, 17:21 Options

Hallo Micico,
einfach eine Zeile in den Code von Karin einfügen.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim inTabellen As Integer
For inTabellen = ThisWorkbook.Sheets.Count To 1 Step -1
Zitat:
Application.DisplayAlerts = False
If Worksheets(inTabellen).Name = "Tabelle2" Then
If Date >= Worksheets("Tabelle1").Range("A2") Then

Gruß
fedjo

Antwort 7 von micico vom 04.03.2019, 15:33 Options

Supi, soweit so gut.... Kann man denn sie Überprüfung auch beim öffnen der Datei durchführen lassen???

Gruss Micico

Antwort 8 von Beverly vom 04.03.2019, 15:50 Options

Hi,

schreibe den Code nicht in das WorkbookBefore_Close sondern in das Workbook_Open Ereignis. Bedenke aber, dass dies alles nur dann funktioniert, wenn die Makros beim Starten der Arbeitsmappe auch wirklich aktiviert werden.

Bi später,
Karin

Ähnliche Themen

Zellinhalte verschieben
inselgerd  29.03.2007 - 67 Hits - 14 Antworten

Excel-Textfeld löschen
Ricko  07.10.2007 - 202 Hits - 4 Antworten

Teile aus Hyperlinks im Excel - Arbeitsblatt suchen und ersetzen
KFK  09.10.2007 - 170 Hits - 2 Antworten

Inhaltsverzeichnis mit Excel
micico  19.11.2007 - 133 Hits - 2 Antworten

E-mails zeitgesteuert
eknay  25.11.2007 - 90 Hits - 1 Antwort

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026