HERBERS Excel-Forum - die Beispiele

Thema: Daten in ListBoxes verschieben und sortieren

Home

Gruppe

Dialog

Problem

Die Werte aus Spalte A sollen in eine UserForm-ListBox eingelesen werden. In der UserForm sollen die Werte von einer ListBox zur anderen verschoben und jeweils nach dem Sortierkriterium der Anordnung in der Tabelle sortiert werden können.

Lösung
Geben Sie den Ereigniscode in die nachfolgend genannten Module ein.
ClassModule: frmListen

Private Sub cmdHer_Click()
   Dim arr As Variant
   Dim iRow As Integer, iCount As Integer
   If lstB.ListIndex = -1 Then
      Beep
      MsgBox "Sie müssen ein Element auswählen!"
      Exit Sub
   End If
   arr = ActiveSheet.Range("A1").CurrentRegion
   lstA.AddItem lstB.Value
   lstB.RemoveItem lstB.ListIndex
   Workbooks.Add
   Range(Cells(1, 1), Cells(lstA.ListCount, 1)).Value = lstA.List
   iCount = Application.CustomListCount
   Application.AddCustomList arr
   Range("A1").CurrentRegion.Sort key1:=Range("A1"), order1:=xlAscending, _
      ordercustom:=iCount + 2, header:=xlNo
   If IsEmpty(Range("A2")) Then
      lstA.Clear
      lstA.AddItem Range("A1").Value
   Else
      lstA.List = Range("A1").CurrentRegion.Value
   End If
   Application.DeleteCustomList iCount + 1
   ActiveWorkbook.Close savechanges:=False
End Sub

Private Sub cmdHin_Click()
   Dim arr As Variant
   Dim iRow As Integer, iCount As Integer
   If lstA.ListIndex = -1 Then
      Beep
      MsgBox "Sie müssen ein Element auswählen!"
      Exit Sub
   End If
   arr = ActiveSheet.Range("A1").CurrentRegion
   lstB.AddItem lstA.Value
   lstA.RemoveItem lstA.ListIndex
   Workbooks.Add
   Range(Cells(1, 1), Cells(lstB.ListCount, 1)).Value = lstB.List
   iCount = Application.CustomListCount
   Application.AddCustomList arr
   Range("A1").CurrentRegion.Sort _
      key1:=Range("A1"), order1:=xlAscending, _
      ordercustom:=iCount + 2, header:=xlNo
   If IsEmpty(Range("A2")) Then
      lstB.Clear
      lstB.AddItem Range("A1").Value
   Else
      lstB.List = Range("A1").CurrentRegion.Value
   End If
   Application.DeleteCustomList iCount + 1
   ActiveWorkbook.Close savechanges:=False
End Sub

Private Sub cmdWeiter_Click()
   Unload Me
End Sub

Private Sub UserForm_Initialize()
   lstA.List = Range("A1").CurrentRegion.Value
End Sub

StandardModule: basMain

Sub CallForm()
   frmListen.Show
End Sub

Beiträge aus dem Excel-Forum zu den Themen Dialog und ListBox

Listbox filtern Listbox fuellen mit Wert entsprechend Markierung
Listbox Spezial VBA - Listbox in Abhängigkeit füllen
Listbox und .rowsource (ActiveSheet) Doppelte in Listbox zur Auswahl stellen
Listbox viele spalten Absatzzeichen in Textbox und Listbox verhindern
Listbox nach öffnen der Userform füllen Listbox horizontal
ListBox mit CheckBox bei Auswahl Page anzeigen xlDialogInsertHyperlink.show
Vorauswahl in einer Listbox ListBox editieren und in die Tabelle übertragen
Arbeitmappen über Dialogfeld zusammen fassen Daten aus Listbox in Textbox einlesen und zurück i
Eingetragene Zeilen in UF Listbox zählen ListBox-Shape: Zugriff auf ListBox-Eigenschaften
Listbox in UF 5.0 Dialog
Werte in ListBox kopieren Mehrspaltige ListBox füllen
Speichern unter Dialog in Word aufrufen inkl. Pfad ListBox
Druckerdialog Listbox füllen
Listboxeintrag unter Mauszeiger in Listbox scrollen / text in TB teilweise fett
Dateityp im "Speichern unter"-Dialog vorgeben Makro stoppen, wenn Excel-Dialog?
Suche nach Einträgen in 2. Spalte der Listbox Inhalt der ListBox in Tabelle kopieren
xlDialogOpen anpassen Suchfunktion für Listbox in Userform integrieren
ListBox1_DblClick Hyperlink öffnen ListBox sortieren
ListBox spaltenüberschriften listbox
Ausgewählte Zelle aus Listbox befüllen ListBox auslesen
Klick in definierten Rangebereich startet Dialog werte aus listbox löschen
daten aus tabelle in listbox listbox
Suche & Listbox listbox
ListBox - Werte nur einmal einlesen Suche in ListBox-Ausgabe ComboBox
Listbox Begriff in ListBox suchen