Макрос не будет копировать значения из-за ошибки времени выполнения 438 - PullRequest
0 голосов
/ 27 сентября 2019

Я пытаюсь создать макрос, который будет копировать данные с одного листа формы на другой лист журнала.Я быстро придумал немного кода, который, как я думал, сработает, но в момент копирования значений я получаю «Runtime Error 438», и после поиска в Интернете я все еще не могу разобраться в этом.

    Private Sub cmdAdd_Click()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("Log")

'find first empty row in database
iRow = ws.Cells.Find(What:="*", SearchOrder:=xlRows, _
    SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1


'copy the data to the log sheet

With ws

  .Cells(iRow, 1).Value = Worksheets("Form").Value(D3)            'this is where runtime error occurs.
  .Cells(iRow, 2).Value = Worksheets("Form").Value(D5)
  .Cells(iRow, 3).Value = Worksheets("Form").Value(D10)
  .Cells(iRow, 4).Value = Worksheets("Form").Value(D12)

End With

'clear the data
Worksheets("Form").Value(D3) = ""
Worksheets("Form").Value(D5) = ""
Worksheets("Form").Value(D10) = ""
Worksheets("Form").Value(D12) = ""

End Sub

Мне было просто интересно, понял ли кто-нибудь ошибку, как она применима к моему коду, и мог бы дать краткое изложение того, почему это происходит?Это будет с благодарностью.Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...