Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1816to1820
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
Inhaltsverzeichnis

Summenbezug anpassen

Summenbezug anpassen
12.03.2021 21:08:52
Simon
Hallo zusammen,
ich hatte mein Anliegen schonmal geschildert, allerdings etwas umfangreich (war wohl abschreckend), daher hier nochmal kürzer:
Ich füge in meinem Dokument per Knopfdruck einzelne Zeilenblöcke untereinander an. Dabei soll alle X Blöcke eine Überschrift dazwischenkommen. Somit habe ich keine Blöcke von einheitlicher Größe, sondern immer unterschiedliche. Das wirft das Problem auf, dass die Summe in Spalte "J" (siehe angehängte Datei), die sich aus den Zellen der Spalte "I" des Blocks berechnet, bei unterschiedlich großen Zellblöcken immer einen falschen Bezugsbereich hat.
Ich suche daher eine Möglichkeit, wie ich den Bereich der Summe in "J" verändern kann, müsste dafür aber zunächst herausfinden, welcher Bereich überhaupt abzudecken ist.
Ich habe das Problem mal in einer Datei dargestellt (Beachte die Tabellenblätter):
https://www.herber.de/bbs/user/144702.xlsm
Ich hoffe, jemand kann mir helfen oder zumindest einen Tipp geben, wie ich das Problem angehen könnte. Schonmal vielen Dank!
Simon

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Summenbezug anpassen
12.03.2021 22:03:12
Yal
Hallo Simon,
"Gebt mir einen festen Punkt im All, und ich werde die Welt aus den Angeln heben." Archimedes 200 v.c.
So gilt auch für Automatisierung: entdecke, wo die feste Punkt sind. Spricht: was sind die Regel, die dazu führen, dass wir diese "Stelle" als Referenz-Punkten nehmen können.
Dann kannst Du alles erreichen.
In deinem Beispiel sind es in Spalte I bestimmte Zelle mit einem wiederkehrenden Beschriftung.
Der Bereich fängt immer direkt unter die eine und endet immer 2 Zeilen vor dem nächsten.
Suche in den Vorgehensweise, die Du automatisieren möchte, wo die "Immer" zu finden sind.
VG
Yal

Anzeige
AW: Summenbezug anpassen
13.03.2021 12:52:40
Simon
Hallo Yal,
ich konnte jetzt folgenden Code zusammenschustern. Dieser macht auch ungefähr das, was ich will, allerdings schreibt er, anstelle einer klassischen Excelsumme (=Sum("X":"Y")) nur den Summenwert selbst hin. Bei der Frage, wie das zu ändern ist, stehe ich aber auf dem Schlauch.
Sub PLFinden()
Dim strString As String, rngCell As Range
strString = "P/L"
Set rngCell = Columns(9).Find(strString, LookAt:=xlWhole, LookIn:=xlValues, SearchOrder:= _
xlByRows, SearchDirection:=xlPrevious, MatchCase:=True)
If Not rngCell Is Nothing Then
MsgBox rngCell.Row
Else
MsgBox "war nicht dabei"
End If
Dim last2 As Long
last2 = ActiveSheet.Cells(Rows.Count, 8).End(xlUp).Row
With ActiveSheet
.Range(.Cells(last2, "J"), Cells(last2, "J")).Value = WorksheetFunction.Sum(ActiveSheet.Range(. _
Cells(rngCell.Row, "I"), Cells(last2, "I")))
.Range(.Cells(last2 - 1, 10), .Cells(last2 - 1, 10)).Clear
End With
End Sub
Ich habe mir etwas in diese Richtung vorgestellt und habe das Gefühl, dass man nur noch Kleinigkeiten ändern müsste:
.Range(.Cells(last2, "J"), Cells(last2, "J")).Value = "=Sum(.Range(.Cells(rngCell.Row, "I"), Cells(last2, "I")))"
Gibt es eine Möglichkeit, das zu ändern?
Gruß Simon

Anzeige
AW: Summenbezug anpassen
13.03.2021 12:15:37
Herbert_Grom
Hallo Simon,
- wo sind die Blöcke, die du kopieren willst?
- wovon hängt es ab, wie viele Blöcke du kopieren willst?
- wo gibst du Excel bekannt, wie viele Blöcke du kopieren willst?
Servus

AW: Summenbezug anpassen
13.03.2021 12:48:02
Simon
Hallo,
- wo sind die Blöcke, die du kopieren willst?
Ich kopiere immer den oberen Block, der aus zwei Zeilen besteht.
- wovon hängt es ab, wie viele Blöcke du kopieren willst?
Das hängt davon ab, wie oft ich manuell (per Knopfdruck) einen solchen 2-Zeilen-Block hinzufüge.
In meiner Beispieldatei funktioniert das kopieren auch einwandfrei. Mir geht es jedoch darum, eine Summe auszurechnen.
Mit dem folgenden Code habe ich das auch hinbekommen, allerdings nicht genau so, wie ich das wollte.
Sub PLFinden()
Dim strString As String, rngCell As Range
strString = "P/L"
Set rngCell = Columns(9).Find(strString, LookAt:=xlWhole, LookIn:=xlValues, SearchOrder:= _
xlByRows, SearchDirection:=xlPrevious, MatchCase:=True)
If Not rngCell Is Nothing Then
MsgBox rngCell.Row
Else
MsgBox "war nicht dabei"
End If
Dim last2 As Long
last2 = ActiveSheet.Cells(Rows.Count, 8).End(xlUp).Row
With ActiveSheet
.Range(.Cells(last2, "J"), Cells(last2, "J")).Value = WorksheetFunction.Sum(ActiveSheet.Range(. _
Cells(rngCell.Row, "I"), Cells(last2, "I")))
.Range(.Cells(last2 - 1, 10), .Cells(last2 - 1, 10)).Clear
End With
End Sub
Das Ergebnis ist zwar auch eine Summe über den richtigen Bereich und in der richtigen Zelle. Allerdings stelle ich mir eine klassische Excelsumme vor, die sich auch updatet, wenn sich ein Wert verändert.
Also in meinem Beispiel irgendwie sowas
.Range(.Cells(last2, "J"), Cells(last2, "J")).Value = "=Sum(.Range(.Cells(rngCell.Row, "I"), Cells(last2, "I")))"
Ist das möglich?
Gruß Simon

Anzeige
AW: Summenbezug anpassen
13.03.2021 14:16:39
Simon
Hallo Herbert,
vielen Dank für deine Mühen! Der Code funktioniert einwandfrei. Und nochmals Entschuldigung für den zweiten Thread.
Gruß Simon

AW: Gerne geschehen und danke für die Rückmeldung!
13.03.2021 17:26:45
Herbert_Grom
,,,

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige