Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
864to868
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
864to868
864to868
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dynamische Summenbildung

Dynamische Summenbildung
24.04.2007 22:39:00
Bernd
Hallo,
besteht innerhalb einer Liste die Möglichkeit einer automatischen Summenbildung? Die Liste ist in Blöcke unterteilt, die jeweils mit einer Summenzeile abschließen. Leider enthalten aber nicht alle Spalten eine Summe, so dass ich derzeit immer manuell die Formel einfügen muss. Ich erhalte diese Liste monatlich. leider enthalten die Blöcke immer unterschiedlich viel Zeilen, die Summenzeile als Trenungsmerkmal zwischen den Blöcken sind jedoch enthalten. Ein Beispiel habe ich beigefügt.
https://www.herber.de/bbs/user/42005.xls
Gruß
Bernd

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dynamische Summenbildung
25.04.2007 00:33:44
Erich
Hallo Bernd,
die folgende Prozedur ergänzt fehlende Formeln in den "Summe ..."-Zeilen,
wenn in der jeweiligen Zeile mindestens eine Formel steht:

Option Explicit
Sub Add_Summen()
Dim intC As Integer, rngF As Range, lngErst As Long, ii As Integer, jj As Integer
intC = Cells(1, Columns.Count).End(xlToLeft).Column
With Range(Cells(2, 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row, 1))
MsgBox .Address
Set rngF = .Find(What:="Summe *", _
LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
If Not rngF Is Nothing Then
lngErst = rngF.Row
Do
For ii = 2 To intC
If rngF.Offset(0, ii - 1).HasFormula Then
rngF.Offset(0, ii - 1).Copy
Exit For
End If
Next ii
If ii > intC Then
MsgBox "In der Summenzeile " & rngF.Row & " steht keine Formel."
Else
For jj = 2 To intC
If Not rngF.Offset(0, jj - 1).HasFormula Then _
rngF.Offset(0, jj - 1).PasteSpecial Paste:=xlPasteFormulas, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Next jj
End If
Set rngF = .FindNext(rngF)
Loop While Not rngF Is Nothing And rngF.Row  lngErst
Application.CutCopyMode = False
End If
End With
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Dynamische Summenbildung
25.04.2007 00:47:43
Bernd
Hallo Erich,
danke für die Hilfe. Leider enthalten die Summenzeilen nur Summenwerte und keine Formeln!
Viele Grüße
Bernd

AW: Dynamische Summenbildung
25.04.2007 01:13:00
Daniel
Hallo
wenn deine Tabelle so wie gezeigt aussieht, keine Leerzeilen enthält und die Summenzeile immer mit dem Wort "Summe" anfängt, kannst du mit diesem Code die Summen ergänzen:

Sub Summen_einfügen()
Dim i As Long, j As Long
Dim Spalten As Long
Spalten = Cells(1, 256).End(xlToLeft).Column - 1
i = 2
j = 2
Do Until Cells(i, 1) = ""
If Cells(i, 1) Like "Summe*" Then
Cells(i, 2).Resize(1, Spalten).FormulaR1C1 = "=sum(r" & i - 1 & "C:R" & j & "C)"
j = i + 1
End If
i = i + 1
Loop
End Sub


Gruß, Daniel

Anzeige
AW: Dynamische Summenbildung
26.04.2007 23:49:00
Bernd
Hallo Daniel,
besten Dank!
Gruß
Bernd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige