Hiho @All,
ich habe von einem Arbeitskollegen eine Excel Datei erhalten, in der Formeln in VBA via "FormulaLocal" eingesetzt werden. Da er anscheinend Excel auf deutsch verwendet, ich jedoch auf Englisch, führte das auch gleich #NAME? Einträgen in den entsprechenden Zellen.
Ein Test hat, wie die Doku im Grunde auch schon sagt, meine Vermutung bestätigt:
Zelle.Formula = "=SUM(A1:B2)" funktioniert unabhängig von Excelspracheinstellung.
Zelle.FormulaLocal = "=SUM(A1:B2)" führt zu #NAME?
Rufe ich eine eingetragene Formel aus einer Zelle ab:
Zelle.Formula liefert die Formel auf Englisch
Zelle.FormulaLocal liefert die Formel auf der Excelsprache (d.h. also exakt so, wie die Formel einem mit Klick auf die Zelle auch angezeigt wird.)
Meine Frage wäre nun: Was ist ein Anwendungsfall für FormulaLocal?
Wenn ich mir die Beschreibungen der Funkionen in der Doku oder auf https://www.superexcelvba.com/en/tutorial/024-excel-formulas anschaue, dann ist FormulaLocal einzig und allein eine Beschneidung in der Kompatibilität ohne echten Nutzen. VBA als solches muss doch ohnehin auf Englisch geschrieben werden (oder nicht?), die einzusetzenden Formeln also entsprechend auch auf Englisch einzugeben (um .Formula zu nutzen) erscheint mir jetzt nicht als eine Hürde.
Aber selbst wenn jemand die englischen Zell-Funktionen nicht kennt, kann man diese doch trotzdem mittels
Habe ich einen Anwendungsfall übersehen? Gibt es einen Grund FormulaLocal nicht nur temporär (zum übersetzen wie oben, wobei es auch da alternativen gibt, die ohne FormulaLocal auskommen.), sondern als Endlösung in einem VBA-Skript zu belassen?
Bitte helft mir zu verstehen.
MfG
Bonanca
ich habe von einem Arbeitskollegen eine Excel Datei erhalten, in der Formeln in VBA via "FormulaLocal" eingesetzt werden. Da er anscheinend Excel auf deutsch verwendet, ich jedoch auf Englisch, führte das auch gleich #NAME? Einträgen in den entsprechenden Zellen.
Ein Test hat, wie die Doku im Grunde auch schon sagt, meine Vermutung bestätigt:
Zelle.Formula = "=SUM(A1:B2)" funktioniert unabhängig von Excelspracheinstellung.
Zelle.FormulaLocal = "=SUM(A1:B2)" führt zu #NAME?
Rufe ich eine eingetragene Formel aus einer Zelle ab:
Zelle.Formula liefert die Formel auf Englisch
Zelle.FormulaLocal liefert die Formel auf der Excelsprache (d.h. also exakt so, wie die Formel einem mit Klick auf die Zelle auch angezeigt wird.)
Meine Frage wäre nun: Was ist ein Anwendungsfall für FormulaLocal?
Wenn ich mir die Beschreibungen der Funkionen in der Doku oder auf https://www.superexcelvba.com/en/tutorial/024-excel-formulas anschaue, dann ist FormulaLocal einzig und allein eine Beschneidung in der Kompatibilität ohne echten Nutzen. VBA als solches muss doch ohnehin auf Englisch geschrieben werden (oder nicht?), die einzusetzenden Formeln also entsprechend auch auf Englisch einzugeben (um .Formula zu nutzen) erscheint mir jetzt nicht als eine Hürde.
Aber selbst wenn jemand die englischen Zell-Funktionen nicht kennt, kann man diese doch trotzdem mittels
.FormulaLocal = Formel in Muttersprache
MsgBox .Formula Formel wird auf englisch angezeigt
Programmierer kopiert diese Formel 1:1 in seinen VBA Code und macht aus .FormulaLocal ein .Formula
einbauen und erhält einen VBA-Code, der unabhängig von der Spracheinstellung funktioniert.Habe ich einen Anwendungsfall übersehen? Gibt es einen Grund FormulaLocal nicht nur temporär (zum übersetzen wie oben, wobei es auch da alternativen gibt, die ohne FormulaLocal auskommen.), sondern als Endlösung in einem VBA-Skript zu belassen?
Bitte helft mir zu verstehen.
MfG
Bonanca