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

Abfragen, welche Excel Sprachversion läuft

Forumthread: Abfragen, welche Excel Sprachversion läuft

Abfragen, welche Excel Sprachversion läuft
12.07.2007 18:23:51
Peter
Guten Abend
Ein paar wenige Formeln sind sprachabhängig, z.B. Z1S1 für deutsch und R1C1 für englisch.
Kann ich abfragen
a) ohne VBA
b) mit VBA
in welcher Umgebung gearbeitet wird, damit dann die sprachabhängigen Besonderheiten in Formeln abgefangen werden können?
Danke für eine Rückmeldung.
Peter

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Abfragen, welche Excel Sprachversion läuft
12.07.2007 18:43:47
MichaV
Hallo,
benutze z.B. sprachunabhängige Formeln. Siehe dazu Unterschied von .Formula und .FormulaLocal
Sonst kommst Du ggf. in Konflikt mit französichen, norwegischen, schwedischen... Excel- Versionen.
Gruß- Micha
PS: Rückmeldung wäre nett.

AW: Abfragen, welche Excel Sprachversion läuft
12.07.2007 18:49:55
Peter
Hallo Micha
Ich habe beispielsweise folgende Formel:
=(INDIREKT("G"&ZEILE()-1)>G8)*(G8<>"")
Diese fällt mir gerade nicht ein, wie ich diese sprachunabhängig machen könnte. Hast du eine Idee?
Danke, Peter

Anzeige
AW: Abfragen, welche Excel Sprachversion läuft
12.07.2007 19:21:00
MichaV
Hallo,
diese Formel IST sprachenunabhängig. Wenn Du diese Formel in ein deutsches Excel eingibst und die Mappe dann in einem englischen Excel öffnest, sollte dann die entsprechende englische Formel stehen (=(INDIRECT("G"&ROW()-1)>G8)*(G8<>"")
(heute ungetestet)
Gruß- Micha
PS: Rückmeldung wäre nett.

Anzeige
AW: Abfragen, welche Excel Sprachversion läuft
12.07.2007 19:34:27
Matthias
Hallo Peter,
wenn du die Formel mit VBA in eine Zelle schreiben willst, benutze, wie Micha schon sagte, .Formula statt .FormulaLocal.
Die Übersetzung für VBA erhältst du, wenn du die Zelle mit der Fomel markierst und ins Direktfenster Schreibst:
? ActiveCell.Formula
Gruß Matthias

Anzeige
AW: Abfragen, welche Excel Sprachversion läuft
12.07.2007 21:43:19
Peter
Hallo Matthias
Vielen Dank für den Hinweis, wie eine Formel in VBA übersetzt werden kann. Klasse.
Peter

und nun die VBA-Antwort auf Deine Frage
12.07.2007 21:19:00
MichaV
Hallo,
der Vollständigkeit halber noch die Antwort auf Deine Frage ;o)
So fragst Du die Sprachversion der Excel-Anwendung ab:
MsgBox Application.LanguageSettings.LanguageID(msoLanguageIDExeMode)
Und hier findest Du die Sprachen zu den möglichen Rückgabewerten: http://www.eulanda.de/inside/entwicklerhandbuch/glossar/lcid/lciduebersicht.htm
Gruß- Micha
PS: Rückmeldung wäre nett.

Anzeige
sorry
12.07.2007 21:21:00
MichaV
nimm MsgBox Application.LanguageSettings.LanguageID(msoLanguageIDUI)

AW: sorry
12.07.2007 21:41:40
Peter
Hallo Micha
Gerade wollte ich einen Eintrag schreiben, dass mein Excel Probleme hat mit LanguageID - nun klappt's also doch. Vielen Dank. Mein Rückgabewert war 1031 (und nicht wie erwartet: 2055).
Der Hintergrund meiner Frage, weshalb ich das im Excel abfragen möchte ist folgende Formel (und nicht die zuletzt übermittelte):
=INDIREKT("Z"&ZEILE()-1&"S"&SPALTE();FALSCH)+INDIREKT("Z"&ZEILE()&"S"&SPALTE()-1;FALSCH)
Ich nehme an, dass die Zelladressierung mit dieser Bezugsart, insbesondere "Z" und "S" nicht übersetzt werden kann. Dann bleibt halt etwas manuelle Arbeit, wenn das File auf einem auf Englisch eingestellten PC läuft.
Oder gibt es eine andere Lösung?
Danke und Gruss, Peter

Anzeige
AW: sorry
12.07.2007 21:58:53
MichaV
Hallo,
Indirekt("Z"&Zeile()&"S"&Spalte()...) kannst Du auch mit Bereich.Verschieben ausdrücken. Dann sind "Z" und "S" raus und die Formel damit wieder sprachunabhängig.
Tabelle1
 AB
1xxxaaa
2xxxaaa
Formeln der Tabelle
A2 : =INDIREKT("Z"&ZEILE()-1&"S"&SPALTE(); FALSCH)
B2 : =BEREICH.VERSCHIEBEN(B2;-1;0)
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Gruß- Micha
PS: Rückmeldung wäre nett.
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Excel Sprachversion abfragen und sprachunabhängige Formeln erstellen


Schritt-für-Schritt-Anleitung

Um die Excel Sprachversion zu erkennen und sprachabhängige Formeln zu vermeiden, kannst Du folgende Schritte befolgen:

  1. Sprache ohne VBA abfragen:

    • Nutze die Formel =TEXT(A1;"[$-1031]dddd") (für Deutsch) oder passe den Sprachcode entsprechend an.
  2. Sprache mit VBA abfragen:

    • Öffne das VBA-Editorfenster (Alt + F11).
    • Füge ein neues Modul hinzu.
    • Verwende folgenden Code, um die Sprache abzufragen:
      MsgBox Application.LanguageSettings.LanguageID(msoLanguageIDExeMode)
  3. Sprachunabhängige Formeln verwenden:

    • Statt INDIREKT (deutsch) verwende INDIRECT (englisch), wenn Du die Formel in einer anderen Sprache nutzen möchtest.
    • Achte darauf, .Formula anstelle von .FormulaLocal in VBA zu verwenden, um Konflikte mit Formeln zu vermeiden.

Häufige Fehler und Lösungen

  • Fehler: Formel funktioniert nicht in einer anderen Sprache.

    • Lösung: Stelle sicher, dass Du sprachunabhängige Formeln verwendest. Nutze INDIRECT anstelle von INDIREKT, um die Formel für die englische Sprache zu optimieren.
  • Fehler: VBA gibt falschen Sprachcode zurück.

    • Lösung: Überprüfe, ob Du den richtigen Rückgabewert für die Sprache verwendest. Mögliche Werte findest Du in der Microsoft Dokumentation.

Alternative Methoden

  • Verwendung von Bereich.Verschieben:

    • Anstelle von INDIREKT("Z"&ZEILE()-1&"S"&SPALTE();FALSCH) kannst Du BEREICH.VERSCHIEBEN nutzen, um die Formel sprachunabhängig zu machen:
      =BEREICH.VERSCHIEBEN(B2; -1; 0)
  • Direkte Zellreferenzen in VBA:

    • Du kannst die Zelle direkt ansteuern und die Formel über .Formula setzen, um die sprachabhängigen Elemente zu vermeiden.

Praktische Beispiele

Hier sind einige Formeln, die Du verwenden kannst:

  1. Sprachunabhängige Formel:

    =INDIREKT("G"&ZEILE()-1)&">G8)*(G8<>"")
  2. VBA zur Abfrage der Sprache:

    MsgBox Application.LanguageSettings.LanguageID(msoLanguageIDUI)
  3. Beispiel für BEREICH.VERSCHIEBEN:

    =BEREICH.VERSCHIEBEN(A1; 1; 1)

Diese Beispiele zeigen, wie Du durch die Verwendung von VBA und sprachunabhängigen Formeln effizient arbeiten kannst.


Tipps für Profis

  • Verwende konstanten Sprachcode: Wenn Du häufig mit verschiedenen Sprachen arbeitest, speichere die Sprachcodes in einer Tabelle, um sie schnell abrufen zu können.
  • Dokumentiere Deine Formeln: Halte in den Notizen fest, welche Formeln sprachabhängig sind und wie Du sie umgeschrieben hast.
  • Teste in verschiedenen Excel-Versionen: Überprüfe Deine Formeln in Deutsch und Englisch, um sicherzustellen, dass sie überall korrekt funktionieren.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass meine Excel-Formeln in jeder Sprache funktionieren? Verwende sprachunabhängige Funktionen und teste Deine Formeln in verschiedenen Sprachversionen von Excel.

2. Was ist der Unterschied zwischen .Formula und .FormulaLocal in VBA? .Formula verwendet die englische Syntax, während .FormulaLocal die lokale Spracheinstellungen für die Formel verwendet. Verwende .Formula, um Konflikte zu vermeiden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige