Wert eines ListBox elements

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm ListBox MsgBox
Bild

Betrifft: Wert eines ListBox elements
von: hans jörg
Geschrieben am: 19.11.2003 22:56:34

hallo,
frage:
wenn ich auf ein ListBox element zugreifen will mach ich das dann nicht
mit ListBox.Value?
ich habe in meiner listbox zahlen und auch text und wenn ich nun eine zahl oder einen text doppelt anklicke sollte er im tabellenblatt danach suchen.
wie bekomme ich nun die Zahl bzw den Text heraus (sollte doch mit ListBox.Value funktionieren?? tut es aber nicht)
kann mir jemand weiterhelfen

danke hans j

Bild


Betrifft: AW: Wert eines ListBox elements
von: Matthias G
Geschrieben am: 19.11.2003 23:35:52

Hallo Hans,
also so geht das ganze schon:

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
MsgBox ListBox1.Value
End Sub

Es kommt nun drauf an, wie Du weiter verfährst, um den angeklickten Wert weiterzuverarbeiten.
Auf keinen Fall das UF mit Unload schließen, sondern mit "Me.Hide", sonst gehen die enthaltenen Werte für das aufrufende Modul verloren.
Vielleicht war's das schon?

Gruß,
Matthias


Bild


Betrifft: ne nicht ganz hier mal mein bsp.
von: helge
Geschrieben am: 19.11.2003 23:47:07

Dim MyArray(6, 1)



Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Cells.Find(What:=ListBox1.Value, After:=[A1], LookIn:=xlFormulas, LookAt:= _
    xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=True, _
    SearchFormat:=False).Select
    
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    [D1].PasteSpecial
    'Selection.Copy
   
End Sub



Private Sub UserForm_Initialize()
    Dim i As Single
    ListBox1.ColumnCount = 1
    
    'Load columns 2 and three of MyArray
    MyArray(0, 0) = "1"
    MyArray(1, 0) = "2"
    MyArray(2, 0) = "3"
    MyArray(3, 0) = "August"
    MyArray(4, 0) = "Four"
    MyArray(5, 0) = "16"
   
    ListBox1.List() = MyArray
   
End Sub


also wenn ich nun im listenfeld auf meinen 1. eintrag doppelt klicke soll er mir im tabellenblatt nach der "1" suchen aber mit ListBox1.Value geht das leider nicht
was mache ich falsch???

hans j


Bild


Betrifft: ne nicht ganz hier mal mein bsp.
von: hans j
Geschrieben am: 19.11.2003 23:48:16

Dim MyArray(6, 1)



Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Cells.Find(What:=ListBox1.Value, After:=[A1], LookIn:=xlFormulas, LookAt:= _
    xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=True, _
    SearchFormat:=False).Select
    
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    [D1].PasteSpecial
    'Selection.Copy
   
End Sub



Private Sub UserForm_Initialize()
    Dim i As Single
    ListBox1.ColumnCount = 1
    
    'Load columns 2 and three of MyArray
    MyArray(0, 0) = "1"
    MyArray(1, 0) = "2"
    MyArray(2, 0) = "3"
    MyArray(3, 0) = "August"
    MyArray(4, 0) = "Four"
    MyArray(5, 0) = "16"
   
    ListBox1.List() = MyArray
   
End Sub


also wenn ich nun im listenfeld auf meinen 1. eintrag doppelt klicke soll er mir im tabellenblatt nach der "1" suchen aber mit ListBox1.Value geht das leider nicht
was mache ich falsch???

hans j


Bild


Betrifft: AW: ne nicht ganz hier mal mein bsp.
von: andre
Geschrieben am: 20.11.2003 11:34:03

hallo hans,
- searchformat kann enfallen,
- copy gekürzt
- myArray gedimt
--> keine fehlerbetrachtung, wenn im bereich keine daten gefunden werden --> ergibt fehler bei ...).select


Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Cells.Find(What:=ListBox1.Value, After:=[A1], LookIn:=xlFormulas, LookAt:= _
    xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=True).Select
    Range(Selection, Selection.End(xlDown)).Copy [D1]
   
End Sub



Private Sub UserForm_Initialize()
    Dim i As Single, myArray(5, 0)
    
    ListBox1.ColumnCount = 1
    'Load columns 2 and three of MyArray
    myArray(0, 0) = "1"
    myArray(1, 0) = "2"
    myArray(2, 0) = "3"
    myArray(3, 0) = "August"
    myArray(4, 0) = "Four"
    myArray(5, 0) = "16"
   
    ListBox1.List() = myArray
   
End Sub


gruss andre


Bild


Betrifft: das klappt leider nicht :-(
von: hans j
Geschrieben am: 20.11.2003 18:25:38

hi andre er sucht mir nicht den listeneintrag und auch markieren tut er nicht geschweige denn kopieren.
hast du einen tip wie es noch gehen kann???

danke hans j


Bild

Beiträge aus den Excel-Beispielen zum Thema " Wert eines ListBox elements"