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

Übersetzen FormulaLocal zu Formula

Übersetzen FormulaLocal zu Formula
24.01.2020 12:18:39
Leonie
Hallo zusammen,
ich bräuchte nochmal eure Hilfe!
Da mir nicht bewusst war, dass mit FormulaLocal Probleme bei der englischen Excel-Version auftreten, muss ich meinen gesamten Code jetzt auf Formula und Englisch umstellen. Bei den meisten Formeln hat das auch einwandfrei geklappt, nur bei einigen treten Fehler auf, die ich nicht verstehe und daher auch nicht beheben kann:
xx.FormulaLocal = "=-" & Chr(64 + 3) & 5 + 3 * number & "*" & rate ---> funktioniert
xx.Formula = "=-" & Chr(64 + 3) & 5 + 3 * number & "*" & rate ---> funktioniert nicht
xx.FormulaLocal = "=" & Chr(64 + 3 + t) & 5 + number(l) + 4 & "/(1+" & zins & ")" ---> funktioniert
xx.Formula = "=" & Chr(64 + 3 + t) & 5 + number(l) + 4 & "/(1+" & zins & ")" ---> funktioniert nicht
~f~
Liegt das an dem Chr? Aber das funktioniert in anderen Formeln....
Außerdem habe ich noch folgende Formel:
~f~
.FormulaLocal = "=-NBW(" & discount_rate & ";ZH_" & number - i + 1 & "!D" & row & ":$CE$" & row & ")" --->funktioniert
.Formula = "=-NPV(" & discount_rate & ",ZH_" & number - i + 1 & "!D" & row & ":$CE$" & row & ")" ~f~ --->gibt keinen Fehler aus, aber die Formel in der Excel-Zelle sieht so aus:
~f~
=-NBW(0;8;ZH_1!E9:$CE$9)
d.h. der Zins (discount_rate = 8%) wird falsch dargestellt als 0;8 statt 0,08. Muss ich die Eingabewerte dann auch im englischen Format eingeben?
Wäre super wenn mir jemand helfen kann :)

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
das mit Chr() solltest du ...
24.01.2020 12:32:48
Rudi
Hallo,
...schleunigst vergessen und dich mit der R1C1-Schreibweise vertraut machen.
z.B.
xx.FormulaR1C1="=-R" & 5+3*number &"C3" &"*" &rate
Gruß
Rudi
AW: das mit Chr() solltest du ...
24.01.2020 13:05:24
Leonie
Hallo Rudi,
vielen Dank für deine schnelle Antwort.
Wenn ich das richtig verstehe, muss dieser R1C1-Style in Excel aktiviert werden (jedenfalls bekomme ich so wieder eine Fehlermeldung).
Muss ich dann mein gesamtes Programm von A1 auf R1C1 umschreiben?
Dazu fehlt mir gerade leider die Zeit, gibt es also auch eine Möglichkeit, die Formeln auch mit Chr ans laufen zu bringen?
Aber auf jeden Fall ein guter Hinweis, bei den nächsten Programmen werde ich den R1C1-Style verwenden!
Anzeige
R1C1 ...
24.01.2020 13:37:02
lupo1
... (zu dt. Z1S1) KANN in Excel gewählt werden, hat aber keinen Einfluss auf VBA.
In VBA adressiert man standardmäßig R1C1. Daher bedarf es keines angehängten .FormulaR1C1; das läuft auch ohne so.
AW: Übersetzen FormulaLocal zu Formula
24.01.2020 14:45:01
Daniel
Hi
dein Problem ist hier folgendes:
bei FormulaLocal muss der Formeltext in landestypischer Schreibweise angegeben werden, dh bei dir wahrscheinlich in Deutsch, dh bei Dezimalzahlen brauchst du das KOMMA als Dezimaltrenner
bei .Formula muss die Formel jedoch immer im Englisch geschrieben werden, dh du brauchst den PUNKT als Dezimalzeichen.
wenn Number oder Rate jetzt Kommazahlen sind, müssen diese erst in Text gewandelt werden, damit sie zum dem Textstring für den Formeltext hinzugefügt werden können. Die automatische Typumwandlung, die dann zum Einsatz kommt, orientiert sich auch an der Ländereinstellung, dh du bekommst das Komma.
bei .Formula wird das komma jedoch als Parametertrennzeichen verwendet und somit bekommst du einen fehlerhaften Formeltext.
dh wenn du .Formula verwenden willst, müsstest du das & Zins & durch & Replace(CStr(Zins), ",", ".") & ersetzen.
nochmal Zusammengefasst:
.FormulaLocal heißt
- deutsche Funktionsnamen
- Semikolon als Parametertrennzeichen
- Komma als Dezimalzeichen
.Formula heißt
- englische Funktionsnamen
- Komma als Parametertrennzeichen
- Punkt als Dezimalzeichen
die ersten zwei Punkte sind bei deiner reinen Berechnungsformel nicht relevant, aber beim dritten musst du aufpassen.
das angesprochene R1C1 würde dir das Leben wahrscheinlich leichter machen, weil du die Spalten direkt als Zahl angeben könntest und so die Umwandlung in Buchstaben entfallen kann, aber sie ist nicht Ursache für dein Problem. Das kommt hier von den Dezimalzahlen.
Gruß Daniel
Anzeige
AW: Übersetzen FormulaLocal zu Formula
24.01.2020 15:50:14
Leonie
Hallo Daniel,
danke für deinen Input und die tolle Erklärung dazu!
Deine Lösung funktioniert einwandfrei und löst mein Problem :)
Herzlichen Dank!!!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige