Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1540to1544
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

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

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

332 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige