Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Auf Zellen in Summenformel zugreifen

Auf Zellen in Summenformel zugreifen
22.02.2017 16:34:32
KleoColt
Hallo in die Runde,
ich habe folgendes Problem und absolut keine Ahnung, wie ich das angehen soll.
Ich habe in einer Tabelle in Spalte X in der Zelle X8 folgende Formel stehen:
=SUMME(X9;X10;X11;X12;X13;X14;X15;X16;X17;X18;X19;X20;X21;X76;X110;X125;X135;X152;X155;X158)
Soweit so einfach. Jetzt würde ich gerne, dass in allen Zellen, die in der Summenformel stehen, die Formel aus der jeweils gleichen Zeile aus Spalte J kopiert wird.
Der Grund das nicht einfach selber zu machen ist der, dass in der Summenformel immer wieder andere Zeilen aus Spalte X summiert werden.
Falls ich mich bis hierhin kryptisch ausgedrückt habe, ich meine, dass dann in X9 die Formel aus J9 steht, in X10 die Formel aus J10 usw...
Ist sowas überhaupt automatisiert (mit einem Makro) möglich?
Gruß,
KleoColt
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Auf Zellen in Summenformel zugreifen
22.02.2017 17:00:46
Der
Hallo,
die Formel kannst du auch so kürzen:
=SUMME(X9:X21;X76;X110;X125;X135;X152;X155;X158)

Ansonsten verstehe ich nur Bahnhof. Was steht denn für eine Formel in J9, J10 etc.?
Auf Zellen in Summenformel zugreifen
22.02.2017 17:13:36
Michael
Hi,
das geht so:
Sub aufrufen()
machs "X8", -14
End Sub
Sub machs(bereich$, spOff&)
Dim b$, p&, f
b = Range(bereich).FormulaLocal
p = InStr(b, "(")
b = Mid(b, p + 1, Len(b) - p - 1)
' MsgBox b
f = Split(b, ";")
For p = 0 To UBound(f)
b = Range(f(p)).Offset(, spOff).FormulaLocal
Range(f(p)).FormulaLocal = b
Next
End Sub

Beim Aufruf machs "X8", -14 ist "X8" die Adresse, in der die Formel steht und -14 der Offset nach links (weil negativ) zur Spalte J.
Schöne Grüße,
Michael
Anzeige
AW: Auf Zellen in Summenformel zugreifen
22.02.2017 18:01:14
KleoColt
Hallo,
vielen Dank für die Hilfe, Michael hat genau die Lösung für mein Problem.
Gruß,
KleoColt
gern geschehen und Hinweis
23.02.2017 17:43:38
Michael
Hi KleoColt,
mit einer minimalen Änderung läßt sich die Funktion erweitern:
Sub machs(bereich$, spOff&)
Dim b, p&, f   ' hier das $ nach dem b weg, dann ist b ein Variant
b = Range(bereich).FormulaLocal
p = InStr(b, "(")
b = Mid(b, p + 1, Len(b) - p - 1)
MsgBox b
f = Split(b, ";")
For p = 0 To UBound(f)
b = Range(f(p)).Offset(, spOff).FormulaLocal
Range(f(p)).FormulaLocal = b
Next
End Sub

Mit b als Variant (statt als String: $ heißt so viel wie as String) läßt sich das Makro auch für Formeln verwenden, in denen nicht nur einzelne Zellen, sondern auch Bereiche stehen, also etwa in B8:
=SUMME(X2:X3;X9;X10;X11;X12;X13;X14;X15;X16;X17;X18;X19;X20)
Gruß,
Michael
Anzeige
AW: Auf Zellen in Summenformel zugreifen
22.02.2017 17:16:42
ChrisL
Hi
Klar kann man eine Formel kopieren.
Range("B1").Formula = Range("A1").Formula
... oder die ganze Zelle samt Formatierung ...
Range("A1").Copy Range("B1")
Das Vorgehen, auch wenn wir das eigentliche Vorhaben nicht kennen (Beispieldatei schadet nie), scheint mir recht unkonventionell. Ich vermute es geht in die Richtung SUMMEWENN(). Vielleicht vorher die Zeilen "kategorisieren".
Oder du übernimmst anstelle der Formel nur das Ergebnis. Die Spaltennummer als Variable in eine Zelle und dann z.B. mit INDEX() darauf zugreifen.
cu
Chris
Anzeige

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