Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<

Microsoft Office 2003-2019 => Excel => Thema gestartet von: proach1995 am Januar 17, 2018, 08:54:06 Vormittag

Titel: Office 2010: VBA: Wenn sich Wert ändert, dann Zellen löschen
Beitrag von: proach1995 am Januar 17, 2018, 08:54:06 Vormittag
Hallo liebe Gemeinde
dies ist mein erster Post hier und ich bin leider völliger Excel Anfänger, also habt etwas nachsehen ;D

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! :)