Я создал пользовательскую форму для записи и получения данных о тестируемых двигателях. Для одного типа двигателя код работает нормально, для другого у меня проблема. Единственное различие между ними заключается в названии страницы, на которой хранятся данные, для рабочей - это данные DW10, а для нерабочей - это данные XUD9. Он будет записывать данные XUD9 и извлекать из них без проблем, но не позволит мне обновить их, поэтому это не может быть именем листа, поскольку ни одна из пользовательских форм не будет работать.
Форма пользователя XUD9 точно такая же, как форма DW10, это копия с измененными только именами.
Private Sub confirmupdate_Click()
Dim Rerow As Range
Set Rerow = Worksheets("DW10 Data").Range("H:H").Find(Codetext, searchdirection:=xlPrevious)
Worksheets("DW10 Data").Cells(Rerow.Row, 2).Value = Rigtext2.Text
Worksheets("DW10 Data").Cells(Rerow.Row, 4).Value = Serialtext2.Text
Worksheets("DW10 Data").Cells(Rerow.Row, 5).Value = Hourstext2.Text
Worksheets("DW10 Data").Cells(Rerow.Row, 3).Value = CDbl(CDate(Datetext2))
Worksheets("DW10 Data").Cells(Rerow.Row, 6).Value = parttext2.Text
Worksheets("DW10 Data").Cells(Rerow.Row, 7).Value = commentstext2.Text
Worksheets("DW10 Data").Cells(Rerow.Row, 8).Value = codetext2.Text
confirmupdate.Visible = False
End Sub
Private Sub confirmupdate_Click()
Dim Rerow As Range
Set Rerow = Worksheets("XUD9 Data").Range("H:H").Find(Codetext, searchdirection:=xlPrevious)
Worksheets("XUD9 Data").Cells(Rerow.Row, 2).Value = Rigtext2.Text
Worksheets("XUD9 Data").Cells(Rerow.Row, 4).Value = Serialtext2.Text
Worksheets("XUD9 Data").Cells(Rerow.Row, 5).Value = Hourstext2.Text
Worksheets("XUD9 Data").Cells(Rerow.Row, 3).Value = CDbl(CDate(Datetext2))
Worksheets("XUD9 Data").Cells(Rerow.Row, 6).Value = parttext2.Text
Worksheets("XUD9 Data").Cells(Rerow.Row, 7).Value = commentstext2.Text
Worksheets("XUD9 Data").Cells(Rerow.Row, 8).Value = codetext2.Text
confirmupdate.Visible = False
End Sub
Сообщение об ошибке, которое я получаю в версии XUD9, в основном Rerow is Nothing, поэтому, очевидно, он не может найти значение Codetext для возврата нужной строки, но DW10 отлично работает с точно таким же кодом.
Есть что-то очевидное, что я упускаю? Я новичок в VBA и самоучка (Google - твой друг), так что это может быть что-то очень простое.