Supportnet / Forum / Tabellenkalkulation
Auswahl aus Combobox einem Textfeld hinzufügen
Frage
Hallo zusammen,
folgendes möchte ich gerne realisieren:
Ich habe ein UserForm u.a. mit einer Combobox.
Diese ComboBox hat ein paar auswahlmöglichkeiten (alles text). Jetz möchte ich eine Auswahl in der Combobox treffen, welche direkt in einem Anzeigefeld (kann ich hier ein Listenfeld verwenden ?) neben der Combobox erscheint. evtl. möchte ich 2-3 einträge nach einander in der Combobox auswählen, die dann alle im Listenfeld dargestellt werden. idealerweise verschindet die auswahl nach einmaliger aus der combobox um doppelte auswahl dann zu vermeiden. zum schluss möchte ich natürlich noch im Listenfeld einträge anklicken können um sie dann zu löschen wenn ich mich vorher im listenfeld verklickt habe.
ist das mit excel irgendwie machbar? das dargestellte listenfeld ist am besten die dynamische darstellung einer zelle von einem anderen Blatt meiner excel tabelle.
welche elemente benötige ich um das zu realisieren ... bin für jede hilfe dankbar.
grüße BoaVista
Antwort 1 von BoaVista
Moin,
vielleicht muss man ja gar keine Listenbox (ist wahrscheinlich auch die falsche variante) nehmen um die bereits getroffenen auswahlen anzuzeigen ... dennoch bleibt zu klären wie kann aus die einer combobox getätigten auswahlen einmal aus der combobox löschen und gleichzeitig im userform neben der combox anzeigen (und wenn ich sie dort lösche sollten sie in der combobox wieder zur verfügung stehen)
???
/BoaVista
vielleicht muss man ja gar keine Listenbox (ist wahrscheinlich auch die falsche variante) nehmen um die bereits getroffenen auswahlen anzuzeigen ... dennoch bleibt zu klären wie kann aus die einer combobox getätigten auswahlen einmal aus der combobox löschen und gleichzeitig im userform neben der combox anzeigen (und wenn ich sie dort lösche sollten sie in der combobox wieder zur verfügung stehen)
???
/BoaVista
Antwort 2 von zigge
Hallo
Versuch´s ´mal so:;-)
Gruß zigge
Versuch´s ´mal so:;-)
Rem Auf der UserForm werden 2 Listboxen, 2Labels
Rem und ein CommandButton plaziert
Rem Die Eigenschaften der Listenfelder ListStyle
Rem und MultiSelect jeweils auf 1 setzen
Rem Label1.Caption = ">>",Label2.Caption ="<<"
Rem zwischen den Listboxen plazieren
Option Explicit
Option Base 0
Private Sub UserForm_Activate()
Rem hier wird die Listbox1 mit den Daten der Spalte C gefüllt
Dim i%
For i = 2 To Range("c65536").End(xlUp).Row
ListBox1.AddItem Range("C" & CStr(i)).Value
Next
End Sub
Private Sub Label1_Click()
Rem ">>" In Listbox1 markierte Datensätze in Listbox2 übertragen
Dim s%, z() As Integer
ReDim z(0)
For s = 0 To ListBox1.ListCount - 1
Debug.Print ListBox1.Selected(s)
If ListBox1.Selected(s) = True Then
ListBox2.AddItem ListBox1.List(s)
z(UBound(z)) = s
ReDim Preserve z(UBound(z) + 1)
End If
Next
Rem Übertragene Datensätze aus Listbox1 entfernen
For s = UBound(z) - 1 To 0 Step -1
ListBox1.RemoveItem z(s)
Next
End Sub
Private Sub Label2_Click()
Rem "<<" In Listbox2 markierte Datensätze zurück nach Listbox1 übertragen
Dim s%, z() As Integer
ReDim z(0)
For s = 0 To ListBox2.ListCount - 1
Debug.Print ListBox2.Selected(s)
If ListBox2.Selected(s) = True Then
ListBox1.AddItem ListBox2.List(s)
z(UBound(z)) = s
ReDim Preserve z(UBound(z) + 1)
End If
Next
Rem Übertragene Datensätze aus Listbox2 entfernen
For s = UBound(z) - 1 To 0 Step -1
ListBox2.RemoveItem z(s)
Next
End Sub
Private Sub CommandButton1_Click()
Rem in Listbox2 stehende Datensätze in Spalte D ab Zeile2 schreiben
Dim z%
Range("D2:D65535").ClearContents
For z = 0 To ListBox2.ListCount - 1
Range("D" & CStr(2 + z)).Value = ListBox2.List(z)
Next
End SubGruß zigge
Antwort 3 von BoaVista
Moin,
wow vielen dank! werde es im laufe des tages mal testen ...
/BoaVista
wow vielen dank! werde es im laufe des tages mal testen ...
/BoaVista

