Range.Find не может найти метку времени - PullRequest
0 голосов
/ 26 марта 2020

Я думаю, что я буквально пытался все, включая преобразование метки времени обратно в дату, используя CDate Код - это тест, который я запускаю, чтобы заставить Range.Find работать в первую очередь. Файл, в котором я ищу метку времени, отформатирован как специальный дд.мм.гггг чч: мм, например 01.01.2019 00: 00 , тогда как в строке формул это 01.01.2019 00 : 00: 00

РЕДАКТИРОВАТЬ: Удалены кавычки вокруг sDate, ошибка копирования и вставки

Sub trial()
Dim r As Range
Dim sDate As String
Dim find As Range
Dim col As Long


Set r = ThisWorkbook.Worksheets("INPUT_WIND").Range("d11")

col = ThisWorkbook.Worksheets("INPUT_WIND").Range("d11").Column

sDate = Format(r.Offset(, -col + 2), "dd.mm.yyyy hh:mm")

Debug.Print sDate
Set find = Workbooks("FINO raw-010119-310819").Worksheets(1).Range("A:A").find(sDate, LookIn:=xlValues, lookat:=xlWhole, MatchCase:=False, SearchFormat:=True)

If Not find Is Nothing Then

Debug.Print find.Offset(, 1)

Else

MsgBox "nicht gefunden"

End If

End Sub

1 Ответ

0 голосов
/ 26 марта 2020

Попробуйте это исправить

Sub trial()
    Dim r As Range
    Dim sDate As String
    Dim find As Range
    Dim col As Long


    Set r = Range("d11")

    col = Range("d11").Column

    sDate = r.Offset(, -col + 2)

    Debug.Print sDate
    Set find = Worksheets(1).Range("A:A").find(CDate(sDate), LookIn:=xlValues, lookat:=xlWhole, MatchCase:=False, SearchFormat:=True)

    If Not find Is Nothing Then

        Debug.Print find.Offset(, 1)

    Else

        MsgBox "nicht gefunden"

    End If

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