Ich fragte mich, ob jemand mir bitte helfen könnte. Ich habe ein sehr einfaches Benutzerformular erstellt, um Informationen zu protokollieren. Mein Problem ist jedoch, wenn eines der Felder leer ist, erhalte ich eine Fehlermeldung:WorksheetFunction error Sub oder Funktion nicht definiert
Sub oder Funktion nicht definiert.
Private Sub CommandButton1_Click()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("Data")
'find first empty row in database
iRow = ws.Cells.Find(What:="*", SearchOrder:=xlRows, _
SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1
'check for a Name number
If Trim(QueryType.Value) = "" Then
QueryType.SetFocus
MsgBox "Please complete the form"
Exit Sub
End If
'copy the data to the database
ws.Cells(iRow, 1).Value = Format(Now, "DD/MM/YYYY")
ws.Cells(iRow, 2).Value = Format(Now, "HH:MM")
ws.Cells(iRow, 3).Value = Application.UserName
ws.Cells(iRow, 4).Value = CType.Value
ws.Cells(iRow, 5).Value = IName.Value
ws.Cells(iRow, 6).Value = QType.Value
ws.Cells(iRow, 7).Value = 1
ws.Cells(iRow, 8).Value = Format(Date, "MMM-YY")
'ws.Cells(iRow, 9).Value = Application.WorksheetFunction.VLookup(InternalName.Value, Sheet2.Range("C1:D23"), 2, 0)
'ws.Cells(iRow, 9).Value = Application.WorksheetFunction.IfError(VLookup(InternalName.Value, Sheet2.Range("C1:D23"), 2, 0), "")
ws.Cells(iRow, 10).Value = Application.WorksheetFunction.VLookup(InternalName.Value, Sheet2.Range("C1:E23"), 3, 0)
ws.Cells(iRow, 11).Value = "IB"
Unload Me
MsgBox "Data added", vbOKOnly + vbInformation, "Data Added"
End Sub
Das Problem in entweder einer der kommentierten aus Linien, wo ich den Fehler erhalten. Ich erhalte nur, wenn ich die Dropdown-Box leer lasse. Wenn es gefüllt ist, tritt kein Fehler auf. Ich könnte leicht eine zusätzliche Menüoption für "Nicht anwendbar" anpassen, aber es wäre eher leer. Hat jemand bitte irgendwelche Vorschläge?
Welche Zeile ist markiert, wenn Sie debuggen? – Kelaref
@Kelaref was auch immer iRow, 9 ich kommentieren. Entschuldigung, hätte ich sagen sollen. Ich hatte es ursprünglich nur als Vlookup. Als ich den Fehler bekam, dachte ich, dass eine Iferror-Funktion das Problem lösen würde, aber es führt zu demselben Ergebnis. – MBrann