powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Макрос для загрузки курсов валют из Интернета в Excel за определенный период (vba)
23 сообщений из 23, страница 1 из 1
Макрос для загрузки курсов валют из Интернета в Excel за определенный период (vba)
    #37816538
msleg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал форму для загрузки курсов валют с ЦБ РФ в Excel! Выкладываю для свободного пользования
...
Рейтинг: 0 / 0
Макрос для загрузки курсов валют из Интернета в Excel за определенный период (vba)
    #37816843
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msleg, могли б не париться и скачать из инета такую штуку
...
Рейтинг: 0 / 0
Макрос для загрузки курсов валют из Интернета в Excel за определенный период (vba)
    #37817771
msleg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PlanB, что-то я замучился искать её. Проще было самому сварганить
...
Рейтинг: 0 / 0
Макрос для загрузки курсов валют из Интернета в Excel за определенный период (vba)
    #37817772
msleg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PlanB,

Если не сложно скинь ссылки
...
Рейтинг: 0 / 0
Макрос для загрузки курсов валют из Интернета в Excel за определенный период (vba)
    #37818276
Вот мое творение.
Лист динамика- загружает курс по выбранному периоду с автозаполнением данных за выходные + сразу график рисует
для выбора дат, периодов используется стандартный календарь.
Для получения данных используется xml.
так же есть отдельный лист для курсов цб казахстана.
Весь код в подробных комментариях.
выкладывал несколько раз на planetaexcel.ru
Enjoy.
...
Рейтинг: 0 / 0
Макрос для загрузки курсов валют из Интернета в Excel за определенный период (vba)
    #37818610
Thermik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может еще здесь есть рабочая надстройка, тоже умеет с валютами и диапазонами дат работать.

www.icqrobot.ru
...
Рейтинг: 0 / 0
Макрос для загрузки курсов валют из Интернета в Excel за определенный период (vba)
    #37824101
Чистая
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Озадаченый, У меня не работает почему то ваш макрос ошибки выходят.
...
Рейтинг: 0 / 0
Макрос для загрузки курсов валют из Интернета в Excel за определенный период (vba)
    #37825000
Фотография С0ВЕСТЬ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanBmsleg, могли б не париться и скачать из инета такую штуку

Вообще-то встроенные шаблоны давно есть!
И ничего искать не нужно.
...
Рейтинг: 0 / 0
Макрос для загрузки курсов валют из Интернета в Excel за определенный период (vba)
    #37825269
to Чистая :
Если несложно выложите принтскрин ошибки.
написано в 2007 офисе, возможно могут быть ошибки из-за версий библиотек + в системе должны быть стандартные календари.
Конечно же для работы макроса нужен доступ в интернет.
Выкладываю последнюю версию, немного подчистил код и работу с графиком.
...
Рейтинг: 0 / 0
Макрос для загрузки курсов валют из Интернета в Excel за определенный период (vba)
    #37831757
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озадаченый,

а зачем там mscal.ocx ? Из-за которого ничего не работает.
...
Рейтинг: 0 / 0
Макрос для загрузки курсов валют из Интернета в Excel за определенный период (vba)
    #37832279
Всегда использую стандартные календари, на работе и у всех друзей проблем не возникает. Искать календари на стандартных элементах и встраивать их в книгу мне не интересно. Выкладываю версию без календарей и без формы выбора дат. Даты забиваются руками, потом нажать кнопку обновить. При желании можете вставить свои формы выбора дат.
...
Рейтинг: 0 / 0
Макрос для загрузки курсов валют из Интернета в Excel за определенный период (vba)
    #37837409
msleg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Плюс еще нашел инфу по этому вопросу http://www.planetaexcel.ru/tip.php?aid=91
...
Рейтинг: 0 / 0
Макрос для загрузки курсов валют из Интернета в Excel за определенный период (vba)
    #37838178
дополню список интересных ссылок поданной тематике
http://www.planetaexcel.ru/forum.php/?thread_id=38057 - примеры от Konstantina работают на регулярных выражениях.

http://www.planetaexcel.ru/forum.php?thread_id=3816&page_forum=1&allnum_forum=28
вот тут хорошее обсуждение, интересные решения от zvi и от alex_st

еще есть вариант с веб-запросам тоже на планете в приемах описывается.
...
Рейтинг: 0 / 0
Макрос для загрузки курсов валют из Интернета в Excel за определенный период (vba)
    #37838194
и еще правильный пример загрузки курсов цб (с использованием xml) от EducatedFool
http://excelvba.ru/code/CurrencyRate
...
Рейтинг: 0 / 0
Макрос для загрузки курсов валют из Интернета в Excel за определенный период (vba)
    #37845802
Добавил выгрузку курсов валют Белоруссии. Лист Беларусь и temp2.

в ячейке b1 - дата начала текущего года
в ячейке c1 - текущая дата
в строке код валюты - укажите нужные вам коды валют (первый столбце на листе temp2)
в строке наименование - формула впр с листа temp2

При нажатии на кнопку обновить удаляются все старые данные, узнаем сколько столбцов с заполненным значением код валюты. Для каждого столбца скачивается курс валюты и заполняется в соответствующий столбец.

плюс подчистил код, доработал работу с системным разделителем.
...
Рейтинг: 0 / 0
Макрос для загрузки курсов валют из Интернета в Excel за определенный период (vba)
    #37847212
проверил работу в 2003 и с разделителем точка. нашлись косяки - исправил.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Макрос для загрузки курсов валют из Интернета в Excel за определенный период (vba)
    #39582609
И_Павел_С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тоже вставлю свои три копейки.
Озадаченыйи еще правильный пример загрузки курсов цб (с использованием xml) от EducatedFool
http://excelvba.ru/code/CurrencyRate
Как по мне это решение лучшее. И оно без проблем завелось в Access 2010 и 2016, а вот в Excel 2007 работать не захотела.
Но решение проблемы очень простое - дело в том, что данный скрипт почему-то не захотел работать без явного объявления переменных. Но объявив их все прекрасно заработало

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
Function GetRate(ByVal CurrencyName As String, ByVal RateDate As Date) As Double

    ' функция возвращает курс валюты CurrencyName на дату RateDate
    ' в случае ошибки (неверная дата или название валюты) возвращается 0

    On Error Resume Next
    Dim xmldoc As Object
    Dim url_Request As String
    Dim nodeList As Object
    Dim node_Attr As Object
    Dim xmlNode As Object
    Dim strDate As Date
    Dim i As Integer
    Dim CurrencyRate As Double
    Dim divisor As Double
  
    CurrencyName = UCase(CurrencyName): If Len(CurrencyName) <> 3 Then Exit Function
    Set xmldoc = CreateObject("Msxml.DOMDocument"): xmldoc.async = False
    url_Request = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=" + Format(RateDate, "dd\/mm\/yyyy")
 
    If xmldoc.Load(url_Request) <> True Then Exit Function    ' Запрос к серверу ЦБР

    ' Обработка полученного ответа
    Set nodeList = xmldoc.SelectNodes("ValCurs"): Set xmlNode = nodeList.Item(0).CloneNode(True)
    Set node_Attr = xmlNode.Attributes(0): strDate = node_Attr.Value
    Set nodeList = xmldoc.SelectNodes("*/Valute")
    For i = 0 To nodeList.Length - 1     ' поиск нужной валюты
        Set xmlNode = nodeList.Item(i).CloneNode(True)
        If xmlNode.ChildNodes(1).Text = CurrencyName Then
            CurrencyRate = CDbl(xmlNode.ChildNodes(4).Text)
            divisor = Val(xmlNode.ChildNodes(2).Text)
            GetRate = CurrencyRate / divisor
            Exit Function
        End If
    Next
End Function


Возможно, конечно, что надо просто какую-либо галочку в настройках Tool -> References поставить, но я не на столько знаток.
...
Рейтинг: 0 / 0
Макрос для загрузки курсов валют из Интернета в Excel за определенный период (vba)
    #39583002
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И_Павел_СВозможно, конечно, что надо просто какую-либо галочку в настройках Tool -> References поставитьНет, скорее всего надо обратить внимание на первые строки модуля, в который вставлялась функция. Предположу, что там есть строка Option Explicit , которая заставляет объявлять все переменные, используемые в процедурах и функциях модуля.
Плюс можно функцию значительно упростить, убрав там цикл - он не нужен: Получить курс валют от ЦБР . Смотрите вторую функцию(которая через XML)
...
Рейтинг: 0 / 0
Макрос для загрузки курсов валют из Интернета в Excel за определенный период (vba)
    #39583058
И_Павел_С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist скорее всего надо обратить внимание на первые строки модуля, в который вставлялась функция. Предположу, что там есть строка Option Explicit
Точно!
The_Prist Получить курс валют от ЦБР . Смотрите вторую функцию(которая через XML)
Спасибо большое!!!
...
Рейтинг: 0 / 0
Макрос для загрузки курсов валют из Интернета в Excel за определенный период (vba)
    #39583296
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И_Павел_С,

Если у вас появится Excel 2013+, то для загрузки курсов с сайта ЦБ можно использовать Power Query.
...
Рейтинг: 0 / 0
Макрос для загрузки курсов валют из Интернета в Excel за определенный период (vba)
    #39583308
И_Павел_С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
big-duke,
ААА У меня да, есть 2016, про Power Query не знал. Погуглю, спасибо еще раз!
...
Рейтинг: 0 / 0
Макрос для загрузки курсов валют из Интернета в Excel за определенный период (vba)
    #39583320
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И_Павел_СУ меня да, есть 2016, про Power Query не знал
Вот здесь подробно расписывал возможные варианты получения курса валют из PowerQuery:
Курс валют при помощи Power Query
...
Рейтинг: 0 / 0
Макрос для загрузки курсов валют из Интернета в Excel за определенный период (vba)
    #39583325
И_Павел_С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist,
Спасибо!
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Макрос для загрузки курсов валют из Интернета в Excel за определенный период (vba)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]