Wie man ausgewählten Wert in mehrspaltigen listbox
Ich habe eine mehrspaltige listbox, in meiner userform und ich möchte alle Werte der Elemente, die in die ausgewählte Zeile in der listbox.
Hier ist mein userform:
Genau wie auf dem Foto, ich möchte nur eine Zeile anwählen, dann werde ich klicken Sie auf die Schaltfläche Associer
und ich konnte die Informationen in dieser Zeile. Ich kann gerade mal die erste Spalte, das CAN20168301436
ich möchte, um die Informationen aus der gesamten Zeile.
Wie kann ich es tun?
Hier ist mein button geklickt Veranstaltung:
Private Sub CommandButton3_Click()
a = ListBoxResultatFind.Text
End Sub
InformationsquelleAutor Yiao Sun | 2016-08-31
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
können Sie diesen code verwenden
InformationsquelleAutor user3598756
Nicht brauchen, um in einer Schleife die gesamte Liste, um das ausgewählte Element Zeile, die Sie verwenden können, die
ListIndex
Eigenschaft. Dann können Sie dieList(Row, Column)
- Eigenschaft zum abrufen der Daten, wie in den Beispielen von @DragonSamu und @user3598756:ListBox
ListIndex
Eigentum zurückgeben würde0
wenn keine Elemente ausgewählt sind, als wenn das erste Element wäre. Das ist, warum ich Durchlaufen Zeilen und überprüfenSelected
Eigenschaft. Eine alternative wäre die Doppel-check für eine0
ListIndex
wieIf .ListIndex = 0 and .Selected(0) or .ListIndex >0 Then
aber das scheint auch unklar, für einen zweiten mal code-reviewwie pro meine vorherigen Kommentar können Sie testen wollen, ist diese Lösung gegen eine mögliche keine Auswahl - Szenario
Keine Auswahl, gibt ListIndex = -1, das ist der Grund, warum ich zum testen
ListIndex > -1
. (Ich benutze Excel 2010, wo es funktioniert wie ein Charme!)versuchen Sie, und deaktivieren Sie eine Reihe: die
.ListIndex
Wert bleibt als Letzte ausgewählt (und dann deaktiviert) Zeile noch ausgewählt ist, während.Selected(.ListIndex)
(richtig) zurückFalse
OK, hast du einen Punkt - aktualisiert mein Vorbild! 🙂
InformationsquelleAutor Olle Sjögren
Mit einer einzelnen Spalte können Sie den Wert abrufen, wie unten:
Mit einem mehrspaltigen Sie können den Wert abrufen, wie diese:
oder Sie können fügen Sie alle Daten in 1 String:
wie viele Spalten?
Es hat 7 colonnes
siehe update
InformationsquelleAutor DragonSamu
Es ist ein 6column Listenfeld und die 3. Spalte wäre der Multiplikator daher das "(x)". Sie können auch die Liste neu anzuordnen, wie Sie es mögen.
InformationsquelleAutor Mark Vincent Manansala