Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Variable in einer Formel

Variable in einer Formel
03.11.2015 18:06:41
Wolfgang
Hallo gemeinsam,
ich habe hier ein Problem, bei dem ich nicht weiterkomme.
Per Makro möchte ich eine Formel in die letzte Zelle in Spalte 14 eintragen lassen. Der Makrorekorder hat mir folgendes geliefert:
Cells(Z + k, 14).FormulaR1C1 = "=SUM(R[-1066]C:R[-1]C)"
Die Zeile 1066 kann sich aber zu jeder Zeit ändern.
Während der Laufzeit ermittelt die Variable Zn = Z + k – 1 die letzte Zeile der Summenbildung.
Nun zur Frage: Wie bekomme ich das Ergebnis der Variablen in die Formel?
Danke im Voraus
Wolfgang
aus dem Erzgebirge

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variable in einer Formel
03.11.2015 19:15:45
Luschi
Hallo Wolfgang,
da 'FormulaR1C1' ein String (Textkette) als Formel erwartet, kann man sie auch zusammensetzen:
Cells(Z + k, 14).FormulaR1C1 = "=SUM(R[-" & Zn & "]C:R[-1]C)"
Gruß von Luschi
aus klein-Paris

AW: Variable in einer Formel
03.11.2015 19:18:08
Uduuh
Hallo,
setze die erste Summenzeile fix.
Cells(Z + k, 14).FormulaR1C1 = "=SUM(R2C:R[-1]C)"
summiert ab N$2.
Gruß aus’m Pott
Udo

Anzeige
AW: Variable in einer Formel
03.11.2015 19:49:09
daniel
Hi
kleiner Tip am Rande:
wenn du per VBA Formeln einfügen willst und das mit dem Recorder aufzeichnen willst, dann setze soviele Zellbezüge wie möglich absolut und lasse nur diejenigen relativ, die unbedingt sein müssen.
dann werden in der aufgezeichneten R1C1-Schreibweise die Formeln einfacher und kürzer und in R1C1-kannst du viele Formeln dann direkt beschreiben, ohne Variablen nutzen zu müssen.
falls es trotzdem unvermeidlich ist, Variablen in die Formel einzubringen, dann gibt es hierfür zwei mögichkeiten:
a) Formel aus festen und variablen Bestandteilen mit & zu einem text verketten, das hat dir Luschi gezeigt
b) Variable per Replace in die Formel einbringen.
schreibe hierzu den Formeltext in eine Variable.
füge an der Stelle, an der die eigentliche Variable in den Text muss, eine Dummyzeichenfolge ein, die anderweitg nicht im Formeltext vorkommt (z.B. "xxx")
ersetze dann mit der Replace-Funktion in der Formelvariable den DummyText durch den Variablenwert.
sieht in etwa so aus:
strTBName = "Tabelle99"
strFormel = "=Sum('xxx'!R1C1:R100C1)"
strFormel = Replace(strFormel, "xxx", strTBName)
cells(...).FormulaR1c1 = strFormel
das hat meiner Ansicht nach gebenüber der Verkettenmethode den Vorteil, dass die Gesamtformel ein durchgängiger Text und nicht in Einzelteile zerrissen ist. Somit ist das ganze übersichtlicher und du fndest Fehler schneller.
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

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