Я работаю с данными, извлеченными из PDF в Excel. Я пытаюсь создать макрос, который будет проверять ввод даты на вкладке «Руководство» и копировать данные всех строк с соответствующей датой с одного листа на другой.
Sub Copy()
Dim lastrow As Long
Dim myRow As Long
Dim myCopyRow As Long
Dim Data As Worksheet
Dim Form As Worksheet
Set Data = Sheets("PDF Data ")
Set Form = Sheets("Formula")
myCopyRow = 2
lastrow = Data.Cells(Data.Rows.Count, "A").End(xlUp).Row
Application.ScreenUpdating = False
With Data
For myRow = 1 To lastrow
If Data.Cells(myRow, "A") = Sheets("Guide").Cells(C3) Then
Data.Cells(myCopyRow, "B") = Form.Cells(myRow, "A")
myCopyRow = myCopyRow + 1
End If
Next
End With
Application.ScreenUpdating = True
Application.CutCopyMode = False
End Sub
при отладке получаю следующее:
"Ошибка времени выполнения" 1004 ": ошибка приложения или объекта2"
для строки:
Если Data.Cells (myRow, "A") = Sheets ("Guide"). Ячейки (C3) Тогда
Данные, которые я пытаюсь сравнить, являются датами. Дата ввода пользователя в «Руководстве» распознается и форматируется Excel как короткая дата, однако дата на Листе 1 первоначально распознается как строка текста, поскольку она разбивается по формуле из более крупной строки. Сначала я думал, что это проблема, поэтому попытался переформатировать без удачи.
Я надеюсь, что кто-то может взглянуть и сообщить мне, если что-то не так с вышеуказанным кодом, и подтвердить, что обе ячейки с обеими должны быть распознаны как даты? и может ли VBA конвертировать их перед проверкой?
Заранее спасибо.