hallo ich suche nach einem Code wo ich bestimmte Einträge aus einer Listbox in eine Textbox bekommen.
Die Listbox sieht so aus:
Eintrag1 - Eintrag2
Eintrag1 - Eintrag2
nun möchte ich aber nur
Eintrag1
un die Textbox übertragen, also alles was nach dem - kommt soll nicht mit kopiert werden. ich hab da zwar schon gegooglet und hab da auch einige Programmschnipsel gefunden, aber leider bin ich da nicht wirklich schlau rausgeworden.
Leider muss ich dazu sagen, das ich in VB6 blutiger Anfänger bin.
Private Sub Text1_KeyPress(KeyAscii As Integer)
If InStr("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzÄäÜüÖöß" & Chr$(8), Chr$(KeyAscii)) = 0 Then
KeyAscii = 0
End If
End If
End Sub
das hab ich probiert, doch leider gilt das nur für die Eingabe, nicht beim Adden in der Textbox
bei der listbox sieht es so aus:
Private Sub List1_Click()
Text1.Text = List1.List(List1.ListIndex)
End Sub
Bitte fangt nun nicht an zulachen, fals es ein einfach code ist, für hilfe wäre ich echt dankbar
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
hm ok :)
hab eine lösung gefunden, vielleicht nicht die effectivste aber dies hier hat mir geholfen
http://www.vbarchiv.net/archiv/tipp_119.html
wenn in der Listbox1 nun
Eintrag1 - Eintrag2 geaddet wird, wird automatisch Eintrag1 auch in die Listbox2 gespeichert!
Du kannst doch einfach den ganzen wert "List1.List(List1.ListIndex)" in "List1_Click()" auslesen und nur den vorderen teil in "Text1.Text" speichern.
Private Sub List1_Click()
Dim st As String
st = List1.List(List1.ListIndex)
Text1.Text = Left$(st, InStr(st, "-") - 1)
End Sub
mr.escape
hm ok, danke mr.escape, bin da nun etwas baff mit wie wenig Code das zu lösen ist.
wie gesagt ich bin blutiger Anfänger. Deine Variante ist um einiges Einfacher und weseltenlich weniger Aufwenig als das was ich da gemacht habt.
Danke, das wird auch gleich als Programmschnipsel abgespeichert.
wie gesagt ich bin blutiger Anfänger
AFAIK ist noch niemand daran verblutet und mir ist keiner bekannt, der ohne etwas blutverlust begonnen hat. :-)
mit wie wenig Code das zu lösen ist
Das ist die quick&dirty methode, weil ohne fehlerbehandlung:
Private Sub List1_Click()
Dim st As String, hp As Long
st = List1.List(List1.ListIndex)
hp = InStr(st, "-")
If hp > 0 Then
Text1.Text = Left$(st, hp - 1)
Else
Text1.Text = st
End If
End Sub
mr.escape
Dafür auch nochmal danke :)