Найти дату в таблице - PullRequest
0 голосов
/ 02 мая 2018

У меня есть таблица:

Sheet name: 'DateSheet'
Table name: 'DateTable'

| Date       | First Field    | Second Field     | ...
+------------+----------------+------------------+-----
| 2018-01-01 | ...            | ...              | ...
| 2018-01-02 | ...            | ...              | ...
| 2018-01-03 | ...            | ...              | ...
| 2018-01-04 | ...            | ...              | ...

Все даты в формате Custom -> YYYY-MM-DD.

Я хочу выбрать строку, соответствующую определенной дате. Я написал следующий код, но он не работает:

Dim DateTable As Range
Set DateTable = DateSheet.ListObjects("DateTable").Range

Debug.Print Date                            // Returns "2018-05-02", today's date
Debug.Print DateTable.Address               // Returns "$B$5:$P$300", the correct Range address
Debug.Print DateTable.Find("Date").Address  // Returns "$B$5", the correct row
Debug.Print DateTable.Cells(123,1).Value    // Returns "2018-05-02", today's date

// Everything seems to be OK, until now, where I get:
// Err: "Object variable or With block variable not set" :
Debug.Print DateTable.Find(Date).Address    
Debug.Print DateTable.Find(CDate(Date)).Address
Debug.Print DateTable.Find(Format(Date, "YYYY-MM-DD")).Address
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...