Hi nochmal,
wenn du z.B. Januar 2021 zählen willst aber Januar 2020 nicht, dann musst du den Code noch um die Jahresprüfung ergänzen.
Function ZähleDaten(Status As String, Monat As Byte, Jahr As Integer, user As String)
Application.Volatile
Dim BereichPunkt As String, BereichStatus As String, BereichMonat As String, BereichUser As String
Dim lzei As Long, uzei As Long, s As Long, i As Long, cnt As Long
BereichPunkt = "A:A": BereichStatus = "R:R": BereichMonat = "K:K": BereichUser = "B:B"
For s = 1 To Sheets.Count - 1
With Sheets(s)
lzei = 2
uzei = .Range(BereichPunkt).Cells(Rows.Count).End(xlUp).Row
For i = lzei To uzei
If Left(user, 2) = "<>" Then
If .Range(BereichStatus).Cells(i) = Status _
And Month(.Range(BereichMonat).Cells(i)) = Monat _
And Year(.Range(BereichMonat).Cells(i)) = Jahr _
And .Range(BereichUser).Cells(i) <> Right(user, Len(user) - 2) Then cnt = cnt + 1
Else
If .Range(BereichStatus).Cells(i) = Status _
And Month(.Range(BereichMonat).Cells(i)) = Monat _
And Year(.Range(BereichMonat).Cells(i)) = Jahr _
And .Range(BereichUser).Cells(i) = user Then cnt = cnt + 1
End If
Next i
End With
Next s
ZähleDaten = cnt
End Function
Als Formel für Januar 2021 dann z.B. =zähledaten("Note 3 FG";1;JAHR(HEUTE());"VM") bzw. mit "<>VM"
Gruß Mr. K.
|