Anzeige
Archiv - Navigation
820to824
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
820to824
820to824
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Multiselect - Ergebnisse in neue Spalte
26.11.2006 15:10:21
Wolfgang
Hallo*,
in einem Tabellenblatt "PLZ" befinden sich u.a. ca. 2000 Datensätze mit ca. bis zu 10 verschiedenen Postleitzahlen (Spalte B); Wie kann der untenstehende Code geändert werden, wenn ich einerseits die vorkommenden Postleitzahlen in der Listbox mit Multiselect nur einmal angezeigt bekommen möchte (das bewirkt bereits der Code), dann aber alle jeweils dazugehörigen Lieferantennummern (Spalte A) in Spalte C kopiert werden sollen? Schön wäre, wenn die Postleitzahlen innerhalb der Listbox chronologisch sortiert werden könnten. Danke schon jetzt wieder Allen für die Rückmeldung.
Herzliche Grüße
Wolfgang
Option Explicit

Private Sub UserForm_Activate()
Dim col   As New Collection
Dim lRow  As Long
lRow = 1
On Error Resume Next
Do Until IsEmpty(Cells(lRow, 1))
col.Add CStr(Cells(lRow, 1).Value), CStr(Cells(lRow, 1).Value)
lRow = lRow + 1
Loop
On Error GoTo 0
For lRow = 1 To col.Count
ListBox1.AddItem col(lRow)
Next lRow
End Sub


Private Sub CommandButton1_Click()
Dim iLiBo   As Integer
Dim iZeile  As Integer
Range("C1:C" & Range("C65536").End(xlUp).Row).ClearContents
With ListBox1
For iLiBo = 0 To .ListCount - 1
If .Selected(iLiBo) Then
iZeile = iZeile + 1
Cells(iZeile, 3).Value = .List(iLiBo) ' in Spalte C untereinander
End If
Next iLiBo
End With
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Multiselect - Ergebnisse in neue Spalte
26.11.2006 16:27:00
Peter
Hallo Wolfgang,
das Sortieren deiner Listbox könnte so gehen:

Private Sub UserForm_Activate()
Dim col     As New Collection
Dim lRow    As Long
Dim lIndxA  As Long     ' For/Next Index - außen
Dim lIndxI  As Long     ' For/next Index - innen
Dim sTemp   As String   ' temporärer Zwischenspeicher
lRow = 1
On Error Resume Next
Do Until IsEmpty(Cells(lRow, 1))
col.Add CStr(Cells(lRow, 1).Value), CStr(Cells(lRow, 1).Value)
lRow = lRow + 1
Loop
On Error GoTo 0
For lRow = 1 To col.Count
ListBox1.AddItem col(lRow)
Next lRow
'      ListBox sortieren :
For lIndxA = 0 To Me.ListBox1.ListCount - 1
For lIndxI = 0 To lIndxA - 1
If Me.ListBox1.List(lIndxI) > Me.ListBox1.List(lIndxA) Then
sTemp = Me.ListBox1.List(lIndxI)
Me.ListBox1.List(lIndxI) = Me.ListBox1.List(lIndxA)
Me.ListBox1.List(lIndxA) = sTemp
End If
Next lIndxI
Next lIndxA
End Sub

Da du aber die Werte aus Spalte A holst und in die ListBox einträgst, gehe ich davon aus, dass das die Postleitzahlen sind.
Wo stehen dann aber deine Lieferantennummern, die du übertragen haben möchtest?
Ebenfalls in Spalte A kann ja irgendwie nicht sein.
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: Multiselect - Ergebnisse in neue Spalte
26.11.2006 16:43:02
Wolfgang
Hallo Peter,
zunächst herzlichen Dank für Deine Rückmeldung. Die Postleitzahlen stehen in Spalte B und die Lieferantennummern in Spalte A (Ich hatte vergessen zu sagen, dass ich den angehängten Code unter Recherche entdeckt hatte und in dem Code die Listbox wohl aus Spalte A "beliefert" wird); Deinen Vorschlag für das Sortieren werde ich gleich direkt ausprobieren. Danke schon jetzt wieder für Deine Rückantwort.
Gruß - Wolfgang
AW: Multiselect - Ergebnisse in neue Spalte
26.11.2006 17:31:37
Peter
Hallo Wolfgang,
die Lieferanten stehen also in Spalte A, die Pstlz in Spalte B.
Du schreibst aber, dass doppelte Pstlz nicht angezeigt werden sollen, das heißt für mich, dass es zur gleichen Pstlz unterschiedliche Lieferantennummern geben kann.
Richtig?
Dann wird das Problem der Anzeige zumindest ein bisschen schwieriger.
Wieviele unterschiedliche Lieferanten kann es denn zur gleichen Pstlz geben?
Viele Grüße Peter
Anzeige
AW: Multiselect - Ergebnisse in neue Spalte
26.11.2006 17:46:41
Wolfgang
Hallo Peter,
Deine Aussage ist zutreffend. In der Listbox, das läuft aber schon sehr wunderbar mit Deinem geänderten Code, werden mir die vorkommenden PLZ nur einmal angezeigt und nun chronologisch in der Listbox sortiert. Richtig ist auch, dass dann zu jeder markierten PLZ die danebenstehende Lieferantennummer in Spalte C kopiert werden soll. Die Zahl der unterschiedlichen Lieferantennr. variiert, derzeit sind ca. 2000 verschiedene Nummern aufgelistet. Danke schon jetzt wieder für Deine Rückantwort.
Gruß - Wolfgang
AW: Multiselect - Ergebnisse in neue Spalte
26.11.2006 18:15:51
Peter
Hallo Wolfgang,
sieh dir einmal meine Test-Mappe an, vielleicht ist das deine Problem-Lösung.
Starten über Alt + F8 (Extras, Makro, Makros) UserForm_anzeigen.
https://www.herber.de/bbs/user/38524.xls
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: Multiselect - Ergebnisse in neue Spalte
26.11.2006 18:35:32
Wolfgang
Hallo Peter,
ich glaube, die Problemlösung ist sehr nahe. Wäre es möglich, anstatt unter Spalte C die PLZ erscheinen zu lassen, die könnte meinetwegen sogar wegbleiben, die festgestellten Lieferantennummern untereinander in Spalte C zu kopieren, oder, das wäre auch nicht schlecht, die PLZ weiterhin unter Spalte C und in Spalte D die Lieferantennummern untereinander? - Danke erneut für Deine Geduld mit mir und schon jetzt auch danke für Deine Rückmeldung.
Gruß - Wolfgang
AW: Multiselect - Ergebnisse in neue Spalte
26.11.2006 20:23:32
Peter
Hallo Wolfgang,
dann sieh dir die beigefügte Mappe an.
https://www.herber.de/bbs/user/38529.xls
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: Multiselect - Ergebnisse in neue Spalte
26.11.2006 22:16:46
Peter
Hallo Wolfgang,
hier noch eine Beispielmappe, die beide Varianten enthält.
In der Ersten Menüzeile, vor dem Hilfe-Fragezeichen findest du einen eigenen Menuepunkt.
Klick den an, dann kannst du wahlweise die vertikale bzw. die horizontale Ansicht der Lieferanten ausprobieren.
https://www.herber.de/bbs/user/38531.xls
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Danke Peter, das klappt super
27.11.2006 05:53:48
Wolfgang
Hallo Peter,
sorry, dass ich mich jetzt erst wieder melde; Ich habe mir gerade Deine Mustermappen angesehen und bin begeistert. Super, das ist genau, was ich gesucht habe. Ich danke Dir recht herzlich hierfür und wünsche Dir weiterhin alles Gute.
Viele Grüße
Wolfgang
Anzeige

157 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige