AW: nur ohne KALENDERWOCHE()-Funktion ...
02.02.2020 13:08:27
Curly
Hi Werner,
danke für die Formel, funktioniert soweit ganz gut, ich möchte das ganze in VBA verpacken und hier definiere ich jedesmal den range neu. Aber trotzdem danke mit dem hinweis auf die intelligente Tabelle.
Jetzt ist nur ein Problem, wenn meine Leerzeile dazwischen ist funktioniert es nicht mehr.
auch der Versuch mit
=SUMMENPRODUKT(($K$3:$K$7"")*(KÜRZEN(($I$3:$I$7-DATUM(JAHR($I$3:$I$7+3-REST($I$3:$I$7-2;7));1;REST($I$3:$I$7-2;7)-9))/7)&"/"&JAHR($I$3:$I$7+3-REST($I$3:$I$7-2;7))=O$2)*($K$3:$K$7=$N3))
hat leider kein erfolg gebracht.
hier auchnochmal zur vollständigkeit der vba Code:
Sub Kontakte_KW_zahlen()
Dim datum As Date
Dim i As Integer
Dim ArBer(1 To 2), rng As Range
Dim n&, nn&
Worksheets("BesuchLog").Range(Cells(5, 27), Cells(5, 27 + 52)).NumberFormat = "@"
datum = Date
For i = 0 To 52
Worksheets("BesuchLog").Cells(5, 27 + i).Value = Format(datum, "ww", vbMonday) & Format(datum, " _
\/yyyy")
datum = datum - 7
Next i
n = Worksheets("BesuchLog").Cells(Rows.Count, 1).End(xlUp).Row
If Worksheets("BesuchLog").Cells(5, 27).Value = Format(datum, "ww", vbMonday) & Format(datum, "\ _
/yyyy") Then GoTo NurNeuZaehlen
NurNeuZaehlen:
With Worksheets("BesuchLog")
Set rng = .Range("A3", .Cells(n, 11))
ArBer(1) = rng.Columns(9).Address(1, 1, xlR1C1, External:=True)
ArBer(2) = rng.Columns(11).Address(1, 1, xlR1C1, External:=True)
End With
With Worksheets("BesuchLog")
nn = .Cells(5, .Columns.Count).End(xlToLeft).Column
With .Range("AA6", .Cells(7, nn))
.FormulaR1C1 = "=SUMPRODUCT((TRUNC((" & ArBer(1) & "-DATE(YEAR(" & ArBer(1) & "+3-MOD(" _
& ArBer(1) & "-2,7)),1,MOD(" & ArBer(1) & "-2,7)-9))/7)&""/""&YEAR(" & ArBer(1) & "+3-MOD(" & ArBer(1) & "-2,7))=R5C)*(" & ArBer(2) & "=RC26))"
.Value = .Value
End With
End With
Set rng = Nothing
End Sub
Gruß Curly