Хитрости »
Основные понятия (22)Здесь собраны статьи, в которых разъясняются базовые понятия работы в Excel и VBA, а так же проблемы, с которыми сталкивается большинство начинающих
Сводные таблицы и анализ данных (5) Раздел поможет изучить сводные таблицы и научиться их использовать "на полную"
Графики и диаграммы (4) Раздел поможет научиться создавать диаграммы и графики в Excel, в том числе нестандартные
Работа с VB проектом (10) С помощью статей раздела вы научитесь создавать процедуры программно и выполнять различные операции с объектами самого VBA
Power BI и Power Query (5) Здесь собраны статьи, раскрывающие различные возможности мощнейшего инструмента для визуализаций бизнесс-процессов Power BI и надстройки для Excel Power Query
Условное форматирование (5) Этот раздел поможет поближе познакомиться с Условным форматированием на примерах различных ситуаций
Списки и диапазоны (5) Статьи, посвященные работе не только с выпадающими списками, но и с диапазонами и хитростями их применения в рабочих файлах
Макросы(VBA процедуры) (59) Статьи раздела направлены на изучение VBA с детальным разбором кодов. Множество статей с примерами кодов под всевозможные ситуации с комментариями и пояснениями
Разное (34) Собраны статьи, которые не подходят ни под одну из представленных выше категорий или входят сразу в несколько. Но эти статье не менее полезные!

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

 

Вы часто используете конвертер валют? А в 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)

  2. Олег, спасибо. Исправил код.

  3. krosav4ig:

    может я чего-то не понимаю, но помоему проще брать данные из 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 = Nothing
    End Function

    синтаксис
    =ЦБР()
    =ЦБР(;"1 1 14")
    =ЦБР("aud")
    =ЦБР("eur";"1-1-2014")
    =ЦБР("cad";"1.1.14")
    =ЦБР("cad";"1,1,2014")
    =ЦБР("jpy";"1/1/14")

  4. krosav4ig:

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

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

  6. гость:

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

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

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

Поделитесь своим мнением

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


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

Логин
Наши партнеры
Перейти
Перейти
Счетчики
Анализ сайта

Яндекс.Метрика
© 2016 Excel для всех  Войти