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

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

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

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige