Меню

Как в excel установить курс доллара

Импорт курса валют из интернета

Способ 1. Простой веб-запрос для текущего курса валют

Этот способ подойдет тем, у кого на компьютере пока ещё старые версии Microsoft Office 2003-2007. Он не использует никаких сторонних надстроек или макросов и оперирует только встроенными функциями.

Когда страница загрузится, то на таблицах, которые Excel может импортировать, появятся черно-желтые стрелки. Щелчок по такой стрелке помечает таблицу для импорта.

Для дополнительной настройки можно щелкнуть по любой из этих ячеек правой кнопкой мыши и выбрать в контекстном меню команду Свойства диапазона (Data range properties) . В этом диалоговом окне, при желании, возможно настроить периодичность обновления и другие параметры:

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

Способ 2. Параметрический веб-запрос для получения курса валют на заданный интервал дат

Этот способ представляет собой слегка модернизированный первый вариант и дает пользователю возможность получать курс нужной валюты не только на текущий день, но и на любую другую интересующую дату или интервал дат. Для этого наш веб-запрос надо превратить в параметрический, т.е. добавить к нему два уточняющих параметра (код нужной нам валюты и текущую дату). Для этого делаем следующее:

1. Создаем веб-запрос (см. способ 1) к странице сайта Центробанка России с архивом курсов: http://cbr.ru/currency_base/dynamics.aspx

2. В форме слева выбираем нужную валюту и задаем начальную и конечную даты:

Все остальное оставляем как есть, сохраняем и закрываем файл.

5. Создаем новую книгу в Excel, открываем лист, куда хотим импортировать архив курсов ЦБ. В любую подходящую ячейку вводим формулу, которая даст нам текущую дату в текстовом формате для подстановки в запрос:

или в английской версии

Читайте также:  Держатель для душа s3001 как установить

Куда-нибудь рядом вводим код нужной нам валюты из таблицы:

Источник

Импорт курсов валюты в Excel

Описание работы

Эта команда открывает удобную форму для импорта курса на заданную дату.

Выбор даты импорта

На форме имеется встроенный календарь для выбора даты на которую импортируется курс валюты. По умолчанию выбрана текущая дата.

Установить текущую дату можно также нажав на кнопку Сегодня в календаре

Выбор валюты

Далее необходимо указать курс какой валюты необходимо импортировать. Для этого кликните по нужной строке в списке.

Для выбора доступны все валюты с сайта ЦБ РФ. Для удобства самые популярные курсы доллара и евро вынесены в начало списка. Остальные отсортированы по алфавиту.

Выбор единицы расчета

Обратите внимание, что не все курсы валют берутся из расчета за 1 единицу. Например, для Армянских драммов расчет ведется за 100 единиц. Если необходимо, чтобы курс вставлялся за 1 единицу, то установите опцию В расчете за 1 единицу валюты в нижнем левом углу.

Тип вставки

Если вы не планируете обновлять курс валюты в дальнейшем, то советую вставлять курс валюты «текстом» тогда Excel не будет обращаться к сайту ЦБ для обновления данных. Для этого нажмите кнопку Вставка текстом.

Если вы хотите периодически обновлять курс (например на текущую дату), то используйте кнопку Вставить формулой. В этом случае в выбранную ячейку вставится функция КУРС с установленными параметрами.

Использовать функцию КУРС

Само собой необходим интернет для пользования данной функцией. Прошу не мучить свой компьютер, интернет и не делать выгрузку курсов за большой период времени, для этого на сайте Центробанка есть специальный функционал.

Пример 1

Получение курса USD на сегодня.

Пример 2

Получение различных курсов валют на сегодня.

Пример 3

Получение динамики курса доллара за 5 дней.

Пример 4

Получение курсов валюты из расчета за 1 единицу валюты на текущую дату.

Читайте также:  Как установить убунту на андроид телефон

Источник

Курс доллара для любой заданной даты

Если Вам часто приходится узнавать курс доллара для определенной заданной даты в прошлом (даты заказа или поставки, например), то этот макрос сэкономит вам много времени. Вместо похода в архивы ЦБР достаточно будет его запустить.

Фактически, макрос загружает данные из архива сайта Центробанка РФ, поэтому для вставки курса в текущую ячейку необходимо иметь доступ в интернет (в данный момент). Данные вставляются как константы (без связи и обновления).

Для получения курса евро, иены, фунта и других валют необходимо лишь поменять в коде код валюты «USD» на любой нужный вам, например «EUR», «KZT» и т.д.

Ссылки по теме

Николай, а почему Вы используете загрузку html сайта? Не проще ли получать данные через XML?
Примеры получения данных, используя XML с сайта ЦБР есть здесь: http://cbr.ru/scripts/Root.asp?Prtid=SXML

Как минимум существенная экономия трафика, если нужно загрузить множество котировок на разные даты, и скорость работы быстрее, с XML удобнее работать чем с текстом

Дизайн сайта CBR поменялся, поэтому макрос из статьи не работает, необходимо его править либо (что лучше) подгружать данные по XML, а то вдруг опять дизайн поменяется.

функция CBR() и макрос «Курсы ЦБ» из Plex используют немного другой метод поиска курса валют, но также основываются на парсинге html кода:

при данном подходе не получается загрузить курсы белорусского рубля на 01.02.2011 (и множество других дат, когда курс указан шестью знаками, а не семью)

Думаю, лучше использовать загрузку курсов через XML, а не html.
Стандарт получения данных через XML не будут менять при очередной смене дизайна сайта.

Спасибо от xls-чайника! не посоветуете как написать функцию, которая будет брать кросс курсы типа тех, что дает Гугл в запросе как ниже? я даже специально зарегистрировался на fixer.io.

Читайте также:  Как установить на телефон русский язык которого нет

Никак не разберусь как прописатьв макрос курс доллара к тенге с http://www.nationalbank.kz/?furl=cursFull&switch=rus

Добрый день!
Подскажите, есть макрос, работает на ура, но курс загружает только на рабочие дни, а мне нужен курс на все даты, что изменить в макросе?

Public Sub Auto_Open()
If MsgBox(«Загрузить курсы валют?», vbQuestion Or vbYesNo) = vbYes Then
FillRates
End If
End Sub

Public Function RangeCurrencies_() As Excel.Range
Set RangeCurrencies_ = ThisWorkbook.Names(«currencies»).RefersToRange
End Function

Public Function RangeRates_() As Excel.Range
Set RangeRates_ = ThisWorkbook.Names(«rates»).RefersToRange
End Function

Public Sub FillRates()
Dim dateFrom As Long, dateTo As Long
Dim codeCBRF As String
Dim calcMode As Excel.XlCalculation
Dim idx As Long

calcMode = Application.Calculation
Application.Calculation = xlCalculationManual

For idx = 2 To RangeCurrencies_.Cells.Count
FillRates_ dateFrom, dateTo, RangeCurrencies_.Cells(idx, 2), RangeRates_(1, 1), RangeRates_(1, idx)
Next

Application.Calculation = calcMode
End Sub

Private Sub FillRates_(nDateFrom As Long, nDateTo As Long, sCBRFCurCode As String, _
rngDateBeg As Excel.Range, rngValueBeg As Excel.Range)

#If Win32 Or Win64 Then
Const sRecDateConst As String = » »
Const sValueEndConst As String = » «

Dim nCount As Long
Dim oHttp As Object
Dim sUrl As String, sXML As String
Dim sRateValue As String, sDate As String
Dim fRate As Double, nDate As Long
Dim nPos As Long, nLeftPos As Long, nRightPos As Long

On Error GoTo Err_

sUrl = «http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1=» & Format(nDateFrom, «dd\/mm\/yyyy») & _
«&date_req2=» & Format(nDateTo, «dd\/mm\/yyyy») & _
«&VAL_NM_RQ=» & sCBRFCurCode
On Error Resume Next
Set oHttp = CreateObject(«MSXML2.XMLHTTP»)
If Err.Number <> 0 Then
Set oHttp = CreateObject(«MSXML.XMLHTTPRequest»)
End If
If oHttp Is Nothing Then GoTo Err_
On Error GoTo Err_

oHttp.Open «GET», sUrl, False
oHttp.Send
sXML = oHttp.responseText
Set oHttp = Nothing

nPos = 1
Do
nLeftPos = InStr(nPos, sXML, sRecDateConst)
If (nLeftPos #Else ‘ Mac?
MsgBox «Операция не поддерживается.», vbOKOnly Or vbExclamation
#End If
End Sub

Источник