Как использовать значение переменной ячейки в запросе API - PullRequest
0 голосов
/ 03 июля 2018

Я новичок в VBA и хотел бы усовершенствовать последний шаг в сложной электронной таблице. Я надеюсь, что кто-то может мне помочь.

Мне нужно конвертировать евро в доллары США на основе исторических дат, которые можно найти в соседних ячейках, и мне нужно сделать это для всего столбца.

Мой запрос работает нормально с фиксированной датой, без переменных. Как можно выполнить этот тип запроса с VBA для каждой строки при вставке соответствующей переменной даты?

У меня есть столбец B с датой, столбец R с измененной датой и столбец S со значением евро.

Моя целевая ячейка будет похожа на приведенную ниже формулу, где я вставлю в скобки, где мне нужны переменные, примененные к поисковому запросу. (даты). В основном: если B5 пусто - ничего не делать, если R5 (измененная дата) пусто - использовать дату B5 для поиска или использовать дату R5 для поиска

=IF( B5="",  "", IF(R5="",[QUERY DATE VALUE IS B5] S5*XCH!B2, [QUERY DATE VALUE IS R5] B5*XCH!B2))

Извините, если я не очень техничен, поэтому я включаю всю имеющуюся у меня информацию.

Мой рабочий запрос (не VBA) настроен так: (Примечание Дата в запросе) ПРИКЛАДНЫЕ ШАГИ:

Источник: = Web.Page(Web.Contents("https://www.x-rates.com/historical/?from=EUR&amount=1&date=2018-07-01"))

Навигация: = Source{0}[Data]

Измененный тип: = Table.TransformColumnTypes(Data,{{"Euro", type text}, {"1.00 EUR", type number}, {"inv. 1.00 EUR", type number}})

Удалены нижние строки: = Table.RemoveLastN(#"Changed Type",8)

Например, в моей целевой ячейке простая формула, приведенная ниже, работает с использованием фиксированной даты, вставленной в запрос (а не соответствующей даты).

=IF( B5="",  "", IF(R5="", S5*XCH!B2, S5*XCH!B2))

Теперь, как мне получить вышеуказанные результаты для каждой ячейки, НО, основываясь на значениях в R5 и S5 соответственно?

Возможно ли вообще запустить VBA для каждой отдельной ячейки в столбце? Все данные в настоящее время импортируются с помощью макроса из другого листа. Нет ввода пользователя.

Так что я бы либо использовал макрос-кнопку для обновления всех значений при клике, либо использовал VBA для обновления значения евро в момент импорта данных.

Я очень ценю любую помощь, которую могу получить.

...