SVerweis von Listbox und Combobox Eintrag
27.01.2025 19:14:37
Marc
Ich habe in einer Userform 2 Listboxen und 7 Comboboxen, welche unterschiedlich und nacheinander gelistet in einer Rechnung auftauchen sollen. Die Listboxen, funktionieren soweit und die Einträge funktionieren. Nun, was muss ich an meinem bereits erstellten Code ändern, dass Combobox3 (wenn aktiviert durch Checkbox3) unter die Einträger der Listbox1 angehängt werden, in die nächste freie Zeile?
Ebenfalls sollte es möglich sein, dass ich den sverweis übernehmen könnte von Tabelle 4 (Preisliste). Das ganze funktioniert über einen CommandButton7
Der Code bisher: (ausser fett funktionierts bis dahin)
With UserForm1
Dim last As Integer
last = Worksheets("Rechnung").Activate 'Activate nur zum Test enthalten
Sheets("Rechnung").Range("A19:A27").ClearContents
Cells(15, 3).Value = TextBox10.Text
If CheckBox5.Value = True Then Cells(19, 1).Value = ComboBox1.Value
End With
Const zeile = 19
Const Spalte = 1
Dim zähler As Integer
Dim i As Integer
With ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) Then
Cells(zeile + zähler, Spalte) = .List(i)
zähler = zähler + 1
Range(zeile + zähler, Spalte) = WorksheetFunction.VLookup(i, Worksheets("Preisliste").Range("B"), 2, False)
Range(zeile + zähler, Spalte) = WorksheetFunction.VLookup(i, Worksheets("Preisliste").Range("C"), 3, False)
End If
Next i
With ListBox2
For i = 0 To .ListCount - 1
If .Selected(i) Then
Cells(zeile + zähler, Spalte) = .List(i)
zähler = zähler + 1
Cells(zeile + zähler, Spalte + 1) = WorksheetFunction.VLookup(i, Worksheets("Preisliste").Range("B"), 5, False)
Cells(zeile + zähler, Spalte + 2) = WorksheetFunction.VLookup(i, Worksheets("Preisliste").Range("C"), 6, False)
End If
Next i
With CheckBox3 'oder eben Combobox3 (Spalte A), Combobox4 ist dann die Menge, welche in Spalte E eingetragen wird
For i = 0 To 0
If CheckBox3 = True Then
Cells(zeile + zähler, Spalte) = .Value(i)
zähler = zähler + 1
Cells(zeile + zähler, Spalte + 1) = WorksheetFunction.VLookup(i, Worksheets("Preisliste").Range("B"), 5, False)
Cells(zeile + zähler, Spalte + 2) = WorksheetFunction.VLookup(i, Worksheets("Preisliste").Range("C"), 6, False)
End If
Next i
End With
End With
End With
End Sub
Anzeige