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!