92 Aufrufe
Gefragt in Tabellenkalkulation von _bri Mitglied (437 Punkte)

https://supportnet.de/forum/?qa=blob&qa_blobid=12605574561135737918

Hallo, ich bräuchte bitte Hilfe, wie schaffe ich es, dass in C9 gesamt Stunden die volle Summe ab B12 steht?

Wenn ich Datum/Stunden eingebe und auf buchen drücke, zählt die Formel in C9 immer nur ab den ersten Datensatz.

Was mach ich falsch? Kann mir jemand helfen.

Lieben Gruß

1 Antwort

0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)

Hallo Bri,

wenn ich deine Datei öffne, dann steht in C9 die folgende Formel:

=SUMME(B15:B41)

Da ist die Formel schon falsch. Die Formel müsste ja

=SUMME(B12:B41)

Wenn du mit dem Makro die Summe anpassen willst, dann kannst du das wie folgt lösen:

Sub buchen()
Dim lngZeile As Long

'neue Einfügezeile ermitteln
'dazu letzte beschrieben Zeile in Spalte A ermitteln und um 1 erhöhen
lngZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1

'Daten aus B5 und B6 in neue Zeile kopieren
Range("A" & lngZeile) = Range("B5").Value
Range("B" & lngZeile) = Range("B6").Value
Range("B" & lngZeile).NumberFormat = "0.00 ""h"""  'neue Zeile Zahl formatieren

'Inhalt von B5 und B6 löschen
Range("B5:B6").ClearContents

'Summenformel in C9 schreiben
Range("C9").FormulaLocal = "=Summe(B12:B" & lngZeile & ")"

End Sub

Nutze das Makro anstatt deines Makros Aushilfskraft. Hier werden die Datensätze immer am Ende der Liste eingefügt.

Sollen die Daten vorne eingefügt werden, dann kannst du das z.B. so lösen:

Sub vorne()
Dim lngZeile As Long

'Eine neue Zeile in Zeile 12 einfügen
Rows("12").Insert

'Daten aus B5 und B6 in neue Zeile kopieren
Range("A12") = Range("B5").Value
Range("B12") = Range("B6").Value
Range("B12").NumberFormat = "0.00 ""h"""  'neue Zeile Zahl formatieren
Range("A12:B12").Font.Bold = False            'nicht Fett formatieren

'letzte beschrieben Zeile in Spalte A ermitteln
lngZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row

'Summenformel in C9 schreiben
Range("C9").FormulaLocal = "=Summe(B13:B" & lngZeile & ")"

'Inhalt von B5 und B6 löschen
Range("B5:B6").ClearContents

End Sub

Gruß

M.O.

...