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

Listbox - Auswahl verschwindet bei Sprachauswahl

Listbox - Auswahl verschwindet bei Sprachauswahl
23.08.2013 08:00:11
Andy
Guten Morgen,
ich habe heute früh gleich zwei Themen. Zu diesem hier hatte ich bereits einen Eintrag, den ich aber bereits auf erledigt gesetzt hatte und nun erscheint er nicht mehr in den offenen Themen.
Also, ich habe eine Listbox bei der ich die markierten Werte dann in meiner Tabelle weiterverwende. Alles klappt wunderbar, mir ist nun jedoch aufgefallen, dass wenn ich bereits Begriffe in der Listbox markiert habe, diese Markierungen wieder verschwinden sobald ich die Sprache umstelle und in der Listbox nun die Übersetzungen stehen (Englisch statt Deutsch). Ich habe hierzu mal ein Beispiel erstellt:
https://www.herber.de/bbs/user/86986.xlsm
Wie bekomme ich es hin, dass die markierten Werte beim Umschalten der Sprache auch weiterhin markiert bleiben.
Grasshopper hatte mir bereits was dazu geschrieben, aber ich weiß leider nicht wie ich das in den VBA einbinden kann:
Hole mit Sprachwechsel zuerst den Index der markierten Zeile
aktuellerIndex = Me.ListBox1.ListIndex
Nach Sprachwechsel kannst Du dann die Markierung auf diesen Index setzen
Me.ListBox1.ListIndex = aktuellerIndex

Kann mir jemand helfen? Vielen Dank vorab.
Andy

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox - Auswahl verschwindet bei Sprachauswahl
24.08.2013 23:21:02
fcs
Hallo Andy,
leider ist es nicht ganz einfach bei Sprachwechsel die markierten Einträge wieder zu markieren.
Der Vorschlag, den du bekommen hast, funktioniert für eine Listbox in der immer nur ein Eintrag markiert werden kann.
Bei einer Listbox mit Mehrfachselektion muss man den Status aller Einträge ständig parallel in einem Array speichern, so dass er nach einem Sprachwechsel verfügbar ist.
Gruß
Franz
Option Explicit
Private strSprache As String        'Merker für die aktiv gewählte Sprache
Private bolSprachwechsel As Boolean 'Merker wenn Sprachwechsel verarbeitet wird
Private arrSelected() As Boolean    'Array zur Speicherung der aktuell gewählten Listeneinträge
Private Sub ListBox1_Change()
Dim Zeile&, i&
If bolSprachwechsel = True Then Exit Sub
If strSprache = "" Then
'initialisiert Sprache
strSprache = Range("F11").Value
End If
If strSprache  Range("F11").Value Then
'Nach Sprachwechsel die gemerkten Markierungen wieder setzen
bolSprachwechsel = True
For i = 0 To ListBox1.ListCount - 1
ListBox1.Selected(i) = arrSelected(i)
Next
strSprache = Range("F11").Value
bolSprachwechsel = False
Exit Sub ' vorherige Ergebnisse in F1:F5 werden nach Sprachwechsel nicht gelöscht
End If
ReDim arrSelected(0 To ListBox1.ListCount - 1)
Application.EnableEvents = False
Range("F1:F5").ClearContents
With ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) = True Then
Zeile = Zeile + 1
Cells(Zeile, 6).Value = .List(i)
End If
arrSelected(i) = .Selected(i)
Next i
End With
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$F$11" Then
'Startet nach Sprachwechsel die Listbox_Change Prozedur
'erforderlich damit gemerkte Markierungen gesetzt werden
Call ListBox1_Change
End If
End Sub

Anzeige
AW: Listbox - Auswahl verschwindet bei Sprachauswahl
26.08.2013 10:06:57
Andy
Guten Morgen Franz,
Dank Dir für Deine ausführliche Antwort plus VBA. Ich, bzw. nähern uns so langsam dem Ziel, aber es gibt leider noch einen Punkt der nicht funktioniert. Speichere ich die Datei, so geht nun meine Markierung in der Listbox verloren. Aus diesem Grund gehen auch wiederum die Einträge in F1-F5 verloren, wenn ich denn dann nach dem Öffnen der Datei die Sprache umstelle. Es ist doch deutlich komplizierter als ich dachte das ganze Thema.
Gruß aus Nürnberg.
Andy

AW: Listbox - Auswahl verschwindet bei Sprachauswahl
26.08.2013 17:01:32
fcs
Hallo Andy,
wenn die Listbox-Auswahl "retten" willst, dann muss vor dem Speichern bzw. Schließen die aktuelle Auswahl in der Liste in einem Zellbereich gespeichert werden (z.B. neben den per Formel berechneten Einträgen der Listenauswahl) und nach dem Öffnen der Datei die Markierungen gesetzt werden.
Wenn du es unbedingt benötigst, dann helfe ich dir dabei, den ensprechenden Code zu scheiben.
Gruß
Franz

Anzeige
AW: Listbox - Auswahl verschwindet bei Sprachauswahl
27.08.2013 15:06:04
Andy
Hallo Franz,
vielen Dank für Dein Angebot. Ich musste gestern jedoch die Liste fertigstellen und habe daher notgedrungen die Listbox aus meiner Tabelle rausgenommen und die Auswahl auf herkömmlichen Wege (Wenn Zelle A="X", dann Wert aus Zelle B........) gelöst. Dennoch nochmals vielen Dank.
Andy

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige