Я новичок в 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 для обновления значения евро в момент импорта данных.
Я очень ценю любую помощь, которую могу получить.