Problem bei Eingabemaske

Hallo und guten Abend an die VBA ler. Habe einen VBA Code der an folgender Zeile scheitert.
If seekArb(txtPosNr, rngRow) Then. Ich verwende eine Eingabemaske zur Eigabe der Daten.
Aber mich mal in der KI versucht, aber das war nicht erfolgreich. Der Fehlertext hierzu: Objektvariable bzw. With-Blockvariable nicht festgelegt. Kann mir jemand mit einfachen Erklärungen ggf. Codetext weiter helfen?

Moin,

da wäre zu prüfen, ob das Objekt überhaupt lebt:

   If not Isnull(seekArb) ...

txtPosNr und rngRow auf Inhalte prüfen.

Gruß
Ralf

Danke, habe deinen Vorschlag eingefügt. Fehler beim Kompilieren, „Argument nicht optional“ kommt dann als Ergebnis. Ich stelle den Code hier mal ein, um vielleicht einfacher einen Fehler erkennen zu können. Gruß und ein schönes Wochenende

Private Sub cmdNew_Click()

Dim txtPosNr As Object, txtNummer As Object, txtNachname As Object, txtVorname As Object, txtStrasse As Object, _
usw

antwort, indextb, ufelemente, Eintrag
Worksheets(„Tabelle1“).Unprotect
’ Dim lZeile As Long, i As Long, eintrag As Long, rngRow As Range,
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
ufelemente = Array(„txtPosNr“, „txtnummer“, „txtAnrede“, „txtNachname“, „txtVorname“, „txtStrasse“, „txtPlz“, „txtWohnort“, „txtTelefon“, _
usw
indextb = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)

lZeile = wsat.Cells(Rows.Count, 1).End(xlUp).Row + 1
Eintrag = 0
          '      Set txtPosNr = Me.IstData
' If Not seekArb(txtPosNr, rngRow) Then
If Not IsNull(seekArb) Then
    Else
        Exit Sub
End If
For i = 0 To UBound(ufelemente)
    If Trim(Me.Controls(ufelemente(i))) <> Trim(rngRow.Cells(, indextb(i)).Value) Then
        mvntWert = Trim(rngRow.Cells(, indextb(i)).Value)
       	 Eintrag = Eintrag + 1
    End If
Next i
If Eintrag > 0 Then cmdSave_Click
antwort = MsgBox("Wollen Sie einen neuen Datensatz anlegen?", 4, "Neuer Datensatz")
 If antwort = 6 Then
   		 lstData.ListIndex = lstData.ListCount - 1
    	Eintrag = 0
    For i = 2 To UBound(ufelemente)

If Trim(Me.Controls(ufelemente(i))) <> „“ Then Eintrag = Eintrag + 1
Next i
If txtPosNr = lZeile - 1 And txtNummer = „NeuMtgld“ And Eintrag = 0 Then
MsgBox „Es liegt noch ein unbearbeiter neuer Datensatz vor!“ & vbNewLine & „Es wird keine neuer Satz erstellt!“, , „Abbruch Datensatzerstellung“
Exit Sub
End If
neusatz = True
wsat.Cells(lZeile, 1) = CStr(lZeile)
wsat.Cells(lZeile, 2) = CStr(„NeuMtgld“)
wsat.Cells(lZeile, 1) = WorksheetFunction.Max(wsat.Columns(1)) - 1
lstData.AddItem
lstData.List(lstData.ListCount - 1, 1) = CStr(„NR“ & lZeile)
lstData.ListIndex = lstData.ListCount - 1
neusatz = False
End If
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Call Calculate
End Sub

Tut mir leid, aber in diesem Wust finde ich mich nicht zurecht, da ist ja nichtmal die Zeile markiert,die den Fehler auslöst. Deine Frage wäre in einem Forum besser aufgehoben, das Code darstellen kann. Versuch’s mal bei MSO.

Gruß
Ralf

ps: Ein paar Worte zu Sinn & Zweck wären auch angebracht.