Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
624to628
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
624to628
624to628
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

@Hajo_Zi

@Hajo_Zi
22.06.2005 18:06:38
Lorenz
Hallo Hajo!
Selbstverständlich den anderen auch ein Hallo!
Mit Deinem Code (v. Deiner HP) funktioniert das sortieren einwandfrei.
Mein Problem ist aber:
In der Combobox1 kann ich`s verwenden, aber in weiterer Folge zum Anwählen
(lt Auswahl in Combobox2) nicht mehr, da warscheinlich ListIndex mit ZeilenNummer nicht mehr übereinstimmt.
Ist es möglich mir den Code dementsprechend zurecht zu schnitzen?
Dein Code:
Sub OhneDupliLfd(Adresse As String)
Dim AlleZellen As Range, Zelle As Range
Dim AnzAlle As Long, AnzOhneDupl As Long
Dim OhneDupl As New Collection
Dim i As Long, j As Long
Dim Swap1, Swap2, Item
Set AlleZellen = Range("L19:L65536")
von = AlleZellen.Row
bis = von + AlleZellen.Count - 1
On Error Resume Next
For Each Zelle In AlleZellen
OhneDupl.Add Zelle.Value, CStr(Zelle.Value)
Next Zelle
On Error GoTo 0
AnzAlle = AlleZellen.Count
AnzOhneDupl = OhneDupl.Count
For i = 1 To OhneDupl.Count - 1
For j = i + 1 To OhneDupl.Count
If OhneDupl(i) > OhneDupl(j) Then
Swap1 = OhneDupl(i)
Swap2 = OhneDupl(j)
OhneDupl.Add Swap1, before:=j
OhneDupl.Add Swap2, before:=i
OhneDupl.Remove i + 1
OhneDupl.Remove j + 1
End If
Next j
Next i
ReDim SuchDatenLfd(0 To AnzOhneDupl - 1)
For n = 0 To UBound(SuchDatenLfd)
SuchDatenLfd(n) = OhneDupl.Item(n + 1)
Next n
For Each Item In OhneDupl
ComboBox2.AddItem Item
Next Item
End Sub
Mein code: so wird die Zeile lt. ListIndex angewählt

Private Sub ComboBox2_Change()
Dim iCounter As Integer
For iCounter = 1 To 50
Controls("TextBox" & iCounter).Text = Worksheets("Daten").Cells(ComboBox2.ListIndex + 19, iCounter).Text
Next iCounter
End Sub

so werden die Einträge in die ComboBoxen übernommen

Private Sub UserForm_Initialize()
Call EntferneDupliLfd("b19:b65500")
ComboBox1.List = .Range(.Cells(19, 1), .Cells(.UsedRange.Rows.Count, 1)).Value
vielen Dank im Voraus &
Grüsse Lorenz

		

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Combobox
22.06.2005 18:10:26
Hajo_Zi
Hallo Lorenz,
wie Dir sicher aufgefallen ist, sind auf meiner HP mehrere Dateien. Da wäre der Dateiname schon mal nicht schlecht und für die anderen vielleicht auch der Link.
Ich vermute mal Deine Datei wäre wohl die beste Lösung.
Was Dein Problem ist, ist mir völlig schleierhaft.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


AW: Combobox
22.06.2005 18:36:02
Lorenz
Hallo Hajo!
Der Dateiname lautet:
Userform_keine_doppelten_listbox.xls
Das Problem besteht darin:
In der nicht sortierten Version wird die Zeile von welcher der Eintrag ausgewählt wird
selektiert. etwa so: textbox1 = Zeile20, Textbox2 = Zeile22(zum Eintrag in die Textboxen bis Textbox50)....natürlich wird die entsprechende Zeile()nach Auswahl durch die Combobox angewählt.
In der sortierten Version wird nicht mehr die richtige Zeile von welcher der Eintrag ausgewählt wird selektiert.
Hoffe das Problem somit besser geschildert zu haben.
Gruß Lorenz
Anzeige
AW: Combobox
22.06.2005 18:46:13
Hajo_Zi
Hallo Loren,
Dein beschriebenes Problem ist ein anderer Ansatz.
1. in der Userform gibt es keine Textboxen
2. es sollen keine Doppeltenamen angezeigt werden.
3. welche Zeile soll selektiert werde bei Name4 die Zeile 5, 6 oder 15?
Ich würde das mit Find lösen

Sub Test_SpalteA()
'   erstellt von Hajo.Ziplies@web.de 22.06.05
Dim Found As Range
Dim LoLetzte As Long
LoLetzte = IIf(IsEmpty(Range("A65536")), Range("A65536").End(xlUp).Row, 65536)
Set Found = Range("A1:A" & LoLetzte).Find(ListBox.Value, Range("A" & LoLetzte), , xlPart, , xlNext)
'   kompletter Vergleich und Inhalt
'    Set Found = .Range(.Cells(2, 10), .Cells(5753, 10)).Find(ActiveSheet.Cells(I, 54), _
'        .Cells(5753, 10), xlValues , xlWhole, , xlNext)
Range(Found.Address).Select
End Sub

Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.
Anzeige
AW: Combobox
22.06.2005 18:55:38
Lorenz
Hallo Hajo!
Bei Name4 sollte die Zeile5 (bei Name7 die Zeile8) selektiert werden (wo der wert in der jeweiligen Spalte das 1. Mal vorkommt.
Grüsse Lorenz
AW: Combobox
22.06.2005 18:56:35
Hajo_Zi
Hallo Lorenz,
mein Vorschlag hast Du getestet, mir scheint Nein.
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.
AW: Combobox
22.06.2005 19:35:01
Lorenz
Hallo Hajo!
Bei dir gehts ja rucki zucki mit den Antworten (und der Hilfe)! Bei mir hingegen klappte es erst jetzt!
Habe beim Probieren übersehen "Find(ListBox.Value" habe "Find(ListBox1.Value" daraus gemacht, somit ein etwas längerer Probelauf deines Vorschlages.
Hat super hingehauen.... einwandfrei!
vielen Dank für die Mühe &
Grüsse Lorenz
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige