Я хотел бы редактировать свои записи таблицы, используя форму пользователя. Однако приведенный ниже код работает только для первого ряда (я понятия не имею, почему). Не могли бы вы помочь мне изменить мой код, чтобы он работал в любой строке, которую я хотел бы изменить? Я всегда получаю ошибку "Несоответствие типов", а затем указывает мне в этом коде «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

Кроме того, я хотел бы заставить моего пользователя использовать только пользовательские формы для добавления и редактирования записей. Я пытался защитить лист, но с помощью этого метода я не могу редактировать или добавлять что-либо с помощью форм. Пожалуйста помоги! Заранее спасибо!

0