Ich erhalte derzeit einen Laufzeitfehler '91 'Objektvariable oder mit Blockvariable wurde für den markierten Code nicht festgelegt. Das Ziel dieses Codes besteht darin, anhand der Eingabe aus dem Benutzerformular nach einem benannten Produkt zu suchen und dieses dann auf die verfügbare Menge zu verteilen. Danach wird der alte Wert durch einen neuen Wert ersetzt, indem der aktuelle Wert mit der bestellten Menge subtrahiert wird.Ersetzen des alten Werts durch einen neuen Wert basierend auf der Eingabe eines Benutzerformulars
Private Sub btnAdd_Order_Click()
Dim X As Integer
Dim nextrow As Range
Dim DateCus As Range
Dim i As Range
If Me.txtOrder_No.Value = "" Then
MsgBox "Add an Order No"
Exit Sub
End If
If Me.Order1.Value = "" And Me.Qty1.Value = "" Then
MsgBox "No order was specified. Please input an order"
Exit Sub
Else
For X = 1 To 8
Set nextrow = Sheet6.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0)
If Me.Controls("Order" & X).Value > "" And Me.Controls("Qty" & X).Value > "" Then
If Me.Controls("Qty" & X).Value < Application.WorksheetFunction.VLookup(Me.Controls("Order" & X), Sheet4.Range("Products"), 4, 0) Or Me.Controls("Qty" & X).Value = Application.WorksheetFunction.VLookup(Me.Controls("Order" & X), Sheet4.Range("Products"), 4, 0) Then
'This is the one causing the error
Set i = Sheet3.Range("Ingredients").Find(Me.Controls("Order" & X).Value).Offset(0, 3)
i = Application.WorksheetFunction.VLookup(Me.Controls("Order" & X), Sheet4.Range("Products"), 4, 0).Value - Me.Controls("Qty" & X).Value
'End If
Else
MsgBox "There's no stock available for one of the orders"
Es hilft immer festzustellen, welche Zeile den Fehler verursacht. –