Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
22.09.2008 17:40:47 |
Balta |
|
|
Aw:Listbox mit Case Auswahl |
25.09.2008 11:38:10 |
Holger |
|
|
|
26.09.2008 01:16:14 |
Balta |
|
|
|
26.09.2008 10:56:45 |
Holger |
|
|
Von:
Holger |
Datum:
25.09.2008 11:38:10 |
Views:
933 |
Rating:
|
Antwort:
|
Thema:
Aw:Listbox mit Case Auswahl |
Hallo Balta,
ich empfehle, die Werte in der Listbox in ein Array zu schreiben, so dass du die Reihenfolge wieder herstellen kannst. Für die anderen Prozeduren musst du den Code entsprechend anpassen.
Private Liste()
Sub UserForm_Initialize()
ReDim Liste(2)
Liste(0) = "Auto"
Liste(1) = "Motorrad"
Liste(2) = "Flugzeug"
lstLinks.List = Liste
'Me.lstLinks.AddItem "Auto"
'lstLinks.AddItem "Motorrad"
'lstLinks.AddItem "Flugzeug"
End Sub
Sub cmdNachrechts_Click()
If lstLinks.ListIndex 0 Then
For i = 0 To UBound(Liste)
If Liste(i) = lstLinks.Text Then a = i: Exit For
Next i
If a = 0 Then
lstRechts.AddItem lstLinks.Value, 0
Else
For j = lstRechts.ListCount - 1 To 0 Step -1
For i = 0 To UBound(Liste)
If Liste(i) = lstRechts.List(j) Then b = i: Exit For
Next i
If b < a Then Exit For
Next j
lstRechts.AddItem lstLinks.Value, j + 1
End If
Else
lstRechts.AddItem lstLinks.Value, 0
End If
lstLinks.RemoveItem lstLinks.ListIndex
End Sub
Gruß
Holger
Balta schrieb am 22.09.2008 17:40:47:
Hallo VBA-Profis,
Habe ein großes Problem womit ich mich schon länger beschäftige, undzwar habe ich 2 Listboxen. sobald ich das UserForm starte, wird in das linke Listbox1 die Einträge Auto, Motorrad, Flugzeug eingetragen.
Dann kann ich diese Einträge einzel nach ListBox2 rüber schicken, miitels Button.
Nun hier ist der Knackpunkt: wenn ich in der reihenfolge bleibe gibts es kein Problem sobald ich aber Flugzeug als erstes rüber schicke zur ListBox2 danach Auto und dann Motorrad, sind die Meldungen komplett Falsch zu geordnet. Das Problem ist das in der ListBox1 wenn Sie eingetragen werden die Adressen Auto(0), Motorrad(1) und Flugzeug(2) haben. Schicke ich Sie nach ListBox2 dann verlieren Sie den Bezug und Es wird die Adresse ausgegeben Also Flugzeug(0), Auto(1), Motorrad(2).
Ich bräuchte dringend eine Lösung wie ich den Namen anwählen und nicht die Adresse.
Sub cmdAlleRechts_Click()
lstRechts.List = lstLinks.List
lstLinks.Clear
End Sub
Sub cmdAlleLinks_Click()
lstLinks.List = lstRechts.List
lstRechts.Clear
End Sub
Sub cmdLoeschenRechts_Click()
lstRechts.Clear
End Sub
Sub cmdLoeschenLinks_Click()
lstLinks.Clear
End Sub
Sub cmdNachrechts_Click()
If lstLinks.ListIndex < 0 Then
MsgBox "Bitte wählen Sie einen Eintrag!"
Exit Sub
End If
lstRechts.AddItem lstLinks.Value
lstLinks.RemoveItem lstLinks.ListIndex
End Sub
Sub cmdNachLinks_Click()
If lstRechts.ListIndex < 0 Then
MsgBox "Bitte wählen Sie einen Eintrag!"
Exit Sub
End If
lstLinks.AddItem lstRechts.Value
lstRechts.RemoveItem lstRechts.ListIndex
End Sub
Private Sub Senden_Click()
Select Case lstRechts.ListIndex
Case 0
lstRechts.ListIndex = Test1
MsgBox "auto"
'Call Auto
Case 1
lstRechts.ListIndex = Test2
MsgBox "Motorrad"
'Call Motorrad
Case 2
lstRechts.ListIndex = Test3
MsgBox "Flugzeug"
'Call Flugzeug
End Select
End Sub
Sub UserForm_Initialize()
Me.lstLinks.AddItem "Auto"
lstLinks.AddItem "Motorrad"
lstLinks.AddItem "Flugzeug"
End Sub
Sub cmdBack_Click(): Unload Me: End Sub
|
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
22.09.2008 17:40:47 |
Balta |
|
|
Aw:Listbox mit Case Auswahl |
25.09.2008 11:38:10 |
Holger |
|
|
|
26.09.2008 01:16:14 |
Balta |
|
|
|
26.09.2008 10:56:45 |
Holger |
|
|