Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Summenformel in leere Zeile eintragen

Summenformel in leere Zeile eintragen
Heiner
Hallo zusammen,
ich füge in eine Monatstabelle eine leere Zeile bei Wechsel der KW über folgendes Makro ein:

Sub Leerzeile()
Dim wks1 As Worksheet
Dim i As Long
Dim lastrow As Long
Set wks1 = ActiveWorkbook.ActiveSheet
With wks1
Application.EnableEvents = False
lastrow = IIf(IsEmpty(Cells(Rows.Count, 3)), Cells(Rows.Count, 3).End(xlUp).Row, Rows.Count) '   _
_
_
UsedRange.SpecialCells(xlCellTypeLastCell).Row
For i = lastrow To 6 Step -1
If Cells(i, 3).Value = "" Or Cells(i - 1, 3).Value = "" Then
ElseIf Cells(i, 3).Value  Cells(i - 1, 3).Value Then
Rows(i).Insert
End If
Next i
Application.EnableEvents = True
End With
End Sub
Nun möchte ich in den jeweiligen Leerzeilen in Spalte 3 + 4 die Summe der Werte bis zur nächsten Leerzeile eintragen und in Spalte 5 als Ergebnis Spalte 3/Spalte4 ausgeben.
Kann mir jemand bei der erweiterung des Makros helfen?
Gruß und schönes Wochenende
Heiner
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Summenformel in leere Zeile eintragen
29.10.2011 13:08:48
fcs
Hallo Heiner,
sollte so funktionieren.
Gruß
Franz

Sub Leerzeile()
Dim wks1 As Worksheet
Dim i As Long, ZeileL As Long
Dim lastrow As Long
Set wks1 = ActiveWorkbook.ActiveSheet
With wks1
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
lastrow = IIf(IsEmpty(.Cells(Rows.Count, 3)), .Cells(.Rows.Count, 3).End(xlUp).Row, _
.Rows.Count) ' UsedRange.SpecialCells(xlCellTypeLastCell).Row
ZeileL = lastrow + 1
For i = lastrow To 6 Step -1
If .Cells(i, 3).Value = "" Or .Cells(i - 1, 3).Value = "" Then
ElseIf Cells(i, 3).Value  Cells(i - 1, 3).Value Then
.Rows(i).Insert
.Cells(i, 3).FormulaR1C1 = "=SUM(R[1]C:R[" & ZeileL - i & "]C)"
.Cells(i, 4).FormulaR1C1 = "=SUM(R[1]C:R[" & ZeileL - i & "]C)"
.Cells(i, 5).FormulaR1C1 = "=RC[-2]/RC[-1]"
ZeileL = i
End If
Next i
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
End With
End Sub

Anzeige
AW: Summenformel in leere Zeile eintragen
29.10.2011 18:15:48
Heiner
Hallo Franz,
vielen Dank, klappt soweit super.
Die Leerzeilen werden von unten nach oben eingefügt. Die summen werden durch dein Makro von oben nach unten gebildet. Summe sollte von Leerzeile nach oben bis nächste Leerzeile gebildet werden.
Was muss ich dafür ändern?
Gruß
Heiner
Anzeige
AW: Summenformel in leere Zeile eintragen
29.10.2011 18:28:16
Heiner
Hallo Franz,
noch ein Nachtrag:
Die Summen sollten als Einzelsummen pro Block (leerzeile-leerzeile) gebildet werden.
Hoffe sowas ist überhaupt möglich.
Gruß
Heiner
AW: Summenformel in leere Zeile eintragen
29.10.2011 22:01:03
fcs
Hallo Heiner,
mit der nachfolgenden Variante werden die Summen der Zeilen oberhalb der eingefügten Leerzeilen berechenet.
Falls es nicht dann bitte eine Datei mit ein paar Beispieldaten hochladen zum Testen.
Gruß
Franz

Sub Leerzeile()
Dim wks1 As Worksheet
Dim i As Long, ZeileL As Long
Dim lastrow As Long
Set wks1 = ActiveWorkbook.ActiveSheet
With wks1
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
lastrow = IIf(IsEmpty(.Cells(Rows.Count, 3)), .Cells(.Rows.Count, 3).End(xlUp).Row, _
.Rows.Count) ' UsedRange.SpecialCells(xlCellTypeLastCell).Row
For i = lastrow To 6 Step -1
If .Cells(i, 3).Value = "" Or .Cells(i - 1, 3).Value = "" Then
ElseIf Cells(i, 3).Value  Cells(i - 1, 3).Value Then
.Rows(i).Insert
End If
Next i
lastrow = IIf(IsEmpty(.Cells(Rows.Count, 3)), .Cells(.Rows.Count, 3).End(xlUp).Row, _
.Rows.Count) ' UsedRange.SpecialCells(xlCellTypeLastCell).Row
ZeileL = 5
For i = 6 To lastrow + 1
If .Cells(i, 3).Value = "" Then
.Cells(i, 3).FormulaR1C1 = "=SUM(R[-" & i - ZeileL & "]C:R[-1]C)"
.Cells(i, 4).FormulaR1C1 = "=SUM(R[-" & i - ZeileL & "]C:R[-1]C)"
.Cells(i, 5).FormulaR1C1 = "=RC[-2]/RC[-1]"
ZeileL = i + 1
End If
Next i
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
End With
End Sub

Anzeige
AW: Summenformel in leere Zeile eintragen
30.10.2011 13:48:44
Heiner
Hallo Franz,
klappt SUPER. Vielen Dank für Deine Unterstützung und einen schönen Sonntag
wünscht Dir
Heiner
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige