Excel VBA - Zellen nach Datum löschen?

...komplette Frage anzeigen

4 Antworten

Zelle A1: K30 löschen am 25.03.2016 - 14:00 Uhr
Das µ muss ja allgemein formuliert sein, sonst macht das keinen Sinn. Also zB jeden Freitag 14:00, wenn die Woche abgelaufen ist (keine WE-Vorausplanung?  GGF ENTSPRECHEND ÄNDERN)

Wenn in A1:E5 Deine Datümer Mo:Fr stehen (wirklich in A1, keine Titelspalten für zB Schicht oder Zeit?), dann (ins Worksheet-Modul, nur Entwurf, Trockenübung):

Sub worksheet_selectionchange()
if Now() > E5 + 0,5833334 then Range("A1:K30").delete Shift:=xltoleft
end sub 'die einzeilige (Merkelsche=alternativlose) if-Variante braucht kein End if


Den üblichen Kladderadatsch für Target etc kannst Du Dir hier sparen.


Das 0,5833334 ist der Zeitwert für 14:00+ und kann vllt auch anders formuliert werden, probier ich jetzt nicht aus

Gibt sicher noch andere brauchbare Ereignis-Makros (Worksheet_activate() ? worksheet_change() ? sowie Max's Workbook_activate(), Workbook_open(), Letztere aber ins Workbook-Modul: funktionieren dann jeweils bei der entsprechenden Aktion, ich probier das aber jetzt ebenfalls nicht aus)

danke für den * ! Das ist mir die liebste Rückmeldung ;)

0

du solltest genauer beschreiben was dein problem ist. soll was automatisch ablaufen? kannst du VBA?

Hey,

Ich habe immernoch meinen Schichtplan vor Augen und die Kalenderwochen sollen nach jederwiche gelöscht werden.

Somit würde ich gerne in VBA programmieren das excel automatische nach einer Woche eine Kalenderwochen entfernt, damit die Planung weitergehen kann.

VBA Spezialist bin ich nicht aber ich kann es anwenden.

Gruß Manuel

0
@Bensemilia

Sprich ich möchte ein Marko an einem bestimmten Tag und Uhrzeit ausführen. 

0

also auf die uhrzeit kommts nicht an.

du brauchst die sub Workbook_Open() im projektteil diesearbeitsmappe. diese wird immer ausgeführt wenn du xlsm datei öffnest. in dieser prozedur schleifst du über die spalte mit den datumseinträgen (aber rückwärts), überprüfst ob es ein löschkandidat ist (die funktion datediff könnte hilfreich sein) und mit

Rows(i).Delete Shift:=xlUp

wird gelöscht. oder waren es spalten?  

Was möchtest Du wissen?