Anzeige
Archiv - Navigation
1816to1820
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

Sprachauswahl per Listbox

Sprachauswahl per Listbox
01.03.2021 20:59:46
Philipp
Hallo miteinander,
ich habe eine VBA Anwendung, in der ich gerne die Caption jedes Commandbuttons - mittels Listbox - ändern möchte.
Das soll eine einfache Sprachauswahl werden. Wenn ich in der Listbox den Wert Deutsch auswähle, soll bei UserForm_Initialize()
CommandButton1.Caption = "Uhrzeit"
ausgewählt werden. Sofern ich aber den Wert Englisch in der Listbox auswähle, soll das Programm
CommandButton1.Caption = "time" auswählen.
Gibt es eine Lösung dafür?
Liebe Grüße

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sprachauswahl per Listbox
01.03.2021 21:03:06
Hajo_Zi
lege ein Liste für die unterschiedlichen Sprachen an. Schreibe in Tag die entsprechende Zeile. Nach Listindex der Listbox hast Du die Spalte.
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
ändern.
Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.
Falls Link nicht ausgeführt wird:
1. Link kopieren
2. rechte Maustaste neues Fenter.
3. Umschaltstaste drücken und Klick auf den Link
4. STRG+ Link mit Maus aktivieren


Anzeige
AW: Sprachauswahl per Listbox
01.03.2021 21:13:37
Daniel
Hi
müssen es ActiveX-Buttons sein?
könntest du auch FormularSteuerelementbuttons verwenden?
(wenn du nur das Click-Event brauchst, sollte es kein Problem sein auf Forumlarfeldbuttons zu wechseln)
für die könnte man das ganze ohne eine einzige Zeile VBA lösen.
Gruß Daniel

AW: Sprachauswahl per Listbox
01.03.2021 21:35:29
Philipp
Könnte ich nicht rein theoretisch 2 identische Userformen bauen, die 1 z.b. mit englischer Bezeichnung und die andere mit deutscher Bezeichnung. Am Anfang wähle ich halt über eine Extra Userform mittels Listbox aus, ob ich die deutsche oder englische Form möchte?=

AW: Sprachauswahl per Listbox
01.03.2021 21:51:19
Daniel
Hi
naja, wird halt aufwendig.
prinzipell könnte auch folgendes gehen:
1. erstelle eine Tabelle.
liste dort alle Commandbutton-texte in allen Sprachen aus.
für jede Button eine Zeile, die Sprachen verschiedenen Spalten.
die Sprachen müssen in der gleichen Reihenfolge angeordnet sein wie in der Listbox
2. wenn du die Commandbuttons erstellst, schreibe den Text nicht nur in die Eigenschaft "Caption", sondern auch in die Eigenschaft "Tag" hier musst du den Text aus der jeweiligen ersten Spalte verwenden.
beim Click-Event der Sprachauswahl-listbox muss dann folgender Code laufen:
dim crt as control
for each crt in me.Controls
if crt.tag  "" then
crt.Caption = Sheets("Sprachauswahltabelle").columns(1).Find(crt.tag, lookat:=xlwhole). _
Offset(ListboxSprachauswahl.ListIndex).value
end if
next
gruß Daniel

Anzeige
AW: Sprachauswahl per Listbox
01.03.2021 21:41:39
Philipp
Okay habs hinbekommen mit einer Combobox und
If Me.ComboBox1 = "Deutsch" Then
Me.CommandButton1.Caption = "Zeit"
If Me.ComboBox1 = "Englisch" Then
Me.CommandButton1.Caption = "time"
Nur eine Frage.. gibt es irgendwie die Möglichkeit, die Auswahl in der Combobox zu speichern.
Bei Neustart des Programms würde entweder nix oder die erste Auswahl ausgewählt werden

AW: Sprachauswahl per Listbox
01.03.2021 21:55:11
Daniel
mach das so wie ich in der anderen Antwort beschrieben habe.
ins Click-Event der Sprachauswahl-Listbox kommt dann folgende Zeile, mit der du die Einstellung speicherst:
Sheets(?).Range(?).value = ListboxSprachauswahl.ListIndex
ins Initialize-Event der Userform kommt dann:
ListboxSprachauswahl.ListIndex = Sheets(?).Range(?).value

damit stellst du wieder die zuletzt gewählte Sprache ein und das Makro zum automatischen Update der Texte im Click_Event der Listbox wird automatisch gestartet.
Gruß Daniel

Anzeige
AW: Sprachauswahl per Listbox
02.03.2021 08:41:31
Nepumuk
Hallo Philipp,
solche Einstellungen würde ich in der Registry speichern.
Beispiel:
Option Explicit

Private Sub ComboBox1_Change()
    
    Call SaveSetting(AppName:="Excel", Section:="CommandButton1", _
        Key:="Caption", Setting:=CStr(ComboBox1.ListIndex))
    
    If ComboBox1.ListIndex = 0 Then
        
        CommandButton1.Caption = "Zeit"
        
    Else
        
        CommandButton1.Caption = "Time"
        
    End If
End Sub

Private Sub UserForm_Initialize()
    
    With ComboBox1
        
        .AddItem "Deutsch"
        .AddItem "Englisch"
        
        .ListIndex = Clng(GetSetting(AppName:="Excel", _
            Section:="CommandButton1", Key:="Caption", Default:=0))
        
    End With
End Sub

Gruß
Nepumuk
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige