Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Функции (UDF) "Курс_Доллара" и "Курс_Евро" - Страница 3 - Мир MS Excel

Старая форма входа
  • Страница 3 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Модератор форума: _Boroda_, китин  
Мир MS Excel » Вопросы и решения » Готовые решения » Функции (UDF) "Курс_Доллара" и "Курс_Евро" (Возвращают в ячейку курсы USD и EUR с сервера ЦБ РФ)
Функции (UDF) "Курс_Доллара" и "Курс_Евро"
MCH Дата: Воскресенье, 27.10.2013, 18:18 | Сообщение № 41
Группа: Админы
Ранг: Старожил
Сообщений: 2003
Репутация: 751 ±
Замечаний: ±

Функция GetRate() из 39 поста возвращает курс на единицу валюты.
Так
Код
=GetRate("UAH";"27.10.2013")
возвращает 3,87445, а не 38,7445 (как это публикуется на сайте cbr.ru за 10 UAH)
 
Ответить
СообщениеФункция GetRate() из 39 поста возвращает курс на единицу валюты.
Так
Код
=GetRate("UAH";"27.10.2013")
возвращает 3,87445, а не 38,7445 (как это публикуется на сайте cbr.ru за 10 UAH)

Автор - MCH
Дата добавления - 27.10.2013 в 18:18
Hunter23071985 Дата: Воскресенье, 27.10.2013, 18:41 | Сообщение № 42
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо!
Действительно GetRate работает правильно.
Но запрос через Msxml.DOMDocument (GetRate) почему-то медленнее XMLHTTPRequest: 9,26631079002982 сек. против 7,30688379073399 на 120 запросов.
Это всегда так?

И что делать со Сбербанком - у них XML-сервиса вообще нет.


Сообщение отредактировал Hunter23071985 - Воскресенье, 27.10.2013, 19:35
 
Ответить
СообщениеСпасибо!
Действительно GetRate работает правильно.
Но запрос через Msxml.DOMDocument (GetRate) почему-то медленнее XMLHTTPRequest: 9,26631079002982 сек. против 7,30688379073399 на 120 запросов.
Это всегда так?

И что делать со Сбербанком - у них XML-сервиса вообще нет.

Автор - Hunter23071985
Дата добавления - 27.10.2013 в 18:41
Hugo Дата: Понедельник, 28.10.2013, 01:34 | Сообщение № 43
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3252
Репутация: 707 ±
Замечаний: 0% ±

2019
Даты-валюты часто повторяются?
Если да - то можно результаты загонять в публичный словарь и брать уже вытянутое из словаря.
Можно вообще при первом вызове определённой даты загонять все валюты в словарь (или подготовить список всех нужных валют) - тогда будет только столько обращений к банку, сколько разных дат (а не сколько формул на листе).


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеДаты-валюты часто повторяются?
Если да - то можно результаты загонять в публичный словарь и брать уже вытянутое из словаря.
Можно вообще при первом вызове определённой даты загонять все валюты в словарь (или подготовить список всех нужных валют) - тогда будет только столько обращений к банку, сколько разных дат (а не сколько формул на листе).

Автор - Hugo
Дата добавления - 28.10.2013 в 01:34
Alex_ST Дата: Понедельник, 28.10.2013, 08:52 | Сообщение № 44
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003
загонять в публичный словарь
Игорь, браво! hands
Можно вообще хранить единожды считанный массив данных где-то в файле, например, в его свойствах (или вообще в диапазоне на шибко спрятанной странице), а при открытии файла выводить запрос "Обновить?"



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
загонять в публичный словарь
Игорь, браво! hands
Можно вообще хранить единожды считанный массив данных где-то в файле, например, в его свойствах (или вообще в диапазоне на шибко спрятанной странице), а при открытии файла выводить запрос "Обновить?"

Автор - Alex_ST
Дата добавления - 28.10.2013 в 08:52
Hugo Дата: Понедельник, 28.10.2013, 22:30 | Сообщение № 45
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3252
Репутация: 707 ±
Замечаний: 0% ±

2019
Можно обновлять словарь с листа молча при открытии файла.
Когда станут заметны тормоза - зайти на этот лист и удалить явно уже ненужные данные (например за прошлые годы).
Или например при открытии сперва удалять устаревшие данные (например задать период то же год), затем загружать словарь.
Далее дополняем новыми данными лист и словарь.
Конечно реализация требует работы - поэтому не ждите тут вот прямо сейчас этой реализации...
Но может кому-то это актуально, или времени много... :)
Хотя я в одном проекте (в макросе) так словарь уже использовал - как ключ валюта|дата, в Item кладём курс. Когда нужен курс - сперва ищем в словаре, если не нашли - тянем из банка, заносим в словарь.


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеМожно обновлять словарь с листа молча при открытии файла.
Когда станут заметны тормоза - зайти на этот лист и удалить явно уже ненужные данные (например за прошлые годы).
Или например при открытии сперва удалять устаревшие данные (например задать период то же год), затем загружать словарь.
Далее дополняем новыми данными лист и словарь.
Конечно реализация требует работы - поэтому не ждите тут вот прямо сейчас этой реализации...
Но может кому-то это актуально, или времени много... :)
Хотя я в одном проекте (в макросе) так словарь уже использовал - как ключ валюта|дата, в Item кладём курс. Когда нужен курс - сперва ищем в словаре, если не нашли - тянем из банка, заносим в словарь.

Автор - Hugo
Дата добавления - 28.10.2013 в 22:30
art-dj2011 Дата: Пятница, 27.06.2014, 11:47 | Сообщение № 46
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Помогите!!!!!!!!!!!!


На сайте дата в формате месяц/дата/год. Как сделать запрос в формуле в формате дата/месц/год?
[moder]Пользуйтесь тегами оформления. Для кодов макросов кнопка #, для длинных сообщений - спойлер.
И нафига две одинаковых функции?
 
Ответить
СообщениеПомогите!!!!!!!!!!!!


На сайте дата в формате месяц/дата/год. Как сделать запрос в формуле в формате дата/месц/год?
[moder]Пользуйтесь тегами оформления. Для кодов макросов кнопка #, для длинных сообщений - спойлер.
И нафига две одинаковых функции?

Автор - art-dj2011
Дата добавления - 27.06.2014 в 11:47
sercam Дата: Понедельник, 29.12.2014, 14:20 | Сообщение № 47
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
А можно ли подтягивать не курс по ЦБ, а, например, курс покупки и курс продажи именно "Сбера" ?
 
Ответить
СообщениеА можно ли подтягивать не курс по ЦБ, а, например, курс покупки и курс продажи именно "Сбера" ?

Автор - sercam
Дата добавления - 29.12.2014 в 14:20
Alex_ST Дата: Понедельник, 29.12.2014, 14:41 | Сообщение № 48
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003
можно ли подтягивать не курс по ЦБ, а, например, курс покупки и курс продажи именно "Сбера"?
Наверняка можно. Например, на текущий день - ОТСЮДА
Вся проблема - в отсутствии свободного времени для выполнения не нужной мне сейчас работы.
Но тому, кто хоть немного понимает в VBA, не сложно сделать это и самостоятельно по аналогии с выложенным решением.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
можно ли подтягивать не курс по ЦБ, а, например, курс покупки и курс продажи именно "Сбера"?
Наверняка можно. Например, на текущий день - ОТСЮДА
Вся проблема - в отсутствии свободного времени для выполнения не нужной мне сейчас работы.
Но тому, кто хоть немного понимает в VBA, не сложно сделать это и самостоятельно по аналогии с выложенным решением.

Автор - Alex_ST
Дата добавления - 29.12.2014 в 14:41
sercam Дата: Понедельник, 29.12.2014, 14:53 | Сообщение № 49
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Да, вот оттуда и надо.
Но вот как... это проблема :-(
 
Ответить
СообщениеДа, вот оттуда и надо.
Но вот как... это проблема :-(

Автор - sercam
Дата добавления - 29.12.2014 в 14:53
Hunter23071985 Дата: Понедельник, 29.12.2014, 21:08 | Сообщение № 50
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
курс покупки и курс продажи "Сбера"

Прошу не судить за ссылку на готовое решение со стороннего форума (надеюсь дружественного этому): http://www.planetaexcel.ru/forum....e476244
UDF позволяет быстро и просто получить курс покупки/продажи на заданную дату с сайтов Сбербанка и ЦБ РФ.
В будущем (возможно не столь отдалённом) появится новый интерфейс и функционал.

PS: всех с наступающим!

PPS: при переходе по ссылке в адресной строке заменить & на &. Не знаю, откуда он возникает...


Сообщение отредактировал Hunter23071985 - Понедельник, 29.12.2014, 21:14
 
Ответить
Сообщение
курс покупки и курс продажи "Сбера"

Прошу не судить за ссылку на готовое решение со стороннего форума (надеюсь дружественного этому): http://www.planetaexcel.ru/forum....e476244
UDF позволяет быстро и просто получить курс покупки/продажи на заданную дату с сайтов Сбербанка и ЦБ РФ.
В будущем (возможно не столь отдалённом) появится новый интерфейс и функционал.

PS: всех с наступающим!

PPS: при переходе по ссылке в адресной строке заменить & на &. Не знаю, откуда он возникает...

Автор - Hunter23071985
Дата добавления - 29.12.2014 в 21:08
sercam Дата: Понедельник, 29.12.2014, 21:26 | Сообщение № 51
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
решение со стороннего форума (надеюсь дружественного этому): LINK.

по ссылке "Тема не найдена."
 
Ответить
Сообщение
решение со стороннего форума (надеюсь дружественного этому): LINK.

по ссылке "Тема не найдена."

Автор - sercam
Дата добавления - 29.12.2014 в 21:26
Pelena Дата: Понедельник, 29.12.2014, 21:30 | Сообщение № 52
Группа: Админы
Ранг: Местный житель
Сообщений: 19177
Репутация: 4417 ±
Замечаний: ±

Excel 365 & Mac Excel
Исправила ссылку


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеИсправила ссылку

Автор - Pelena
Дата добавления - 29.12.2014 в 21:30
Hunter23071985 Дата: Понедельник, 29.12.2014, 21:47 | Сообщение № 53
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
[offtop]Pelena, а почему тег вставки гиперссылок не работает?[/offtop]


Сообщение отредактировал Hunter23071985 - Понедельник, 29.12.2014, 21:49
 
Ответить
Сообщение[offtop]Pelena, а почему тег вставки гиперссылок не работает?[/offtop]

Автор - Hunter23071985
Дата добавления - 29.12.2014 в 21:47
Pelena Дата: Понедельник, 29.12.2014, 21:54 | Сообщение № 54
Группа: Админы
Ранг: Местный житель
Сообщений: 19177
Репутация: 4417 ±
Замечаний: ±

Excel 365 & Mac Excel
Работает для всех, кроме Планеты. Не спрашивайте, почему? :)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеРаботает для всех, кроме Планеты. Не спрашивайте, почему? :)

Автор - Pelena
Дата добавления - 29.12.2014 в 21:54
sercam Дата: Понедельник, 29.12.2014, 22:01 | Сообщение № 55
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Ну что сказать... понаворочено круто, то что надоесть :-)
Ещё бы автообновление при открытии листа сделать - и вообще красота.
 
Ответить
СообщениеНу что сказать... понаворочено круто, то что надоесть :-)
Ещё бы автообновление при открытии листа сделать - и вообще красота.

Автор - sercam
Дата добавления - 29.12.2014 в 22:01
sercam Дата: Понедельник, 29.12.2014, 22:06 | Сообщение № 56
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Кстати по аналогичному функционалу можно и котировки драг.металлов (ОМС) с сайта "Сбера" сделать.
Мощно!
 
Ответить
СообщениеКстати по аналогичному функционалу можно и котировки драг.металлов (ОМС) с сайта "Сбера" сделать.
Мощно!

Автор - sercam
Дата добавления - 29.12.2014 в 22:06
krosav4ig Дата: Пятница, 09.01.2015, 15:08 | Сообщение № 57
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
вот функция для получения котировок на металлы Сбербанка
1 атрибут функции обязательный - код металла (1 - золото, 6 - серебро, 28 - платина, 29 - палладий)
2 атрибут необязательный- тип курса банка ("buy" , "sell", по умолчанию "buy")
3 атрибут необязательный - дата в числовом или текстовом формате (по умолчанию текущая системная дата) в качестве разделителей между числами дня, месяца и года может использоваться любой символ из " " , "/" , "." , "-" , "," , запись даты в формате "9 янв 15" и "9 января 2015" тоже корректно распознаются
4 атрибут необязательный - код региона (по умолчанию 223 - Москва)
[vba]
Код
Function МетСБР#(CodeMet%, Optional quote$ = "buy", Optional dDate As Date, Optional region% = 223)
        Dim sc: Set sc = CreateObject("ScriptControl"):dDate = IIf(dDate, dDate, Date):sc.Language = "JScript"
        sc.AddCode "function getProperty(jsonObj, propertyName) {return jsonObj[propertyName];}"
        sc.AddCode "function getKeys(jsonObj) {var keys=new Array();for(var i in jsonObj){keys.push(i);}return keys;}"
        strURL = "http://sbrf.ru/common/js/get_quote_values.php?&inf_block=" & region & "&group=2&_date_afrom114=" _
                  & dDate & "&_date_ato114=" & dDate & "&qid[]=" & CodeMet
        Dim XMLhttp: Set XMLhttp = CreateObject("msxml2.xmlhttp"): XMLhttp.Open "POST", strURL, 0: XMLhttp.send
        МетСБР = sc.Run("getProperty", sc.Run("getProperty", sc.Run("getProperty", _
                  sc.Run("getProperty", sc.Eval("(" & XMLhttp.responsetext & ")"), CodeMet), _
                  "quotes"), sc.Run("getKeys", sc.Run("getProperty", sc.Run("getProperty", _
                  sc.Eval("(" & XMLhttp.responsetext & ")"), CodeMet), "quotes"))), quote)
       Set XMLhttp = Nothing: Set sc = Nothing
End Function
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Суббота, 10.01.2015, 01:30
 
Ответить
Сообщениевот функция для получения котировок на металлы Сбербанка
1 атрибут функции обязательный - код металла (1 - золото, 6 - серебро, 28 - платина, 29 - палладий)
2 атрибут необязательный- тип курса банка ("buy" , "sell", по умолчанию "buy")
3 атрибут необязательный - дата в числовом или текстовом формате (по умолчанию текущая системная дата) в качестве разделителей между числами дня, месяца и года может использоваться любой символ из " " , "/" , "." , "-" , "," , запись даты в формате "9 янв 15" и "9 января 2015" тоже корректно распознаются
4 атрибут необязательный - код региона (по умолчанию 223 - Москва)
[vba]
Код
Function МетСБР#(CodeMet%, Optional quote$ = "buy", Optional dDate As Date, Optional region% = 223)
        Dim sc: Set sc = CreateObject("ScriptControl"):dDate = IIf(dDate, dDate, Date):sc.Language = "JScript"
        sc.AddCode "function getProperty(jsonObj, propertyName) {return jsonObj[propertyName];}"
        sc.AddCode "function getKeys(jsonObj) {var keys=new Array();for(var i in jsonObj){keys.push(i);}return keys;}"
        strURL = "http://sbrf.ru/common/js/get_quote_values.php?&inf_block=" & region & "&group=2&_date_afrom114=" _
                  & dDate & "&_date_ato114=" & dDate & "&qid[]=" & CodeMet
        Dim XMLhttp: Set XMLhttp = CreateObject("msxml2.xmlhttp"): XMLhttp.Open "POST", strURL, 0: XMLhttp.send
        МетСБР = sc.Run("getProperty", sc.Run("getProperty", sc.Run("getProperty", _
                  sc.Run("getProperty", sc.Eval("(" & XMLhttp.responsetext & ")"), CodeMet), _
                  "quotes"), sc.Run("getKeys", sc.Run("getProperty", sc.Run("getProperty", _
                  sc.Eval("(" & XMLhttp.responsetext & ")"), CodeMet), "quotes"))), quote)
       Set XMLhttp = Nothing: Set sc = Nothing
End Function
[/vba]

Автор - krosav4ig
Дата добавления - 09.01.2015 в 15:08
Hunter23071985 Дата: Воскресенье, 01.02.2015, 14:01 | Сообщение № 58
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Всем привет!

В будущем (возможно не столь отдалённом) появится новый интерфейс и функционал.

Начал делать новую версию файла.
Есть проблема с заполнением/чтением базы данных - запинается на If Dic("ToSave") Then...
Весь мозг уже сломал - в текстовик выгрузка идёт (!), а в Excel нет.
Файл: удалено
Очень нужна Ваша помощь!

Ещё бы автообновление при открытии листа сделать

Один из аргументов функции - дата.
Если завязать на функцию СЕГОДНЯ(), курс будет обновляться при открытии файла.

функция для получения котировок на металлы Сбербанка

Спасибо!
Отличная идея!


Сообщение отредактировал Hunter23071985 - Воскресенье, 01.02.2015, 14:32
 
Ответить
СообщениеВсем привет!

В будущем (возможно не столь отдалённом) появится новый интерфейс и функционал.

Начал делать новую версию файла.
Есть проблема с заполнением/чтением базы данных - запинается на If Dic("ToSave") Then...
Весь мозг уже сломал - в текстовик выгрузка идёт (!), а в Excel нет.
Файл: удалено
Очень нужна Ваша помощь!

Ещё бы автообновление при открытии листа сделать

Один из аргументов функции - дата.
Если завязать на функцию СЕГОДНЯ(), курс будет обновляться при открытии файла.

функция для получения котировок на металлы Сбербанка

Спасибо!
Отличная идея!

Автор - Hunter23071985
Дата добавления - 01.02.2015 в 14:01
sercam Дата: Воскресенье, 01.02.2015, 17:29 | Сообщение № 59
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Один из аргументов функции - дата.
Если завязать на функцию СЕГОДНЯ(), курс будет обновляться при открытии файла.

Пробовал кстати, только после сохранения и снова открытия файла - снова стоит дата.
Ах да, там кстати ещё с колонками "купить" и "продать" путаница. ИМХО местами перепутаны, т.к. курс покупки банка для меня не есть "купить", а есть "продать".

Про обезличенный металл - тоже тема. Хорошо если в отдельном листе этой же книги.


Сообщение отредактировал sercam - Воскресенье, 01.02.2015, 17:30
 
Ответить
Сообщение
Один из аргументов функции - дата.
Если завязать на функцию СЕГОДНЯ(), курс будет обновляться при открытии файла.

Пробовал кстати, только после сохранения и снова открытия файла - снова стоит дата.
Ах да, там кстати ещё с колонками "купить" и "продать" путаница. ИМХО местами перепутаны, т.к. курс покупки банка для меня не есть "купить", а есть "продать".

Про обезличенный металл - тоже тема. Хорошо если в отдельном листе этой же книги.

Автор - sercam
Дата добавления - 01.02.2015 в 17:29
ШутНик Дата: Среда, 25.03.2015, 11:10 | Сообщение № 60
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброго времени суток, а такой же файл но со ссылкой на иностранные нац банки сделать возможно ?
 
Ответить
СообщениеДоброго времени суток, а такой же файл но со ссылкой на иностранные нац банки сделать возможно ?

Автор - ШутНик
Дата добавления - 25.03.2015 в 11:10
Мир MS Excel » Вопросы и решения » Готовые решения » Функции (UDF) "Курс_Доллара" и "Курс_Евро" (Возвращают в ячейку курсы USD и EUR с сервера ЦБ РФ)
  • Страница 3 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!