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

ListBoxen anders Erklärt

ListBoxen anders Erklärt
29.10.2016 14:06:01
Sven
Huhu,
sorry das ich dieses Thema nochmal aufgreife , aber ich denke mal ich habe mich bim Vorherigen falsch ausgedrückt.
Ich habe eine Mappe mit zwei Tabellen , in Tabelle1 Sind Namen aufgelistet und ein Button der eine Userform mit zwei listboxen öffnet.
In ListBox1 sollen alle Namen auf Tabelle1 angezeigt werden. In Listbox2 sollen per Button der Selectierte Namen rein kopiert werden und per Speichern Button in die Tabelle2 eingefügt werden .
Hier ist es wichtig das es nicht die Selbe Reihenfolge wie auf Tabelle1 sein soll, sondern so wie es in die Listbox eingefügt wurde.
Also wenn in ListBox2 der Name max8 ganz oben steht , soll dieser auch in der Tabelle2 an erster stelle stehen.
Geht das irgendwie ?
Hab mich schon dumm und dämlich gegooglet aber nichts wirklich passendes gefunden.
https://www.herber.de/bbs/user/109091.xlsm
VG
Sven

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ListBoxen anders Erklärt
29.10.2016 15:00:35
Gerd
Hallo Sven,
ein Ansatz für das Userformmodul.
Private Sub CommandButton1_Click()
ListBox2.AddItem ListBox1
End Sub

Private Sub CommandButton2_Click()
If ListBox2.ListIndex > -1 Then ListBox2.RemoveItem ListBox2.ListIndex
End Sub

Private Sub CommandButton3_Click()
If ListBox2.ListCount = 0 Then Exit Sub
ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Offset(1).Resize(ListBox2.ListCount) = ListBox2.List
End Sub
Private Sub UserForm_Activate()
ListBox1.Clear
ListBox1.List = Tabelle1.Range(Tabelle1.Cells(2, 1), Tabelle1.Cells(Tabelle1.Rows.Count, 1).End( _
xlUp)).Value
End Sub
Gruß Gerd
Anzeige
AW: ListBoxen anders Erklärt
29.10.2016 15:24:29
Sven
Hi Gerd,
hab es jetzt hin bekommen , muss nur noch rausfinden wie ich mehrere Namen gleichzeitig rüber kopieren kann und vor allem wie sie wieder aus der Tabelle verschwinden wenn ich die in der listbox lösche :-)
Danke dir
Gruß
Sven
AW: ListBoxen anders Erklärt
29.10.2016 19:31:14
fcs
Hallo Sven,
hier deine Datei mit angepassem Code für das Userform.
https://www.herber.de/bbs/user/109097.xlsm
Die Listboxen sind so umgebaut, dass jeweils mehrere Namen ausgewählt werden können.
Gruß
Franz
AW: ListBoxen anders Erklärt
30.10.2016 00:19:11
Sven
Hi Franz,
Danke für deine Mühe aber
das Funktioniert irgendwie garnicht. Kommt immer ne Fehlermeldung und die Einträge in Listbox 1 Verschwinden immer
Gruß
Sven
Anzeige
AW: ListBoxen anders Erklärt
30.10.2016 02:46:36
fcs
Hallo Sven
das Funktioniert irgendwie garnicht.
In der Datei die ich unter Excel 2010 bearbeitet und hochgeladen hab funktioniert das Userform ohne Fehlermeldung.
Kommt immer ne Fehlermeldung
Welche Fehlermeldung/Fehler-Nr.?
In welcher Code-Zeile tritt der Fehler auf?
Beachte bitte, dass du in Blatt "Tabelle2" mit einer Tabelle (im Code Listobject) arbeitest. Dies Funktionalität nutze ich auch Makro, das die Namen aus der Listbox2 in das aktive Tabellenblatt überträgt.
und die Einträge in Listbox 1 Verschwinden immer
das hatte ich jetzt absichtlich so gemacht, damit jeder Name nur einmal nach Listbox2 verschoben werden kann.
Wenn du Namen mehrfach übertragen möchtest, dann müssen die Codes der Schaltflächen angepasst werden.
Private Sub CommandButton1_Click()
Dim intItem As Integer
With Me.ListBox1
For intItem = 0 To .ListCount - 1
If .Selected(intItem) Then
ListBox2.AddItem .List(intItem, 0)
.Selected(intItem) = False
End If
Next
End With
End Sub
Private Sub CommandButton2_Click()
Dim intIndex
With Me.ListBox2
For intIndex = .ListCount - 1 To 0 Step -1
If .Selected(intIndex) Then
.RemoveItem (intIndex)
End If
Next
End With
End Sub
LG
Franz
Anzeige
AW: ListBoxen anders Erklärt
30.10.2016 09:29:49
Sven
Hm jetzt läuft es komischer weise :-)
Danke für deine Mühe :-)
Werde das jetzt so nutzen, denn das die Namen aus liste 1 verschwinden ist ganz gut so .
Gruß
Sven
AW: ListBoxen anders Erklärt
30.10.2016 09:54:34
Sven
Hi Franz,
geht es noch irgendwie , das die ListBox2 anzeigt, welche Namen schon in die liste eingefügt wurden ?
Das wenn man die zb. zum zweiten mal aufruft , anzeigt was drinnen ist ?
LG
Sven
AW: ListBoxen anders Erklärt
30.10.2016 13:52:44
fcs
Hallo Sven,
dann musst du im Userform-Codes
2 Makros anpassen.
Makro CommandButton3_Click machte Probleme, wenn die Liste noch keine Namen enthält (keinen Databody).
Gruß
Franz
Private Sub CommandButton3_Click()
Dim wks As Worksheet
Dim objList As ListObject
Dim intItem As Integer
Dim Zeile As Long
If Me.ListBox2.ListCount = 0 Then
MsgBox "Es sind keine Einträge in Listbox2 vorhanden"
Exit Sub
End If
Set wks = ActiveSheet
Set objList = wks.ListObjects(1)
With objList
If .Range.Rows.Count > 2 Then .DataBodyRange.ClearContents
.Resize .Range.Range("A1").Resize(Me.ListBox2.ListCount + 1, 1)
For intItem = 0 To Me.ListBox2.ListCount - 1
.Range.Range("A1").Offset(intItem + 1, 0) = Me.ListBox2.List(intItem, 0)
Next
End With
Unload Me
End Sub
Private Sub UserForm_Initialize()
Dim varList
Dim intItem1%, intItem2%
varList = Worksheets("Tabelle1").ListObjects(1).DataBodyRange
Me.ListBox1.List = varList
If IsEmpty(ActiveSheet.ListObjects(1).Range.Range("A1").Offset(1, 0)) Then
'noch keine Namen in Liste
Else
varList = ActiveSheet.ListObjects(1).DataBodyRange
If IsArray(varList) Then
Me.ListBox2.List = varList
Else
'nur ein Name in Liste
Me.ListBox2.AddItem varList
End If
'Namen in Listbox2 in Listbox1 löschen
With Me.ListBox1
For intItem1 = .ListCount - 1 To 0 Step -1
For intItem2 = 0 To Me.ListBox2.ListCount - 1
If Me.ListBox2.List(intItem2, 0) = .List(intItem1, 0) Then
.RemoveItem (intItem1)
End If
Next
Next
End With
End If
End Sub

Anzeige
AW: ListBoxen anders Erklärt
30.10.2016 15:16:30
Sven
Hi Franz ,
danke für die Hilfe.
Hat immer bloss den letzten Teil verändert .
Da wurde es zwar angezeigt aber , es ist dann zu dieser besagten Fehlermeldung gekommen.
Nun nicht mehr :-)
Danke
Gruß
Sven

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige