ja, ja doch... ich schon wieder... Hätte da mal gern ein Problem, äh, des Rätsels Lösung!
Die Tage über war wer so gut und hat mir die nachfolgende Prozedur geschrieben:
Option Explicit
Private Sub CommandButton1_Click()
Dim Von As Long, Bis As Long, Zei As Long, Anf As Long, Ende As Long
With Worksheets(1)
Anf = IIf(.Range("A2") = "", .Range("A2").End(xlDown).Row, 2)
Ende = .Range("a" & .Rows.Count).End(xlUp).Row
.Range("C9:C39").ClearContents
.Range("C9:C39").UnMerge
For Zei = Anf To Ende
Next Zei
For Zei = Anf To Ende
Von = Zei
While Month(.Cells(Zei, 1)) = Month(.Cells(Zei + 1, 1)) And Weekday(.Cells(Zei, 1), vbMonday) _
7
Zei = Zei + 1
If Zei > Ende Then Exit For
Wend
.Range("C" & Von & ":C" & Zei).Merge
.Range("C" & Von) = Application.WorksheetFunction.Sum(.Range("G" & Von & ":G" & Zei))
Next Zei
If Zei > Ende Then
.Range("C" & Von & ":C" & Zei - 1).Merge
.Range("C" & Von) = Application.WorksheetFunction.Sum(.Range("G" & Von & ":G" & Zei))
End If
End With
End Sub
Diese bewirkt, das die Zellen z.B. C9:C39 Monat für Monat pro Kalenderwoche verbunden werden. Die zusätzliche Berechnung ist hier eher nebensächlich... Soweit funktioniert diese Routine auch nahezu perfekt. Nuuur...
... orientiert sich diese an den Daten, die in Spalte a eingetragen sind. Also z.B. 01.05.08 in A9, ... 31.05.08 in A39. Leider benötige ich das so nicht. In Spalte B (Zellen B9:B39) stehen die maßgeblichen Wochentage (Mo-So) Daran soll, muß sich die Routine orientieren... (es sollen ja die Zellen der Spalte C verbunden werden, die eine Woche ergeben) Alternativ wäre es ebenso möglich, das Datum des Kalendermonats (z.B. 01.05.08) aus einer immer gleichbleibenden Zelle (z.B. D1) zu entnehmen.
Wäre schon klasse, so das jemand von Euch hinbekommt. Gerade bei einer für mich derart schwierigen Routine seh ich vor lauter Wald die Bäume nicht mehr...
Besten Dank für Eure Mühe.
Gruß
ich, äh Uwe
PS: Hoffenlich hab ich`s wenigstens geschafft, mich einigermaßen verständlich auszudrüchen...