Ich stehe vor folgendem Problem und weiß nicht, wie ich es angehen soll. Ich gebe in Spalte A immer ein Datum ein, beginnend mit der Zelle A2. Nun will ich, dass nach Eingabe in Spalte A nach 10 Eingaben in Spalte A die Spalte F mit einer Zahl +1 befüllt wird. Heißt, ich will, dass in Spalte F2:F11 die Zahl 0 steht und ab F12:F21 1 steht und ab F22:F31 2 steht usw.. Ich hoffe, dass mir jemand weiter helfen kann.
13.12.2022, 14:17 (Dieser Beitrag wurde zuletzt bearbeitet: 13.12.2022, 14:20 von HKindler.)
Hi,
nochmals ich. Leider ist die Zeit zum Bearbeiten meines Posts schon abgelaufen.
Habe mir deine Datei mal näher zu Gemüte geführt.
Zunächst einmal: Was ergibt wohl DATUM(JAHR($A$2);MONAT($A$2);TAG($A$2))? Könnte es eventuell sein, dass das genau dasselbe ist wie GANZZAHL($A$2)? Und wenn in A2 ein reines Datum ohne Uhrzeit steht, könnte es eventuell nicht sogar dasselbe sein wie $A$2?
Damit vereinfacht sich deine Formel E2: =WENN(A2="";"";ZÄHLENWENNS(C:C;"x";A:A;">="&DATUM(JAHR($A$2);MONAT($A$2);TAG($A$2));A:A;"<="&DATUM(JAHR($A2);MONAT($A2);TAG($A2)))-ZÄHLENWENNS(C:C;"x";A:A;">="&DATUM(JAHR($A$2);MONAT($A$2);TAG($A$2));A:A;"<"&DATUM(JAHR($A$2);MONAT($A$2);TAG($A$2)+14*F2))) zu E2: =WENN(A2="";"";ZÄHLENWENNS(C:C;"x";A:A;">="&$A$2;A:A;"<="&$A2)-ZÄHLENWENNS(C:C;"x";A:A;">="&$A$2;A:A;"<"&$A$2+14*F2))
Allerdings sollte es sich so langsam rumgesprochen haben, dass man nicht in jeder Zeile von neuem anfängt ab der ersten Zeile zu zählen. Da dein Datum aufsteigend sortiert ist (sein muss, da sonst deine Anfrage mit "nach zehn Zeilen um 1 erhöht" keinen Sinn macht) kann man das ganz anders lösen: E2: =WENN(A2="";"";WENN(REST(A2-A$2;14)=0;0;E1)+(C2="x"))
Das Makro in F ist überflüssig und wäre auch so ausreichend:
Code:
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 1 Or IsEmpty(Cells(Target.Row, 1)) Then Exit Sub Cells(Target.Row, 6).Value = 0 End Sub
Um die Homeoffice-Tage innerhalb von 10 Arbeitstagen zu zählen reicht eigentlich das: