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

Code für verschiedene Spracheinstellungen kompatibel machen

Forumthread: Code für verschiedene Spracheinstellungen kompatibel machen

Code für verschiedene Spracheinstellungen kompatibel machen
19.05.2025 12:30:02
thepinky
Hallo zusammen,

wie könnte ich folgende Codezeilen für verschiedene Spracheinstellung kompatibel machen. (deutsch, englisch, polnisch)
Aktuell habe ich das ganze mehr oder weniger "hard coded".



' Für polnische Excel Version

.Cells(p_aktuelleZeile, 7).FormulaLocal = "=JEZELI(F" & p_aktuelleZeile & " = """"; """"; JEZELI(CZY.LICZBA(F" & p_aktuelleZeile & "); F" & p_aktuelleZeile & " + 90; ""Brak daty""))"


' Für deutsche Excel Version
'.Cells(p_aktuelleZeile, 7).FormulaLocal = "=WENN(F" & p_aktuelleZeile & " = """"; """"; WENN(ISTZAHL(F" & p_aktuelleZeile & "); F" & p_aktuelleZeile & " + 90; ""Kein Datum""))"
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code für verschiedene Spracheinstellungen kompatibel machen
19.05.2025 12:53:24
Kuwer
Hallo,

.Cells(p_aktuelleZeile, 7).Formula = "=IF(F" & p_aktuelleZeile & " = """", """", IF(ISNUMBER(F" & p_aktuelleZeile & "), F" & p_aktuelleZeile & " + 90, ""Kein Datum""))"

Gruß, Uwe
AW: Code für verschiedene Spracheinstellungen kompatibel machen
19.05.2025 12:56:48
daniel
Hi
für das gezeigte Codebeispiel:

verwende .Formula statt .FormulaLocal, dabei muss dann die Formel in englischer Schreibweise geschrieben werden, dh. englische Funktionsnamen, Komma als Parametertrennzeichen, Punkt als Dezimalzeichen für Zahlen.

dann sollte das Schreiben der Formeln in jeder Länderversion ohne weitere Anpassung korrekt funktionieren.

die Englische Schreibweise kanns du dir im Bedarfsfall einfach ermitteln.
entweder das schreiben der Formel mit dem Makrorecorder aufzeichnen, oder wenn du die Formeln schon hast, die Zelle markieren und im Direktfenster den Befehl eingeben:
?Selection.Formula

problematisch könnten dann höchsten noch Formeln werden, die länderspezifische Texte als Parameter verwenden (TEXT, INDIREKT)

und noch ein persönlicher Tipp von mir:
verwende für das Schreiben von Formeln in VBA die Schreibweise .FormulaR1C1
in dieser kannst du die relativen Zellbezüge auch relativ beschreiben und somit entfällt dann häufig die Notwendigkeit, eine fortlaufende Zeilen- oder Spaltennummer als Variable einzubinden:

in deinem Fall würde aus:
 .Cells(p_aktuelleZeile, 7).FormulaLocal = "=JEZELI(F" & p_aktuelleZeile & " = """"; """"; JEZELI(CZY.LICZBA(F" & p_aktuelleZeile & "); F" & p_aktuelleZeile & " + 90; ""Brak daty""))"

dann dashier, wobei ich allerdings statt der Polnischen Bezeichnungen die deutschen für die Adressen verwendet habe, dh das ZS müsstest du dir noch ins polnische Übersetzen (im Englischen RC), das Z steht für Zeile und das S steht für Spalte. Danach folgt die jeweilige Zeilennummer. Wenn die Zeilennummer fehlt, dann bedeutet das, dass die Referenz auf die selbe Zeile geht, in welcher die Formel steht.
 .Cells(p_aktuelleZeile, 7).FormulaR1C1Local = "=JEZELI(ZS6 = """"; """"; JEZELI(CZY.LICZBA(ZS6); ZS6+ 90; ""Brak daty""))"


Gruß Daniel

Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18