Я хотел бы редактировать свои записи таблицы, используя форму пользователя. Однако приведенный ниже код работает только для первого ряда (я понятия не имею, почему). Не могли бы вы помочь мне изменить мой код, чтобы он работал в любой строке, которую я хотел бы изменить? Я всегда получаю ошибку "Несоответствие типов", а затем указывает мне в этом коде «WriteRow = Application.Match (ABnum, ABrng, 0)"
Это мой код до сих пор:
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
Кроме того, я хотел бы заставить моего пользователя использовать только пользовательские формы для добавления и редактирования записей. Я пытался защитить лист, но с помощью этого метода я не могу редактировать или добавлять что-либо с помощью форм. Пожалуйста помоги! Заранее спасибо!