Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
956to960
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
956to960
956to960
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Listbox Eintrag auswählen und Textbox ausgabe

Listbox Eintrag auswählen und Textbox ausgabe
29.02.2008 11:18:00
Sven
Hallo zusammen,
habe ein neues Problem.
Habe eine Listbox die beim Start der Userform gefüllt wird.
Wenn ich einen Eintrag aus der Listbox anklicke sollen weitere Daten in verschiedene Textboxen ausgegeben werden. Jedoch funktioniert mein Code nicht :(
Kann jemand erkennen warum !?
Private i

Private Sub CommandButton1_Click()
TextBox1.Enabled = True
CommandButton2.Visible = True
ListBox1.Enabled = False
CommandButton1.Visible = False
'Suchen der nächsten leeren Zeile in Spalte A,
'die letzte zu durchsuchende Zeile ist 60000
For i = 1 To 60000 'Festlegen der Zeilen, in denen das Makro suchen soll
If Worksheets("Angebote").Cells(i, 0).Value = "" Then Exit For 'wenn leere Zelle gefunden
Next
'Textboxen leeren
TextBox1.text = ""
TextBox2.text = ""
TextBox3.text = ""
TextBox4.text = ""
TextBox5.text = ""
TextBox6.text = ""
'i ist jetzt die Zeilennummer der leeren Zelle
'und die Eingabe der Angaben zum neuen Element kann beginnen.
'Damit das Eingeben gleich beginnen kann, Cursor in
'Textbox1 (Namen) setzen:
TextBox1.SetFocus
End Sub



Private Sub CommandButton2_Click()
'Wenn kein neues Element eingetragen wurde,
'alle Textboxen leeren
If TextBox1.text = "" Then
TextBox2.text = ""
TextBox3.text = ""
TextBox4.text = ""
TextBox5.text = ""
TextBox6.text = ""
End If
'Textboxinhalte in Zeile i (gefundene leere Zeile übernehmen)
Worksheets("Angebote").Cells(i, 0).Value = TextBox1.text
Worksheets("Angebote").Cells(i, 1).Value = TextBox2.text
Worksheets("Angebote").Cells(i, 2).Value = TextBox3.text
Worksheets("Angebote").Cells(i, 3).Value = TextBox4.text
Worksheets("Angebote").Cells(i, 4).Value = TextBox5.text
Worksheets("Angebote").Cells(i, 5).Value = TextBox6.text
'Da das neue Element jetzt noch nicht in der Listbox
'auftaucht, muß es nun eingelesen werden.
'Dazu gibt es viele Möglichkeiten, aus meiner Erfahrung
'heraus ist die folgende die sicherste.
'Listbox1 leeren
ListBox1.Clear
'Listbox neu füllen
For i = 1 To 60000
If Worksheets("Angebote").Cells(i, 0).Value  "" Then ListBox1.AddItem (Worksheets(" _
Angebote").Cells(i, 0).Value)
Next
'Elemente der Userform zurücksetzen:
TextBox1.Enabled = False
CommandButton2.Visible = False
ListBox1.Enabled = True
CommandButton1.Visible = True
'Ab jetzt nimmt i immer wieder den Wert des
'Listindexes der Listbox 1 + 5 an.
'Damit die Auswahl gleich weitergehen kann,
'Listbox1 aktivieren
ListBox1.SetFocus
End Sub



Private Sub ListBox1_Click()
i = ListBox1.ListIndex + 5
Beep
TextBox1.text = i
TextBox2.text = Worksheets("Angebote").Range(i, 1).Value
TextBox3.text = Worksheets("Angebote").Range(i, 2).Value
TextBox4.text = Worksheets("Angebote").Range(i, 3).Value
TextBox5.text = Worksheets("Angebote").Range(i, 4).Value
TextBox6.text = Worksheets("Angebote").Range(i, 5).Value
End Sub



Private Sub TextBox1_Change()
If ListBox1.ListIndex = -1 Then Exit Sub
Worksheets("Angebote").Cells(i, 0).Value = TextBox1.text
End Sub



Private Sub TextBox2_Change()
If ListBox1.ListIndex = -1 Then Exit Sub
Worksheets("Angebote").Cells(i, 1).Value = TextBox2.text
End Sub



Private Sub TextBox3_Change()
If ListBox1.ListIndex = -1 Then Exit Sub
Worksheets("Angebote").Cells(i, 2).Value = TextBox3.text
End Sub



Private Sub TextBox4_Change()
If ListBox1.ListIndex = -1 Then Exit Sub
Worksheets("Angebote").Cells(i, 3).Value = TextBox4.text
End Sub



Private Sub TextBox5_Change()
If ListBox1.ListIndex = -1 Then Exit Sub
Worksheets("Angebote").Cells(i, 4).Value = TextBox5.text
End Sub



Private Sub TextBox6_Change()
If ListBox1.ListIndex = -1 Then Exit Sub
Worksheets("Angebote").Cells(i, 5).Value = TextBox6.text
End Sub



Private Sub UserForm_Activate()
Dim lxRow As Long
lxRow = 2
ListBox1.Clear
Do While Worksheets("Angebote").Cells(lxRow, 1).text  ""
ListBox1.AddItem Worksheets("Angebote").Cells(lxRow, 1).text
lxRow = lxRow + 1
Loop
End Sub


Vielen Dank

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox Eintrag auswählen und Textbox ausgabe
29.02.2008 16:46:00
fcs
Hallo Sven,
in deinem Code taucht öfters auf

Worksheets("Angebote").Cells(i, 0).Value 


Dies führt zu einem Fehler, da es keine Spalte 0 gibt.
Die Spaltenzählung fängt bei 1 an.
A = 1, B= 2 u.s.w.
Wahrscheinlich muss du fast alle Spaltenangaben in den Cells-Befehlen in deinem Code um 1 erhöhen.
Gruß
Franz

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige