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

Mehrsprachigkeit in TextBoxen

Mehrsprachigkeit in TextBoxen
14.03.2023 15:37:02
krug96
Hallo,
ich könnte mal wieder etwas Hilfe benötigen.
ich würde gerne eine Excel-Datei (https://www.herber.de/bbs/user/158254.xlsx) auslesen, die verscheidene Reiter hat. Jeder Reiter ist eindeutig gekennzeichnet: deutsch, englisch, russisch, usw.
In jedem Tabellenblatt gibt es die gleiche Anzahl an Spalten und Zeilen.
Der eindeutige Kenner steht pro Tabellenblatt in der Spalte 1.
In einer andern ExcelDatei gibt es die UserForm1 mit diversen TextBoxen und zwei ComboBoxen. In der einen ComboBox1 werden alle Zeilen aus einem Tabellenblatt eingefügt und in der ComboBox2 stehen die Sprachen der vorhandenen Reiter. Über die Auswahl eines Eintrages in CombBox1 werden dann die entsprechenden Werte aus einer Zeile in den Zellenweise in die TextBoxen eingetragen.
Ziel ist es, dass über die ComboBox2 eine andere Sprache ausgewählt werdenn kann. Dann sollen die Zellen-Inhalte aus dem gewählten Tabellenblatt in den TextBoxen entsprechend gewechselt werden und zwar so, dass diese zu der Auswahl in ComboBox1 übereinstimmen.
Könnte man das eventuell über ein mehrdimansionales Array realisieren und zwar so, dass beim Öffnen der UserForm alle vorhandenen Sprachen geladen werden und somit das Umstellen schneller geht?
Oder gibt es eventuell einen andern Lösungsansatz?
Vielen Dank für eure Hilfe.


Private Sub CommandButton999_Click()
DateiNameExcel = "TestBGQ.xlsx"
BestimmteSpalte = 1
BestimmteZeile = 1
'zuerst wird der Inhalt aus Reiter1 = deutsch in ein Array eingelesen
If IsEmpty(arrTestBGQCB) Then
   If DateiVorhanden("c:\excel\" & DateiNameExcel) Then
      objExcel.Workbooks.Open "c:\excel\" & DateiNameExcel, ReadOnly:=True
      Set objSheet = objExcel.Sheets("deutsch")
      With objSheet
         leZeile = .Cells(.Rows.Count, BestimmteSpalte).End(xlUp).Row
         leSpalte = .Cells(BestimmteZeile, .Columns.Count).End(xlToLeft).Column
         arrTestBGQCB = .Range(.Cells(2, 1), .Cells(leZeile, leSpalte)).Value
        'hier werden die Reiter ausgelesen und in ComboBox2 eingetragen
         UserForm1.ComboBox2.clear
         For I = 1 To objExcel.Worksheets.Count
            UserForm1.ComboBox2.AddItem objExcel.Worksheets(I).name
         Next
         UserForm1.ComboBox2.ListIndex = 0
      end with
      leZeile = 0
      leSpalte = 0
      I = 0
      objExcel.EnableEvents = False
      objExcel.DisplayAlerts = False
      objExcel.ActiveWorkbook.Close
      objExcel.Quit
      objExcel.EnableEvents = True
      objExcel.DisplayAlerts = True
      Set objExcel = Nothing
      Set objSheet = Nothing
   else
      Msgbox "Datei nicht vorhanden"
   end if
end if
'hier wird dann mit den Daten aus dem Array die ComboBox1 befüllt
    UserForm1.ComboBox1.Style = fmStyleDropDownCombo
        With UserForm1
            .ComboBox1.clear
            .ComboBox1.AddItem "...etwas auswählen"
            .ComboBox1.ListIndex = 0
        End With
    
        For I = LBound(arrTestBGQCB) To UBound(arrTestBGQCB)
            UserForm1.ComboBox1.AddItem arrTestBGQCB(I, 1)
        Next I
    UserForm1.ComboBox1.Style = fmStyleDropDownList
End sub


hier die Datei dazu https://www.herber.de/bbs/user/158255.xlsm

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrsprachigkeit in TextBoxen
19.03.2023 09:25:04
Oberschlumpf
Hi,
echt jetzt? Meinst du das wirklich ernst?
Deine DatenDatei (xlsx) enthält ja fast gar keine Daten - außer die Einträge in Spalte A.
Bitte wer soll denn all die ausländischen Begriffe in die DatenDatei eintragen?
Ciao
Thorsten
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige