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

Sprache umschalten

Sprache umschalten
13.08.2014 11:21:32
Pascal
Guten Tag zusammen
Ich stehe mal wieder vor einem Problem bei dessen Lösungsfindung mir hier hoffentlich jemand behilflich sein kann.
Es geht um folgendes Vorhaben.
In einer grösseren Datenbank (Excel Arbeitsmappe mit UserFormen, Labels, Textboxen, Listboxen etc…) werden diverse
Daten ab Excel-Tabelle auf mehrere UserFormen geladen und angezeigt. Ab Userform ist KEINE Datenpflege der Datensätze
möglich.
Nun soll eine Möglichkeit (Schaltfläche) in der Datenbank integriert werden, auf dessen Knopfdruck sich alle UserFormen in die
Französische Sprache übersetzen. Natürlich sollen dann auch die Datenbank-Einträge welche auf der Userform angezeigt werden
Nach französisch übersetzen.
Für mich ist soweit klar:
In der Datenbank brauch ich jedes Tabellenblatt sowohl in Deutsch wie auch eine 1:1 Kopie davon in Französisch
(Tabellenblatt/Registernamen: D_ …. für Deutsch und F_ …. für Französisch). Somit pflege ich also jeden Datensatz in der Datenbank
mal auf Deutsch und einmal auf Französisch.
Nun stellt sich mir die Frage:
Brauch ich von jeder UserForm eine 1:1 Kopie mit französischer Sprache oder…. Wie lös ich das am einfachsten ?
Wer hat da Lösungsansätze ?
Im Voraus herzlichen Dank !!!!

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
2.UF wäre am Einfachsten, ansonsten müssten ...
13.08.2014 11:57:40
Luc:-?
…günstigstenfalls im Initialize-Ereignis des UF alle primären Texte ausgetauscht bzw festgelegt wdn, Pascal.
Gruß, Luc :-?

AW: Sprache umschalten
13.08.2014 12:50:40
Daniel
Hi
ich würde es bei einer Userform belassen und einen Code schreiben, der entsprechend der gewählten Sprache die Captions der Buttons und Labels wechselt.
das ist ein einmaliger Aufwand.
bei einer zweiten Userform verdoppelt sich dein Pflegeaufwand, da du alle Änderungen zweimal machen musst.
Sollten weitere Sprachen hinzukommen, verschlimmert sich das.
Desweiteren hätte ein Makro zum Wechseln der Beschriftung den Vorteil, dass du jederzeit die Sprache wechseln kannst, ohne die Userform schließen zu müssen, du kannst einfach umschalten.
du kannst dir das Beschriften unterstützen, indem du dir eine Hilfstabelle anlegst in der in Spalte A der Name des Controls steht und in den folgenden Spalten seine beschriftung in der jeweiligen Sprache.
kommen jetzt weiter Sprachen hinzu, musst du nur dieser Tabelle neue Spalten mit neuen Beschriftungstexten hinzufügen.
Zum wechseln der Sprache musst du dann nur in einer Schleife diese Tabelle durchlaufen und die Captions der Steuerelemente entsprechend setzen.
Gruß Daniel

Anzeige
AW: Sprache umschalten
13.08.2014 14:00:22
Pascal
Hallo alle zusammen!
besten Dank für Eure Antworten und Ratschläge
ich versuche nun also bei Workbook_Open() eine Variable namens "sprache" abzufüllen mit einem Startwert für die Sprache.
Diesen Wert will ich dann mit einer Schaltfläche ändern können.
Bei Workbook_Open() weise ich der Variable "sprache" den Wert "D_" für Deutsch zu.
...
Leider ist bei der ersten Userform initialize die Variable aber schon wieder leer.
dies, obwohl ich die Variable "sprache" als Public deklariert habe.
was mach ich, damit die Variable auch dann noch besteht, wenn initialize aufgerufen wird ?
Leider ist das File sooo gross, dass ich es hier nicht einstellen kann

Anzeige
AW: Sprache umschalten
13.08.2014 14:15:00
Daniel
Hi
Variablen, die in allen Modulen genutzt werden sollen, musst du in einem allgemeinen Modul oberhalb der Makros (dh direkt unter Option Explicit) als Public deklarieren.
Gruß Daniel

AW: Sprache umschalten
13.08.2014 15:14:10
Pascal
Hi Daniel
Ich habe ein Modul eingefügt und diesem auch gleich den Namen vergeben: "Allgemeines_Definitionsmodul"
dort drin steht:
Option explicit
Public Sprache as String
... es geht gleichwohl nicht :-(
Variable verliert ständig ihren Wert am Ende der Sub
Muss ich das Public Sprache as String in jedes Modul in den Deklarationsabschnitt schmeissen ?

Anzeige
AW: Sprache umschalten
13.08.2014 15:20:38
Daniel
Hi
nein, die Deklaration darf nur einmal erfolgen.
wenn du die Variable "Sprache" in mehreren Modulen deklarierst, dann erzeugst du auch mehrere unabhängige Variblen.
in den Modulen, in denen du "Sprache" nicht deklariert hast, wird die Variable "Sprache" aus dem allgemeinen Modul verwendet.
in den Modulen in denen du "Sprache" nochmal deklarierst, wird eine neue Variable erzeugt, die dann zunächtmal leer ist.
Gruß Daniel

AW: Sprache umschalten
13.08.2014 15:30:24
Pascal
Ich habe wirklich nur einmal gesetzt:
Option explicit
Public Sprache as String
Die Variable Sprache fülle ich bei der Sub Workbook_Open()
mit dem Startwert Sprache = "D_" ab.
aber schon beim Userform initialize ist der Wert der Variable wieder leer
:-((

Anzeige
AW: Sprache umschalten
13.08.2014 15:34:21
Daniel
HI
das problem ist, solange wir deine Datei nicht kennen und genau sehen, was du überhaupt gemacht hast, können wir dir auch nicht sagen, was du falsch gemacht hast.
ich sehe jetzt z.B. nicht, in welchem Modul du "Sprache" deklariert hast, ich sehe auch nicht, wie du die Variable "abfüllst" und was danach damit passiert.
Gruß Daniel

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige