momentan rufe ich mit dieser formel das makro auf
=markiereZelle($A6;$B6;$A$1;SPALTE($C6)-2;50)
es ged darum, das in der spalte A und spalte B das anstellungdatum bzw das ausdritt datum steht, die folgenden spalten sind die monate Jan bis Dez. Pro Jahr wird ein neues blatt benötigt. Jetzt sollte so lange eine Person anwesend ist, die felder grünen hindergrund haben, jedoch sollte auch möglich sein, text in das feld zu schreiben
***************************************************
Function markiereZelle(dtmStart As Date, dtmEnde As Date, intJahr As Integer, intMonat As Integer, lngFarbcode As Long) As Boolean
' diese Funktion markiert diejenige Zelle, aus der die funktion aufgerufen wurde,
' falls der "1. intMonat intJahr" zwischen dtmStart und dtmEnde (jeweils der 1.) liegt
Dim dtmStart1 As Date
Dim dtmEnde1 As Date
Dim dtmAktuell As Date
dtmStart1 = DateSerial(Year(dtmStart), Month(dtmStart), 1)
dtmEnde1 = DateSerial(Year(dtmEnde), Month(dtmEnde), 1)
dtmAktuell = DateSerial(intJahr, intMonat, 1)
Debug.Print Range(Application.Caller.Address).Interior.ColorIndex
If (dtmAktuell >= dtmStart1 And dtmAktuell <= dtmEnde1) Then
markiereZelle = True
Range(Application.Caller.Address).Interior.ColorIndex = lngFarbcode
Else
markiereZelle = False
Range(Application.Caller.Address).Interior.ColorIndex = xlNone
End If
'markiereZelle = Range(Application.Caller.Address).Value
End Function