Hallo liebe Gemeinde
dies ist mein erster Post hier und ich bin leider völliger Excel Anfänger, also habt etwas nachsehen
Ich habe in einer Excel liste (Version 2010) in Zelle C2 die Funktion =Kalenderwoche(Heute();1), diese ändert den Wert automatisch. Nun möchte ich ein Makro erstellen, dass die Werte in den Zellen B24:E45 automatisch löscht, sobald sich dieser Wert in C2 ändert.
Es handelt sich um eine Teilnehmerliste für den Sport, die wöchentlich ausgefüllt werden soll und um "Leichen" zu vermeiden einmal wöchentlich, optimalerweise am Samstag, gelöscht werden soll.
Das komplette Arbeitsblatt soll zur Bearbeitung gesperrt werden. Ausnahme hiervon und zur Bearbeitung freigegeben sind die Zellen (B24:E45) & (C18:E20) & (C14:E16) & (C12:E12), falls das für das Makro von Interesse ist. In den Zellen (D24:D45) befindet sich eine Dropdownliste, die entweder auf den Standartwert ( - ) zurückgestellt werden soll, oder eben die Auswahl wird gelöscht und die Zelle bleibt "leer", die Liste soll aber als Auswahlmöglichkeit erhalten bleiben.
Bisher habe ich folgenden Code:
Private Sub Workbook_Open()
'Zelle AX! darf auf keine Fall manuell überschrieben werden
With Sheets("Tabelle1")
'Tabellenname anpassen
If .Range("AX1").Value <> .Range("C2").Value Then
If MsgBox("Alte Daten wirklich löschen?", vbYesNo) = 6 Then
.Range("B24:E45").ClearContents
End If
End If
.Range("AX1").Value = .Range("C2").Value
End With
End Sub
Allerdings ist hier die Sperrung zur Bearbeitung nicht berücksichtigt, genauso wenig wie die Dropdownliste.
Ich habe die Datei mal angehängt, damit man einen Eindruck bekommt.
Vielen Dank schonmal!