Editar registro de Excel en formulario de usuario

Editar registro de Excel en formulario de usuario

Me gustaría editar los registros de mi tabla usando un formulario de usuario. Sin embargo, el siguiente código sólo funciona para la primera fila (no tengo idea de por qué). ¿Podría ayudarme a modificar mi código para que funcione en cualquier fila que desee modificar? Siempre recibo el error "Type Mismatch" y luego me señala en este código "WriteRow = Application.Match(ABnum, ABrng, 0)"

Este es mi código hasta ahora:

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

Además, me gustaría obligar a mi usuario a utilizar únicamente los formularios de usuario para agregar y editar registros. Intenté proteger la hoja, pero con este método no puedo editar ni agregar nada mediante formularios. ¡Por favor ayuda! ¡Gracias de antemano!

información relacionada