Ich möchte meine Tabellendatensätze mithilfe eines Benutzerformulars bearbeiten. Der folgende Code funktioniert jedoch nur für die erste Zeile (ich habe keine Ahnung, warum). Können Sie mir bitte helfen, meinen Code so zu ändern, dass er für jede Zeile funktioniert, die ich ändern möchte? Ich erhalte immer die Fehlermeldung „Typ stimmt nicht überein“ und werde dann auf diesen Code verwiesen: „WriteRow = Application.Match(ABnum, ABrng, 0)“
Dies ist mein Code bisher:
Application.ScreenUpdating = False
Dim LastRow As Long
Dim ABnum As String
Dim ABrng As Range
Dim WriteRow As Long
Sheets("CDP DATABASE").Select
With ActiveSheet
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
Set ABrng = .Range("B7:B" & LastRow)
ABnum = txtemn.Value
WriteRow = Application.Match(ABnum, ABrng, 0)
Cells(WriteRow, 1).Select
End With
With ActiveCell
.Offset(0, 1).Value = txtemn.Value
.Offset(0, 2).Value = txtcode.Value
.Offset(0, 3).Value = txttype.Value
End With
Application.ScreenUpdating = True
Außerdem möchte ich meinen Benutzer zwingen, nur die Benutzerformulare zum Hinzufügen und Bearbeiten von Datensätzen zu verwenden. Ich habe versucht, das Blatt zu schützen, aber mit dieser Methode kann ich mithilfe von Formularen nichts bearbeiten oder hinzufügen. Bitte helfen Sie! Vielen Dank im Voraus!