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

Forumthread: aufgezeichnete Formel mit Konstanten ergänzen

aufgezeichnete Formel mit Konstanten ergänzen
19.05.2009 08:25:46
Laura
Guten Morgen,
leider bräuchte ich schon wieder Eure Hilfe.
Mittels einer Schleife möchte ich ein Datenblatt vervollständigen. Die Formeln in Spalte J sollen eine Abweichung in Euro ausrechnen.
Ich habe per Makrorekorder folgende Formel aufgezeichnet, die auch tadellos funktioniert:
Cells(intI, 10).FormulaR1C1 = _
"=ROUND(IF(RC[-4]>0,(RC[-1]*12.3/1000),(RC[-1]*20.5/1000)),2)"~f~
In Excel sieht diese dann z.B. wie folgt aus (Beispiel aus Zeile 1):
~f~=RUNDEN(WENN(F1>0;(I1*12,3/1000);(I1*20,5/1000));2)~f~
Die 12,30 und die 20,50 habe ich in den Konstanten"PreisReduziert" und "PreisVoll", da sich diese evtl. einmal ändern und ich so nur die für mich übersichtlicheren Konstanten anfassen muss.
Jetzt würde ich diese Konstanten gerne in die Formel einbauen.
So funktioniert es aber leider nicht (Laufzeitfehler '1004': Anwendungs- od. objektdef. Fehler):
~f~Cells(intI, 10).FormulaR1C1 = _
"=ROUND(IF(RC[-4]>0,(RC[-1]*" & PreisReduziert & "/1000),(RC[-1]*" & PreisVoll & "/1000)),2)"
Was mache ich falsch? Wie muss die Formel korrekt lauten?
Vielen Dank im Voraus und viele Grüße,
Laura
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: aufgezeichnete Formel mit Konstanten ergänzen
19.05.2009 08:50:16
Tino
Hallo,
füge die Werte als String ein und achte auf den Punkt als Dezimaltrennzeichen.
Dim LRow As Long
Const PreisReduziert As String = "12.5"
Const PreisVoll As String = "20.5"

LRow = 1
Cells(LRow, 10).FormulaR1C1 = _
"=ROUND(IF(RC[-4]>0,(RC[-1]*" & PreisReduziert & "/1000),(RC[-1]*" & PreisVoll & "/1000)),2)"


Gruß Tino

Anzeige
AW: aufgezeichnete Formel mit Konstanten ergänzen
19.05.2009 09:10:21
Laura
Hallo Tino,
super, ich Danke Dir!
Muß man generell Variablen / Konstanten, die man in Formeln verwenden möchte, als String deklarieren?
Viele Grüße,
Laura
AW: aufgezeichnete Formel mit Konstanten ergänzen
19.05.2009 09:47:36
Tino
Hallo,
nicht Grundsätzlich, kommt auf Deine Excel Version an (deutsch o. englisch)
Im deutschen Excel wird bei einer Variablen vom Typ Double oder Single (also mit Nachkommastellen) mit dem Komma als Dezimalseparator gearbeitet.
Im VBA kann Excel damit umgehen aber bei Übergabe an diversen Funktionen wurde dies wahrscheinlich von MS nicht berücksichtigt und Excel wandelt dieses Komma in ein Semikolon um, dies wiederum ergibt den Fehler in der Funktion weil die Syntax der Formel nicht mehr stimmt.
VBA rechnet aber Grundsätzlich mit dem Punkt und im deutschen Excel muss man eben zu diesem Trick greifen und das Komma durch einen Punkt ersetzen, dies geht am einfachsten in einem String.
Ich hoffe dies ist einigermaßen verständlich rübergekommen.
Gruß Tino
Anzeige
AW: aufgezeichnete Formel mit Konstanten ergänzen
19.05.2009 09:48:47
Laura
Hallo,
ja, vielen Dank. Wieder was gelernt!
Viele Grüße,
Laura
;

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