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

VBA Ländereinstellungen ändern

Forumthread: VBA Ländereinstellungen ändern

VBA Ländereinstellungen ändern
22.11.2018 08:50:57
Jasper
Hallo zusammen,
ich weiß, dieses Thema wurde schon das ein oder andere mal hier in dem Forum angebrochen, die letzten Beiträge dazu sind allerdings schon sehr alt. Vielleicht hat sich ja etwas in der Zwischenzeit dazu geändert.
Und zwar folgende Situation:
Ich habe in Access ein Makro, welches nur auf meinem Computer funktioniert, da mein Computer der einzige ist, der auf deutscher Regionseinstellung ist. Die Kollegen haben alle ihre Computer auf Englisch (US) eingestellt.
Gibt es über VBA Makro die Möglichkeit diese Einstellung zu ändern?
Das sollte dann so aussehen, dass ich am Anfang des Makros die Einstellung auf DE ändere und nach Durchführung des Makros es wieder auf US umgestellt wird.
Da ich bisher keine Antwort dazu gesehen habe, habe ich mir überlegt:
Wäre es total idiotisch eventuell mit SENDKEYS an das ganze ranzugehen?
(Windows-Button, 1x rechts, 2x hoch usw....)
Vielen, vielen Dank im Voraus
Mit freundlichen Grüßen
Jasper
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Ländereinstellungen ändern
22.11.2018 08:57:31
Torsten
Hi Jasper,
vielleicht kann dir diese Seite weiterhelfen:
https://dbwiki.net/wiki/VBA_Tipp:_L%C3%A4ndereinstellungen_ermitteln/setzen
Gruss Torsten
Wäre es nicht einfacher …
22.11.2018 10:04:21
RPP63
… dass Du Deinen Code auf die entsprechenden Fehler auslösenden Methoden checkst?
Als erstes würde ich im aktuellen Projekt(!) nach local suchen und die englische, also originäre, Variante nehmen.
Gruß Ralf
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Ländereinstellungen in VBA anpassen


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor in Access, indem du ALT + F11 drückst.

  2. Füge ein neues Modul hinzu: Rechtsklick auf „Module“ > „Einfügen“ > „Modul“.

  3. Verwende den folgenden Code, um die Ländereinstellung zu ändern:

    Sub AendereLaenderEinstellung()
       Dim alteEinstellung As String
       alteEinstellung = Application.LanguageSettings.LanguageID(msoLanguageIDUI)
    
       ' Setze die Ländereinstellung auf Deutsch
       Application.LanguageSettings.LanguageID(msoLanguageIDUI) = msoLanguageIDGerman
    
       ' Führe hier deinen Code aus
    
       ' Stelle die ursprüngliche Ländereinstellung wieder her
       Application.LanguageSettings.LanguageID(msoLanguageIDUI) = alteEinstellung
    End Sub
  4. Führe das Makro aus, um die Ländereinstellung temporär auf Deutsch zu setzen und nach der Ausführung wieder zurückzusetzen.


Häufige Fehler und Lösungen

  • Fehler: Ländereinstellung wird nicht geändert

    • Lösung: Stelle sicher, dass du die richtige Referenz in deinem VBA-Projekt gesetzt hast. Überprüfe die Spracheinstellungen deines Systems.
  • Fehler: Makro läuft nicht auf anderen Computern

    • Lösung: Vergewissere dich, dass die anderen Benutzer die gleiche Version von Access und die entsprechenden Einstellungen haben.

Alternative Methoden

Wenn du die Ländereinstellung nicht über VBA ändern möchtest, kannst du auch die Systemeinstellungen deines Computers anpassen. Gehe dazu in die Systemsteuerung und ändere die Regionseinstellungen. Dies ist jedoch weniger flexibel und erfordert, dass alle Nutzer die Einstellungen ändern.


Praktische Beispiele

Nehmen wir an, du hast ein Makro, das Daten importiert und bestimmte Formate anwendet. Du kannst die oben genannten Schritte verwenden, um sicherzustellen, dass alle Daten korrekt formatiert werden, unabhängig von der Ländereinstellung des Computers.

Hier ein Beispiel, wie du die Funktion in ein bestehendes Makro einfügen kannst:

Sub ImportiereDaten()
    AendereLaenderEinstellung()

    ' Dein Code zum Importieren der Daten hier
End Sub

Tipps für Profis

  • Überlege, ob es sinnvoll ist, vor dem Ändern der Ländereinstellungen eine Sicherung der aktuellen Einstellungen zu erstellen.
  • Teste deinen Code auf verschiedenen Computern, um sicherzustellen, dass er universell funktioniert.
  • Nutze die SENDKEYS Methode nur als letzten Ausweg, da sie unzuverlässig sein kann und unerwartete Ergebnisse liefern könnte.

FAQ: Häufige Fragen

1. Wie kann ich die Ländereinstellung für andere Anwendungen ändern? Du musst die spezifischen API-Funktionen der jeweiligen Anwendung verwenden, um die Ländereinstellungen zu ändern.

2. Gibt es eine Möglichkeit, die Ländereinstellung dynamisch zu erkennen? Ja, du kannst Application.LanguageSettings.LanguageID(msoLanguageIDUI) verwenden, um die aktuelle Ländereinstellung abzufragen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige