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