Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Listindex aus ListBox mit multipleselect
#1
Hallo!

Nachdem ich mein letztes Problem hier schön lösen konnte, stehe ich nun vor einem neuem.

Ich habe eine Eingabemaske in einem UserForm, in dem man bestimmte Suchkriterien für Dokumente eingeben und unter einen Namen speichern kann. Das ganze, damit man hinterher überprüfen kann, ob die Dokumente in der gegebenen Datenbank vorhanden sind.

Über eine ListBox kann man, unter den jeweils gespeicherten Namen, eine der Suchen auswählen.

Die Formeln, die die Datenbank dann nach dem jeweiligen Werten durchsuchen, benötigen den Listindex der ausgewählten Suche, was auch bisher kein Problem darstellte.


Jetzt stehe ich vor dem Problem, dass ich bei Multipleselect nicht an den ListIndex komme, weil nicht implementiert.

Gibt es eine Möglichkeit an die ausgewähten Indizes ohne große Umwege zu gelangen?
Ansonsten habe ich auch die Möglichkeit die selektierten Namen im Tabellenblatt selbst auszugeben, dazu habe ich die Aufzählung der über die Eingabemaske eingegebenen gespeicherten Suchnamen. Kann ich so evtl über eine Hilfsspalte mir selbst einen Index erstellen?
liebe Grüße!
Antworten Top
#2
Oder noch einmal anders ausgedruckt:

Für eine Listbox liegen die Daten in Tabelle1!A1:A10.

Ich habe nun davon 3 Daten selektiert und diese automatisch in B1:B3 ausgegeben. Wenn es 4 wären, bis B4 etc. die Sortierung ist die selbe wie in den Ursprungsdaten.

Wie bekomme ich raus, welche "Position"/"Nummer" aus A1:A10, in der ListBox ausgewählt wurden?

Nun noch einmal mit kleiner Beispieldatei


Angehängte Dateien
.xlsm   Test.xlsm (Größe: 16,93 KB / Downloads: 5)
Antworten Top
#3
Hallo,

mit der Selected-Eigenschaft lassen sich die markierten Zeilen ermitteln:
Hier mal ein Beispiel:

Private Sub CommandButton2_Click()
 Dim i As Long
 With ListBox1
   If .ListIndex > -1 Then
     For i = 0 To .ListCount - 1
       If .Selected(i) Then
         MsgBox "Index = " & i & vbNewLine & "  Text = " & .List(i)
       End If
     Next i
   End If
 End With
End Sub

Gruß Uwe
Antworten Top
#4
Stimmt, ich kann ja einfach den Zähler mit ausgeben =) Suuper, vielen Dank!
Antworten Top
#5
Ohne 'rowsource':


Code:
Private Sub UserForm_Initialize()
    ListBox1.List = Tabelle1.Cells(1).CurrentRegion.Resize(, 1).Value
End Sub


Private Sub CommandButton1_Click()
  For j = 0 To UBound(ListBox1.List)
     If Not ListBox1.Selected(j) Then ListBox1.List(j, 0) = "~"
  Next
  sp = Filter(Application.Transpose(ListBox1.List), "~", 0)
 
  Cells(1, 10).Resize(UBound(sp) + 1) = Application.Transpose(sp)
 
  Unload Me
End Sub
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste