habe mehrere kleine Fehler und Fragen zu den VBA-Codes, kann sich jemand das anschauen, habe dies in einer Datei beschrieben.
Währe super von euch.
Danke Andy
https://www.herber.de/bbs/user/90429.xlsm
Private Sub Ok_Click()
With Me.ComboBox1
If .ListIndex = -1 Then
MsgBox "Bitte erst einen Eintrag in der Combobox wählen!"
ComboBox1.SetFocus
Else
Worksheets("Datenliste").Range("d3").Value = Me.ComboBox1.Value
Unload Me
End If
End With
End Sub
Private Sub UserForm_Initialize()
With ComboBox1
.ColumnCount = 1
.ColumnHeads = False
ComboBox1.RowSource = "Datenliste!b3:b18"
End With
Worksheets("Datenliste").Range("d3").ClearContents
End Sub
With Worksheets("Ersatzteilliste")
.Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).Value = ActiveCell.Row
End With
zeilenanzahl = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
ActiveSheet.Cells(zeilenanzahl, 21).Value = CDate(datum2)
ActiveSheet.Cells(zeilenanzahl, 22).Value = CDbl(menge2)
ActiveSheet.Cells(zeilenanzahl, 23).Value = Name2
ActiveSheet.Cells(zeilenanzahl, 24).Value = wnummer
ActiveSheet.Cells(zeilenanzahl, 25).Value = CDbl(preisaktuell)
ActiveSheet.Cells(zeilenanzahl, 25).Style = "Currency"
Sub suchen()
Dim wks As Worksheet
Set wks = Worksheets("Ersatzteilliste")
With wks
If .FilterMode = True Then
.ShowAllData
End If
.AutoFilter.Range.AutoFilter Field:=6, Criteria1:="Nachbestellung"
End With
End Sub
Sub suchen()
Dim suche As String
Dim z As Integer, Zeile As Long
With Worksheets("Ersatzteilliste")
If .FilterMode = True Then
.ShowAllData
End If
suche = "Nachbestellung"
z = 0
strg = ""
For Zeile = 5 To .Cells(.Rows.Count, 6).End(xlUp).Row
'wenn die Zelle den gesuchten Wert enthält:
If .Cells(Zeile, 6).Value = suche Then
z = z + 1
strg = strg & vbLf & .Cells(Zeile, 1).Value & " - " & .Cells(Zeile, 4).Value
End If
Next Zeile
End With
strg = "Es sind folgende " & z & " Artikel nachzubestellen" & vbLf _
& "Bezeichnung - Istmenge" & vbLf & strg
MsgBox strg, vbInformation, "Bestellliste:"
End Sub
Gruß