Herbers Excel-Forum - das Archiv
Wert eines ListBox elements
Informationen und Beispiele zu den hier genannten Dialog-Elementen:
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
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
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
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
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
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