Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Wert in Tabellenblatt suchen - Listbox
11.04.2019 14:44:51
Chris
Hallo Forum,
ich habe eine Listbox mit 11 Spalten (Füllung per Rowsource).
In der ersten Spalte der Listbox stehen laufende Nummern, beginnend bei 1.
Die Listboxeinträge werden jeweils in Textfeldern innerhalb einer Userform angezeigt.
Excel soll anhand der laufenden Nummern - diese wird im Label1 angezeigt - den ausgewählten Eintrag in im Sheet suchen und die Zelleninhalte mit den Inhalten aus den TextBoxen überschreiben.
Das unten stehende Makro funktioniert größtenteils. Ich stelle jedoch fest, dass Excel nicht die genaue laufende Nummer sucht. Ist beispielsweise in der Listbox der Wert "2." angeklickt, findet Excel bsp. die Zahl 322. - also dort wie "2." vorkommt.
Wie kann ich eine genau Übereinstimmung der Werte vornehmen? Danke und Gruß Chris
Hier das Makro:
Private Sub ListBox1_Click()
With ListBox1
If .ListIndex  -1 Then
Label1.Caption = .List(.ListIndex, 0) 'Lfd. Nr.
TextBox1.Value = .List(.ListIndex, 1) 'Anbieter
TextBox2.Value = .List(.ListIndex, 2) 'Kategorie
TextBox3.Value = .List(.ListIndex, 3) 'Artikel / Hersteller
TextBox4.Value = .List(.ListIndex, 4) 'Gebinde
TextBox5.Value = .List(.ListIndex, 5) 'Menge
TextBox6.Value = .List(.ListIndex, 6) 'Preis Netto
TextBox7.Value = .List(.ListIndex, 7) 'Preis Brutto
TextBox8.Value = .List(.ListIndex, 8) 'Menge p. P.
TextBox9.Value = .List(.ListIndex, 9) 'Preis p. P.
TextBox10.Value = .List(.ListIndex, 10) 'Bestand
End If
End With
End Sub

Sub SucheUndErsetze()
Dim ende As Long
ende = Sheets("Warenkorb").Range("D:D").Find(What:=UserForm1.Label1.Caption, searchorder:=xlByRows, SearchDirection:=xlPrevious).Row
With Sheets("Warenkorb")
.Range("A" & ende).Offset(, 1).Value = UserForm1.TextBox1 'Anbieter
.Range("A" & ende).Offset(, 2).Value = UserForm1.TextBox2 'Kategorie
.Range("A" & ende).Offset(, 3).Value = UserForm1.TextBox3 'Artikel/Hersteller
.Range("A" & ende).Offset(, 4).Value = UserForm1.TextBox4 'Gebinde
.Range("A" & ende).Offset(, 5).Value = UserForm1.TextBox5 'Menge
.Range("A" & ende).Offset(, 6).Value = UserForm1.TextBox6 'PreisNetto
.Range("A" & ende).Offset(, 7).Value = UserForm1.TextBox7 'PreisBrutto
.Range("A" & ende).Offset(, 8).Value = UserForm1.TextBox8 'MengePP
.Range("A" & ende).Offset(, 9).Value = UserForm1.TextBox9 'PreisPort.
.Range("A" & ende).Offset(, 10).Value = UserForm1.TextBox10 'Bestand
End With
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wert in Tabellenblatt suchen - Listbox
11.04.2019 15:02:37
Werner
Hallo Chris,
wieso denn mit Find? Wenn du die Listbox mit RowSource befüllst, dann kannst du doch die jeweilige Zeile doch über den Listindex der Listbox ansprechen.
Beispiel:
Ist der erste Eintrag der Listbox gewählt, dann ist das der Listindex 0
Beginnen die Daten deiner RowSource z.B. in Zeile 5, dann kannst du diese Zeile ansprechen mit
.cells(Me.Listox1.Listindex + 5, 1) = Me.TextBox1

Du mußt nur jeweils die Startzeile deiner RowSource auf den Listindex aufaddieren, dann hast du die richtige Zeile in der Tabelle.
Gruß Werner
Anzeige
AW: Wert in Tabellenblatt suchen - Listbox
11.04.2019 16:43:55
Chris
Hallo Werner,
danke für die Antwort. Es funktioniert. Weshalb funktioniert mein Makro nicht?
Gruß
Chris
Gerne u. Danke für die Rückmeldung und...
11.04.2019 17:34:57
Werner
Hallo Chris,
...die Antwort auf deine Frage hast du ja jetzt auch.
Gruß Werner
AW: Wert in Tabellenblatt suchen - Listbox
11.04.2019 15:51:58
Rudi
Hallo,
ende = Sheets("Warenkorb").Range("D:D").Find(What:=UserForm1.Label1.Caption, LookAt:=xlwhole, searchorder:=xlByRows, SearchDirection:=xlPrevious).Row
Gruß
Rudi
AW: Wert in Tabellenblatt suchen - Listbox
11.04.2019 16:48:57
Chris
Hi Rudi,
danke ! Der fehlende xlwhole Eintrag. Es sucht nach einer genauen Übereinstimmung. Jetzt läuft mein Makro ebenso.
Danke und Grüße
Chris

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige