Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
424to428
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
424to428
424to428
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Vriabler Parameter für Summen per Makro

Vriabler Parameter für Summen per Makro
Daniel
Hallo!
Ich würde gerne eine Summe über n- Zeilen der Spalte C (ab C3) im Blatt "Calc" berechnen. Die Ergebnisse sollen im Blatt "Benchmarks" in Spalte A (ab A2) aufgelistet werden. Die Rechnung soll dabei für jede weitere Zeile der Spalte C im Blatt "Calc" weiter rolliert werden. Mir fällt im Moment nicht ein, wie ich das besser beschreiben soll; deshalb ein Beispiel:
Wenn ich die Summe über 10 Zellen möchte:
SUMME(C3:C12). Für die nächste Zeile dann: SUMME(C4:C13) usw.
Nun soll natürlich nur so lange gerechnet werden, bis die letzte gefüllte Zeile in Spalte C erreicht ist. Puh. Hoffe das ist zu verstehen.
Dabei soll die Länge dieser Summe variabel sein.
Diese Variable würde ich gerne separat in einer Zelle eingeben um anschließend per Knopfdruck das Makro auszuführen.
Ist das Alles möglich?
Daniel

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Variabler Parameter für Summen per Makro
Christoph
Hi Daniel,
deine Variable steht in A1:
dann so:
Gruß
Christoph
('ne Rückmeldung wäre nett)
Option Explicit

Sub Summe()
Dim i%, k%, IntCnt%, LRow%
IntCnt = Range("A1").Value
With Sheets("Calc")
LRow = .Cells(Rows.Count, 3).End(xlUp).Row
IntCnt = .Range("A1").Value
For i = 3 To LRow - IntCnt + 1
k = k + 1
Sheets("Benchmarks").Cells(k, 1) = _
Application.Sum(.Range(Cells(i, 3), Cells(i + IntCnt - 1, 3)))
Next i
End With
End Sub

AW: Variabler Parameter für Summen per Makro
05.05.2004 20:49:36
Daniel
Hallo Christoph,
es funktioniert noch nicht.
Die beiden Zeilen
Sheets("Benchmarks").Cells(k, 1) = _
Application.Sum(.Range(Cells(i, 3), Cells(i + IntCnt - 1, 3)))
werden gelb markiert.
Ist es möglich das Feld für die Variable ins Sheet "Steuerung" zu verlegen?
Danke!
Daniel
Anzeige
Fehler gefunden
05.05.2004 21:05:33
Daniel
Hallo Chrsitoph!
Ich habe den Fehler gefunden und behoben.
Der Wunsch, den ich noch habe:
Die Ergebnisse sollen nicht gleich in A1 eingetragen werden,
sondern um n + 2 (Variable) nach unten vsersetzt.
Also bei 10 darf es erst in Zeile 12 losgehen.
Vielen Dank!
Daniel
P.S.: Im Anderen Posting steht auch noch ein kleiner Wunsch.
Geht doch nicht!
05.05.2004 22:42:19
Daniel
Hallo!
Es ging anscheinend nur 1 Mal.
Komisch. Bitte dann alle Psotings beachten.
Danke,
Daniel
AW: Geht doch nicht!
06.05.2004 07:40:06
Christoph
Hi Daniel,
das sind ja gleich 3 Wünsche auf einmal...
wenn du jetzt noch die alten Werte zuvor löschen willst, dann füge noch:
Sheets("Benchmarks").Columns(1).ClearContents
vor:
With Sheets("Calc")
ein
Gruß
Christoph
('ne Rückmeldung wäre nett)
Option Explicit

Sub Summe()
Dim i%, k%, IntCnt%, LRow%
IntCnt = Sheets("Steuerung").Range("A1").Value
With Sheets("Calc")
LRow = .Cells(Rows.Count, 3).End(xlUp).Row
For i = 3 To LRow - IntCnt + 1
k = k + 1
Sheets("Benchmarks").Cells(IntCnt + k + 1, 1) = _
Application.Sum(.Range("C" & i & ":C" & i + IntCnt - 1))
Next i
End With
End Sub

Anzeige
AW: Geht doch nicht!
06.05.2004 17:37:39
Daniel
Hallo Christoph.
Vielen Dank. Es scheint zu funktionieren.
Super. Schönen Tag!
Daniel
Zum Verständnis
06.05.2004 17:50:46
Daniel
Hi!
Ich habe doch noch eine Frage zum eigenen Verständnis.
Wenn ich die Berechnung nun nicht in Spalte A haben möchte, sondern in Spalte B.
Was muss ich dann verändern?
Danke für Erklärungen!
Daniel
Danke für die Rückmeldung
07.05.2004 09:14:48
Christoph
Hi Daniel,
in:
Sheets("Benchmarks").Cells(IntCnt + k + 1, 1)
ist die Zahl nach dem Komma "..., 1)" die Spaltennummer, also für Spalte B hier eine 2 eintragen.
Gruß
Christoph

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige