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

Wochenberechnung/Kalenderwoche um eins erhöhen

Forumthread: Wochenberechnung/Kalenderwoche um eins erhöhen

Wochenberechnung/Kalenderwoche um eins erhöhen
03.12.2024 10:40:09
Volker
https://www.herber.de/bbs/user/173950.xlsm
Guten Morgen,
in der Beispielmappe befindet sich ein Makro, welches eine Summe bildet. Als Kriterium nehme ich die Kalenderwoche aus Spalte B. Für den ersten duchlauf funktioniert das ganze. Jetzt müsste sich die Wochenzahl im Makro um eins erhöhen. Das aber bekomme ich nicht hin. Könnte mir jemand einen Ansatz geben wie ich das Problem gelöst bekomme?
Danke und Gruß
Volker
Anzeige
AW: Wochenberechnung/Kalenderwoche um eins erhöhen
03.12.2024 10:56:03
Yal
Hallo Volker,

trage in F1
=WENN(A1="Sa";SUMMEWENN($B$1:$B$31;B1;$D$1:$D$31);"")

und ziehe diese Formel bis F31.

Andere lustige Excel-Gimmick:
- füge eine Zeile vor der erste Zeile
- lege darin Überschriften "Wochentag", "Kalenderwoche", "Datum", "Wert2", "Wert2"
- Menü "Einfügen", "Tabelle"
- im Menü "Tabellen-Tool", "mit Pivottable zusammenfassen"
- in Pivot-Assistent rechts, Feld "Wert1" im Quadrant "Wert" ziehen,
- Feld "Kalenderwoche" im Quadrant "Zeilen" ziehen.
Fertig

VG
Yal
Anzeige
AW: Wochenberechnung/Kalenderwoche um eins erhöhen
03.12.2024 10:57:34
Onur
Wozu brauchst du Makros, die nix machen außer eine Formel in eine Zelle zu schreiben? Das ist eigentlich nicht der Sinn von VBA. Zu viel Arbeit, die Formeln selber reinzuschreiben?
Ausserdem sollte das Blatt egal sein, da die "Makros" blattunabhängig sind. Soll heissen, sie schreiben die Formel(n) immer in das aktive Blatt.
Anzeige
AW: Wochenberechnung/Kalenderwoche um eins erhöhen
03.12.2024 11:09:16
Volker
Hallo Onur,
Erstens dieses Blatt ist Bestandteil einer Arbeitsmappe. Zweitens die gesamte Arbeitsmappe wird mit VBA Erstellt. Drittens hier in diesem Forum gab es schonmal jemanden der die Beweggründe der Fragesteller kommentiert hat. Hast du seine Stelle übernommen? Viertens, wenn du keine Lust hast auf Fragen zu antworten, oder deren Gründe sich dir nicht erschließt, dann lass es doch einfach.

Gruß
Volker
Anzeige
AW: Wochenberechnung/Kalenderwoche um eins erhöhen
03.12.2024 11:20:08
Onur
Wenn sowas Jemand macht, der seine Makros selber schreiben kann, ist es ja auch ok - sein Problem.
Aber nicht, wenn das auch noch Andere ausbaden sollen, dann solltest du vielleicht deine "Beweggründe" uns erklären. Dann sehen wir das vielleicht auch eher ein und helfen ggf.
Klar so weit?
AW: Wochenberechnung/Kalenderwoche um eins erhöhen
03.12.2024 11:24:46
RPP63
Ich empfinde Deinen Beitrag als dreist!
Ich habe mir die Datei mal angesehen und als Beispiel mal folgenden Code genommen:
Sub Monatsstunden()

'
' Monatsstunden Makro
'

'
ActiveWindow.SmallScroll Down:=-36
Range("C1:C32").Select
ActiveWindow.SmallScroll Down:=-36
Range("E5").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=SUM(R[-4]C[-2]:R[27]C[-2])"
Range("E6").Select
ActiveWindow.SmallScroll Down:=-6
End Sub

Dies zeigt mir, dass Du von VBA NULL Ahnung hast.
Dies ist ja nicht weiter tragisch, nur solltest Du bei berechtigten Einwänden mal demütig den Ball flach halten!
Anzeige
Mit der Bitte um ein bisschen mehr Besonnenheit...
03.12.2024 12:41:14
Yal
Hallo zusammen,

Volker hat aufgestellt, warum er mit VBA arbeiten möchte: weil die gesamte Blatt (wohl eine Art von Vorlage) mit VBA eingerichtet wird.

Dass die erste Geh-Versuch nicht beseitigt worden sind, sollte man hinwegsehen. Mein erster Blick fand im Codefenster von Userform1 statt und sah noch ordentlich aus:
Private Sub CommandButton1_Click()


Dim i As Integer
For i = 1 To 32
If Cells(i, 1) = ("Sa") Then Cells(i, 6) = "=SUMIF(R[-6]C[-4]:RC[-4],49,R[-6]C[-2]:RC[-2])"
Next i
End Sub
Ja klar, auch nicht berauschend. Aber so hat jeder angefangen.

"man muss zuerst auf dem Boot sein, um es zu lenken"
Wenn die Fragenden keine konstruktive Unterstützung erfahren, werden sie die Ratschläge auch nicht annehmen. Egal wie gut diese sein mögen.

VG
Yal


Anzeige
AW: Wochenberechnung/Kalenderwoche um eins erhöhen
03.12.2024 11:23:39
Volker
Danke Hajo.
AW: Wochenberechnung/Kalenderwoche um eins erhöhen
03.12.2024 11:00:43
Eifeljoi 5
Hallo

Für dein komplettes Vorhaben so wie ich es verstehe benötigst du weder VBA noch Registerformeln, dies ist sehr einfach mit PQ um zusetzen.
Falls Interesse bitte um kurze Mitteilung.
AW: Wochenberechnung/Kalenderwoche um eins erhöhen
03.12.2024 13:37:57
Uduuh
Hallo,
wenn du immer komplette Wochen drin hast, reicht doch SUMME()
If Cells(i, 1) = "Sa" Then Cells(i, 6).FormulaR1C1 = "=sum(r[-6]c[-2]:rc[-2])"

Ansonsten mit SUMMEWENN()
If Cells(i, 1) = "Sa" Then Cells(i, 6).FormulaR1C1 = "=SUMIF(R[-6]C[-4]:RC[-4],rc[-4],R[-6]C[-2]:RC[-2])"


Gruß aus'm Pott
Udo
Anzeige
AW: Wochenberechnung/Kalenderwoche um eins erhöhen
03.12.2024 15:55:42
daniel
Hi
mal unabhängig von der Sinnhaftigkeit:

wenn die KW bei jedem Eintrag erhöht werden soll, dann geht das beispielsweise so:
also als Variable, die dann in den Formltext eingebaut wird.

Private Sub CommandButton1_Click()


Dim i As Integer
Dim KW As Long

KW = 49 'Startwert

For i = 1 To 32
If Cells(i, 1) = ("Sa") Then
Cells(i, 6).FormulaR1C1 = "=SUMIF(R[-6]C[-4]:RC[-4]," & KW & ",R[-6]C[-2]:RC[-2])"
KW = KW + 1
End If
Next i
End Sub


btw du berechnest hier die Kalenderwoche nach amerikanischen Standard.
der entspricht nicht dem deutschen Standard zur Berechnung der Kalenderwoche (in Deutschland beginnt die Kalenderwoche mit Montag nicht mit Sonntag, in Deutschland ist die KW1 die Woche, die den ersten Donnerstag im Jahr enthält)
um mit der Deutschen Kalenderwoche zu arbeiten, müsstest du Kalenderwoche(Datum; 2) bzw Isokalenderwoche(Datum) in den Formeln verwenden.

Gruß Daniel
Anzeige
AW: Wochenberechnung/Kalenderwoche um eins erhöhen
03.12.2024 13:53:48
Onur
Und den Samstag könnte man sogar in die Formel mit einbauen und bräuchte gar kein Makro mehr.
darum geht's ja nicht...
03.12.2024 14:03:59
Uduuh
Hallo,
wenn er das per VBA will, bekommt er auch VBA.
Dass es .auch mit Formeln geht, ist ihm mehrfach gesagt worden.

Davon ab ist mir durchgerutscht, dass der erste Samstag auch in einer Zeile &lt 7 stehen könnte. Deshalb besser mit
If Cells(i, 1) = "Sa" Then Cells(i, 6).FormulaR1C1 = "=SUMIF(R1C[-4]:RC[-4],rc[-4],R1C[-2]:RC[-2])"



Gruß aus'm Pott
Udo
Anzeige
AW: Wochenberechnung/Kalenderwoche um eins erhöhen
03.12.2024 14:02:39
Volker
Hallo, und Danke für deine Antwort,
Das mit der Woche ist ja das Problem. Zur Erklärung: Ich erstelle -per VBA- eine Arbeitsmappe mit einem Blatt pro Tag. 01.01.2025 bis 31.01.2025. Anschließend lasse ich ebenfalls per VBA die Daten der Blätter in ein neues Blatt eintragen. -Blatt Tageswert-. Somit habe ich Die Daten des Monats auf einem Blatt. Jedes Blatt des Monats hat eine eigene zu erfassende Summe (Stundenanzahl) diese Summe wird hinter dem betreffenden Datum in das Blatt Tageswert übernommen. Da aber der Monat bekanntermaßen nicht immer mit einem Montag anfängt bekam ich hier den Tip mit Kalenderwochen zu arbeiten. Funktioniert auch soweit, allerdings muss ich dann trotzdem händisch die KW ändern. Es wäre schön, wenn beim Durchlaufen des Makros die KW im Makro um eins erhöht würden.
Danke für die Mühe
Gruß
Volker
Anzeige
AW: Wochenberechnung/Kalenderwoche um eins erhöhen
03.12.2024 14:16:42
Onur
DAS ist das richtige Makro mit der richtigen Formel:
Private Sub CommandButton1_Click()

Dim i As Integer
For i = 1 To 32
If Cells(i, 1) = ("Sa") Then Cells(i, 6).FormulaR1C1Local = "=SUMMEWENN(Z1S2:Z42S2;ZS2;Z1S4:Z42S4)"
Next i
End Sub

Anzeige
AW: Wochenberechnung/Kalenderwoche um eins erhöhen
03.12.2024 14:24:03
Onur
Und wenn du, wie ich bereits schrieb, den Samstag mit in die Formel einbaust, brauchst du gar kein Makro mehr und kannst sie einfach in F1:F32 runterkopieren.
Guckst du hier:
https://www.herber.de/bbs/user/173958.xlsm
AW: Wochenberechnung/Kalenderwoche um eins erhöhen
03.12.2024 11:21:23
Volker
Danke für die Antwort, aber ich habe schon meine Gründe warum ich das so möchte.
Gruß
Volker
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18