Я открыл новое соединение ADODB и установил новый набор записей с датами в первом поле и значениями во втором поле.
- 01/01/2016
- 02/01/2016
- 04/01/2016
- 05/01/2016
Итак, я создаю функцию myfunction(mydate)
, которая должна возвращать максимально доступную дату, которая равна или меньше (ранее), чем mydate:
myfunction(mydate as date)
Dim CurrentDate as Date
Set rst = cn.Execute("SELECT * FROM tbl1 ORDER BY dates;")
CurrentDate = worksheetfunction.INDEX(rst.Fields(0),worksheetfunction.MATCH(CDate(CurrentDate),rst.Fields(0), 1))
myfunction = CurrentDate
end function
Результаты должны быть
- моя функция ("01.02.2016") = 01.02.2016
- моя функция ("01.03.2016") = 01.02.2016
Это работает в электронной таблице Excel, но выдает ошибку «Невозможно получить свойство Match функции WorksheetFunction». Есть ли другой способ получить результат, используя этот массив?
rst.Fields(0)
не является массивом? - person Gedeon   schedule 06.04.2016