Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

VBA Range aus wechselnden Datumsangaben ermitteln

Forumthread: VBA Range aus wechselnden Datumsangaben ermitteln

VBA Range aus wechselnden Datumsangaben ermitteln
10.05.2025 18:34:01
Georgi
Hallo Experten,
es wird vom Monatsanfang bis -ende, die wöchentliche Arbeitszeit benötigt.
Problem, der Monat fängt nicht immer mit dem gleichen Wochentag an.
Beispiel Januar, da ist der 1.1.25 ein Mittwoch.
Bedeutet, ich brauche für das Addieren von Zeiten eine Range, die vom 1.1.25 (Mittwoch) bis zum 5.1.25 (Sonntag) geht und für die folgende Woche vom 6.1.25 (Montag) bis zum 12.1.25 (Sonntag) usw.
Für den Februar ändert sich dann die Range für jede Woche.
Bedeutet Range vom 1.2.25 (Samstag) bis zum 2.2.25 (Sonntag) und Range für folgende Woche vom 3.2.25 (Montag) bis zum 9.2.25 (Sonntag).

Beispiel Monat Januar 2025
in A steht das Tagesdatum, in B stehen die zu addierenden Zeiten:
In A1 1.1.25 in B1 2.1.25 in C1 3.1.25 usw.
In A2 6:00 in B2 7:30 in C2 8:00
In A7 soll man die addierte Zeit für die 1. Woche im Januar (Summe von A2 : E2) in F7 für 2. Woche Januar (Summe F2 : L2), usw. sehen.
Im Februar soll dann in A7 die addierte Zeit für die 1. Woche im (Summe von A2 : B2) und in F7 für 2. Woche (Summe C2 : I2) zu sehen sein.

Zur Erkennung des Wochentags nutze ich Cells, da man da ggf. mit Variablen aus for / next arbeiten kann.

Dim Datum as Date
Datum = ThisWorbook.ActiveSheet.Cells(1, 1).Value
Msgbox Datum 'Januar, 01.01.2025
Msgbox Weekday(Datum) - 1 ' 3



Wie muss die Formel in A7 aussehen (1. Woche im Monat), die die Range für die Zeitberechnung für jeden Monat anpasst???

Viele Grüße
Georgi
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Würdest du...
10.05.2025 21:26:25
Case
Moin, :-)

... eine aussagekräftige Beispieldatei mit Wunschergebnis zur Verfügung stellen? ;-)

Servus
Case
AW: VBA Range aus wechselnden Datumsangaben ermitteln
11.05.2025 21:05:51
Daniel
Hi

Für die erste Woche;

=Summenprodukt(A2:AE2*(Kalenderwoche(A1:AE1;2)=Kalenderwoche(A1;2))

Für die weiteren Wochen versetzt du dann die Vergleichswoche immer um 7 Spalten:

Also die zweite Woche:

=Summenprodukt(A2:AE2*(Kalenderwoche(A1:AE1;2)=Kalenderwoche(H1;2))

Dritte Woche:

=Summenprodukt(A2:AE2*(Kalenderwoche(A1:AE1;2)=Kalenderwoche(O1;2))

Usw.

Die Formeln sind Matrixformeln, dh die Eingabe muss bei Excelversionen älter als 2022 mit STRG+SHIFT+ENTER abgeschlossen werden


Anzeige
AW: VBA Range aus wechselnden Datumsangaben ermitteln
12.05.2025 15:46:09
Georgi
Hallo Daniel,
danke für Deinen Lösungsvorschlag.

Das passt noch nicht, ich bekomme den Fehler #Wert! angezeigt.
Die geschweiften Klammern werden in der Formel angezeigt, für den Abschluss mit Shift String und Enter.

Viele Grüße
Georgi
AW: VBA Range aus wechselnden Datumsangaben ermitteln
12.05.2025 16:28:21
Daniel
Hi
Dann ist irgendwo im Zellbereich A1:AE2 ein Text vorhanden, den Excel nicht in ein Datum oder eine Zahl umwandeln kann
Der Text "" als Formelergebnis wäre so ein Text.

Gruß Daniel
Anzeige
AW: VBA Range aus wechselnden Datumsangaben ermitteln
12.05.2025 17:38:00
Georgi
Hallo Daniel,
es ist kein Text vorhanden. Habe testweise ein neues Tabellenblat nur mit den Daten (Datum) und den Stunden aufgebaut.
Gleiches Ergebnis.

Laut Fehlerauswertung liegt das Problem bei
Kalenderwoche(A1:AE1;2)

Viele Grüße
Georgi

AW: VBA Range aus wechselnden Datumsangaben ermitteln
12.05.2025 18:14:14
Daniel
Hi

Sieht so aus, als wäre KALENDERWOCHE nicht matrixtauglich.

Probiere mal statt:
Kalenderwoche(A1:AE1;2)
Das hier
IsoKalenderwoche(A1:AE1)

Gruß Daniel

Anzeige
AW: VBA Range aus wechselnden Datumsangaben ermitteln
13.05.2025 22:21:55
Georgi
ja das passt, vielen Dank Daniel :-)

Viele Grüße
Georgi

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige