online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Paul1 vom 18.03.2021, 12:06 Options

Dynamische Formel

Hallo Zusammen,

ich bräuchte mal eure Hilfe.
Also, ich möchte eine Zelle per Makro mit einer Formel befüllen.
Diese Formel enthält einen Zellbezug, den ich über eine Variable verändern möchte.
Mein bisheriger Ansatz:

zielspalte = Sheets("Tabelle1").Cells(18, 25)
Cells(4, ziel).Select (unwichtig)
ActiveCell.FormulaR1C1 = "=Tabelle2!R[7]C[54]"

Nun wollte ich, da die Zeile konstant ist, nur die Spalte mit der Variable "zielspalte" verknüpfen. Leider weiß ich nicht wie und alle meine Versuche scheiterten kläglich...

Vielen Dank für euer Feedback
Grüße
Paul


Antwort schreiben

Antwort 1 von M.O. vom 18.03.2021, 20:10 Options

Hallo Paul,

versuch es mal so:

ziel = Sheets("Tabelle1").Cells(1, 1)
Sheets("Tabelle1").Cells(4, ziel).FormulaR1C1 = "=Tabelle2!R[7]C[54]"


Achte auf die Variablen: du liest "zielspalte" ein und benutzt im folgenden Ausdruck "ziel"

Ich hoffe das ist das, was du wolltest.

Gruß

M.O.

Antwort 2 von Paul1 vom 19.03.2021, 08:30 Options

Hallo M.O.,

ich glaube, ich hab meinen ersten Post etwas verwirrend dargestellt. Erstmal Danke für deine Antwort. Leider hat es mein Problem nicht ganz gelöst. Ich versuchs nochmal.

Also,
zielspalte = Sheets("Tabelle1").Cells(18, 25)
in dieser zelle wird der numerische Wert der Zielspalte ausgegeben. Dies funktionieret soweit.

Cells(4, ziel).Select
Hier wirdn die Zielzelle ausgewählt. Die Variable "ziel" ist auch korrekt. Ich habe sie in diesem Zusammenhang nur nciht näher beschrieben. Also "ziel" ungleich "zielspalte".

ActiveCell.FormulaR1C1 = "=Tabelle2!R[7]C[54]"
Dies ist die Formel, die in der Zielzelle (also bei (4, ziel)) stehe soll, wobei die "Row 7" als konstant angesehen werden soll und nur die "Column 54" veränderbar die die Variable "zielspalte" sein soll.

Ich dachte an sowas wie
ActiveCell.FormulaR1C1 = "=Tabelle2!R[7]C[zielspalte]"
Leider funktioniert das nciht so einfach.

Ich hoffe ich konnte mein Problem deutlich darstellen.
Sorry an dieser Stelle, für meine Verwirrtheit im ersten Post.
An dieser Stelle schon mal Danke.

Grüße
Paul

Antwort 3 von M.O. vom 19.03.2021, 08:57 Options

Hallo Paul,

jetzt ist es klar, was du willst.
So gehts:

ActiveCell.FormulaR1C1 = "=Tabelle2!R[7]C"&zielspalte


Gruß

M.O.

Antwort 4 von Paul1 vom 19.03.2021, 09:10 Options

Hallo M.O.

Danke für deine rasche Antwort.
Dein Ansatz finde ich sehr gut. Habs mittlerweile auch hinbekommen und sogar ohne diese Row und Column Geschichte, bei der man immer soviel rechnen muss.

Ich denke unsere Lösungen ähneln sich sehr ;-)

Hier meine Lösung:

Sheets("Tabelle1").Cells(5, ziel).Value = "='Tabelle 2'!" & zielspalte & "12"

Ist vielleicht nicht die eleganteste Lösung, aber es tut!

In diesem Sinne
Viele Grüße und vielen Dank
Paul

Ähnliche Themen

VBA: dynamische Diagrammquellen
ComoMolo  13.09.2007 - 17 Hits - 3 Antworten

Excel: Formel wird nicht berechnet sondern als Formel angezeigt
awittemann  12.11.2007 - 742 Hits - 6 Antworten

Formel
Crispy87  17.01.2008 - 57 Hits - 1 Antwort

dynamische Listenfeldeintragung
finger59  20.02.2008 - 19 Hits - 5 Antworten

Formel
19martin803830  18.03.2008 - 34 Hits - 3 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 11:26:25 2026