Курс валют на сегодня или любую другую дату с помощью пользовательской функции VBA Excel «Курс валют» по информации с сайта ЦБР.
Функция «Курс валют»
Код функции для получения информации о курсах валют на сегодня или указанную дату с сайта ЦБР:
1 2 3 4 5 6 7 8 9 10 11 12 |
Function КурсВалют(Optional КодВалюты As String, Optional Дата As Date) As Double Dim myXml As Object, myDate As String Set myXml = CreateObject("msxml2.DOMDocument") If Not CBool(Len(КодВалюты)) Then КодВалюты = "USD" myDate = "?date_req=" & IIf(Дата, Дата, Date) myXml.async = 0 myXml.Load ("http://www.cbr.ru/scripts/XML_daily.asp" & myDate) With myXml.SelectSingleNode("*/Valute[CharCode='" & UCase(КодВалюты) & "']") КурсВалют = CDbl(.ChildNodes(4).Text) / Val(.ChildNodes(2).Text) End With Set myXml = Nothing End Function |
Описание функции
Функция «Курс валют» выгружает с сайта ЦБР XML-файл с курсами валют на указанную дату. Если дата не задана, по умолчанию выгружается информация о курсах валют на сегодня (на текущую дату).
В ячейке с функцией отображается курс указанной валюты. Если код валюты не задан, по умолчанию отображается курс доллара.
Параметры функции
Параметры функции «КодВалюты» и «Дата» являются необязательными:
- Если опустить параметр «КодВалюты», будет использован по умолчанию код доллара.
- Если опустить параметр «Дата», будет по умолчанию применена текущая дата.
- Если опустить оба параметра, будет возвращен курс доллара на сегодня (на текущую дату).
Для определения кода валюты используйте Общероссийский классификатор валют из Википедии. Буквенный код валюты расположен в первой колонке.