Хитрости »
Основные понятия (22)
Сводные таблицы и анализ данных (6)
Графики и диаграммы (4)
Работа с VB проектом (10)
Power BI и Power Query (8)
Условное форматирование (5)
Списки и диапазоны (5)
Макросы(VBA процедуры) (60)
Разное (36)

Получить курс валют от ЦБР

 

Вы часто используете конвертер валют? А в Excel? Приходится ли вам ежедневно изменять свои расчеты, переводя их по отношеню к доллару, евро или иной валюте? А может еще и на разные даты? Если да - то эта статья для вас. Приведенная ниже функция пользователя позволяет получить курс валюты на заданную дату.

Синтаксис функции:
=КурсЦБР(A1;B1)
=КурсЦБР("EUR";"12.09.2013")
=КурсЦБР("EUR")
=КурсЦБР()

ТипВалюты(A1) - Необязательный аргумент. Ссылка на ячейку или текстовое обозначение валюты. Если не указан - возвращает курс доллара. Некоторые из доступных валют:

  • AUD - Автралийский доллар(Australian Dollar)
  • BYR - Беларусский рубль(Belarusian Rouble)
  • DKK - Датская крона(Danish Krones)
  • USD - Американский доллар(United States Dollar)
  • EUR - ЕВРО(European Monetary Unit)
  • ISK - Исландская крона(Icelandic Krona)
  • KZT - Казхстанский тенге(Kazakhstan Tenge)
  • CAD - Канадский доллар(Canadian Dollar)
  • CNY - Китайский Ренминби Юаня(Chinese Yuan Renminbi)
  • TRY - Турецкая Новая Лира(Turkish New Lira)
  • NOK - Норвежская Крона(Norwegian Krone)
  • XDR - СДР - Специальные права заимствования(Special Drawing Right)
  • SGD - Сингапурский Доллар(Singapore Dollar)
  • UAH - Украинская гривна(Ukrainian Hryvnia)
  • GBP - Фунт Стерлингов Объединенного Королевства(United Kingdom Pound Sterling)
  • SEK - Шведская Крона(Swedish Krona)
  • CHF - Швейцарский Франк(Swiss Franc)
  • JPY - Японская Иена(Japanese Yen)

Дата(B1) - необязательный аргумент. Ссылка на ячейку с датой либо непосредственно дата. Если не указан, то используется текущая дата.


И реализация чуть проще от пользователя krosav4ig - через встроенный парсер XML:

Аргументы и методы их указания полностью идентичны аргументам в первом варианте функции:
ТипВалюты(A1) - Необязательный аргумент. Ссылка на ячейку или текстовое обозначение валюты. Если не указан - возвращает курс доллара.
Дата(B1) - необязательный аргумент. Ссылка на ячейку с датой либо непосредственно дата. Если не указан, то используется текущая дата.


Статья помогла? Не держи в себе, поделись ссылкой с друзьями!

Поиск по меткам

Access Multex Outlook Power BI Power Query и Power BI VBA работа в редакторе VBA управление кодами Бесплатные надстройки Дата и время Диаграммы и графики Записки Защита Защита данных Интернет Картинки и объекты Листы и книги Макросы и VBA Настройка Печать Поиск данных Поиск решения Почта Программы Работа с приложениями Работа с файлами Разработка приложений Сводные таблицы Списки Тренинги и вебинары Финансовые Форматирование Формулы и функции Функции Excel Функции VBA Ячейки и диапазоны акции MulTEx анализ данных вебинар ссылки статьи тренинг
Обсуждение: 7 комментариев
  1. Есть проблема - тип валюты показывает всегда верхнюю строку AUD Автралийский доллар(Australian Dollar)

    Рейтинг: 0
  2. Олег, спасибо. Исправил код.

    Рейтинг: 0
  3. может я чего-то не понимаю, но помоему проще брать данные из xml, чем парсить thml
    Function ЦБР#(Optional Curr$, Optional dDate As Date) As Double    Dim d As New DOMDocument, date_req$    Set d = New DOMDocument    If Not CBool(Len(Curr)) Then Curr = "USD"    date_req = "?date_req=" & IIf(dDate, dDate, Date)    d.async = 0: d.Load ("http://www.cbr.ru/scripts/XML_daily.asp" & date_req)    With d.SelectSingleNode("*/Valute[CharCode='" & UCase(Curr) & "']")        ЦБР = CDbl(.ChildNodes(4).Text) / Val(.ChildNodes(2).Text)    End With    Set d = NothingEnd Function
    синтаксис
    =ЦБР()
    =ЦБР(;"1 1 14")
    =ЦБР("aud")
    =ЦБР("eur";"1-1-2014")
    =ЦБР("cad";"1.1.14")
    =ЦБР("cad";"1,1,2014")
    =ЦБР("jpy";"1/1/14")

    Рейтинг: 0

  4. немного ошибся, в 1 строке кода лишнее as double, и еще забыл, =ЦБР(;"1 января 2014") тоже работает

    Рейтинг: 0
  5. krosav4ig, согласен. Даже уже видел такую реализацию, но обновить статью дополнив кодом руки пока не доходят. В ближайшее время дополню кодом с чтением схемы XML через встроенную библиотеку.
    В Вашем коде лучше использовать позднее связывание, дабы не заставлять пользователей подключать из VBA нужную библиотеку.

    Рейтинг: 0
  6. гость:

    Что то не понятно вообще. А где сама процедура запроса?
    d.Load тут маловато. USD вообще не является указателем на курс .

    Рейтинг: 0
    • гость, вообще-то load достаточно. Если не умеете работать с XML библиотекой - не надо пытаться делать выводы по работе функций. Функция работает как положено. И указатель на USD работает на ура. Потрудились бы сначала проверить и понять, прежде чем писать комментарий...

      Предположу, что Вы просто не умеете подключать библиотеки и не знаете какая именно нужна здесь. Я выше писал, что оптимальнее через позднее связывание делать. Вроде того:

      Рейтинг: 0
Поделитесь своим мнением

Комментарии, не имеющие отношения к комментируемой статье, могут быть удалены без уведомления и объяснения причин. Если есть вопрос по личной проблеме - добро пожаловать на Форум


Для оформления сообщений Вы можете использовать следующие тэги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Тренинги

Заказать
Наши партнеры
Перейти
Перейти
Счетчики
Анализ сайта

Яндекс.Метрика
© 2017 Excel для всех  Войти
Авторизация
*
*
Регистрация
*
*
*
Пароль не введен
*
captcha
Перейти на страницу