Wir kritisieren den Einsatz der Inputbox() ( zB als mögliche Fehlerquelle durch Schreibfehler oder Gross/Kleinschreibung) mal nicht und unterstellen,
dass dies kein Probleme an den nachgelagerten Code durchreichen wird. ;)
Die Funktion Monthname() liefert Dir den Monatsnamen, standardmässig in Langform, ausgeschrieben, wenn Du den zweiten Parameter nicht oder als FALSE angibst. Ansonsten liefert die Funktion die Kurzform. Steht auch so in der Onlinehilfe.
Soweit so gut.
Jetzt hast Du in Spalte A jedoch Daten stehen.
09.03.2021, 10.03.2021 usw usf.
Die Frage ist also, wie Du aus diesen Daten einzeln auf den Monatsnamen abprüfen kannst.
Dazu gibt es einmal den Monthname() bzw auch Month().
Monthanme muss Du mit einer Zahl von 1..12 füttern.
Die Funktion Month() kannst Du mit einem Datum füttern und bekommst die eine Zahl von 1..12 zurück.
Steht auch so in der Onlinehilfe.
So könntest das Ganze kombinieren.
Wenn Monthname(Month(Cells(Zeile,1).value)) = KW_bzw_Monatsname, dann ...
If .Cells(Zeile, 3).Value = KW Then
'*** wird zu
If Monthname(Month(.Cells(Zeile,1).Value)) = "Januar"
'*** bzw
Dim VariableMonat as Variant
VariableMonat = Inputbox(...)
If Monthname(Month(.Cells(Zeile,1).Value)) = VariableMonat Then
...
Klar soweit?
|