Получение значение формулы без записи ее в ячейку

Автор lsg, 23.05.2011, 12:04

« назад - далее »

exceleved

#15
Как ни странно, надо конвертировать дату в число, тогда ищет:
   Курс = WorksheetFunction.VLookup(CDbl(ТекущаяДата), Range("A2:C9999"), 2, 1)
А лучше объявите переменную как Double или Long, тогда этой конвертации не надо.
Dim ТекущаяДата As Long
'...
For ТекущаяДата = ТекущаяДата To ДатаОтчетная
   Курс = WorksheetFunction.VLookup(ТекущаяДата, Range("A2:C9999"), 2, 1)
   Сумма2 = Курс * Сумма
   Range("G" & N) = ТекущаяДата
   Range("H" & N) = Сумма2
   N = N + 1
Next

Еще можно загрузить таблицу в массив, использовать его в VLookup. Результат записывать в другой массив и потом выгрузить на лист. Это если будет тормозить на больших таблицах.