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

Вход

Регистрация

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

 

= Мир MS Excel/Подправить макрос курса валют - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Подправить макрос курса валют (Макросы/Sub)
Подправить макрос курса валют
kiramiD Дата: Среда, 14.06.2017, 13:00 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Есть рабочий макрос, который берёт курс валют с биржевого сайта и вставляет его в ячейку Excel.
Не устраивает в его работе, то что при изменении курса валюты, он продолжает так же вставлять старое значение курса в ячейку, что бы получить уже новую цифру файл эксель приходится закрывать и запускать заново. Что нужно подправить в этом макросе, что бы изменения курса проходило без постоянного переоткрытия файла и вставлялась уже новая циферка?
[vba]
Код

Sub Get_USD_BIRGA()
       Dim sURI As String
        Dim oHttp As Object
        Dim htmlcode, outstr As String
             
        sURI = "http://www.forexpf.ru/chart/usdrub/"
        On Error Resume Next
        Set oHttp = CreateObject("MSXML2.XMLHTTP")
        If Err.Number <> 0 Then
            Set oHttp = CreateObject("MSXML.XMLHTTPRequest")
        End If
        On Error GoTo 0
        If oHttp Is Nothing Then
            Exit Sub
      End If
        oHttp.Open "GET", sURI, False
        oHttp.Send
        htmlcode = oHttp.responseText
        outstr = Mid(htmlcode, InStr(1, htmlcode, "Курс доллара к рублю (USDRUB)") + 44, 6) 'для курса Bid значение 44. Для курса Ask изменить на 61
        Set oHttp = Nothing
        outstr = Replace(outstr, ",", ".")
        ActiveCell.Value = outstr
    End Sub
[/vba]
 
Ответить
СообщениеЕсть рабочий макрос, который берёт курс валют с биржевого сайта и вставляет его в ячейку Excel.
Не устраивает в его работе, то что при изменении курса валюты, он продолжает так же вставлять старое значение курса в ячейку, что бы получить уже новую цифру файл эксель приходится закрывать и запускать заново. Что нужно подправить в этом макросе, что бы изменения курса проходило без постоянного переоткрытия файла и вставлялась уже новая циферка?
[vba]
Код

Sub Get_USD_BIRGA()
       Dim sURI As String
        Dim oHttp As Object
        Dim htmlcode, outstr As String
             
        sURI = "http://www.forexpf.ru/chart/usdrub/"
        On Error Resume Next
        Set oHttp = CreateObject("MSXML2.XMLHTTP")
        If Err.Number <> 0 Then
            Set oHttp = CreateObject("MSXML.XMLHTTPRequest")
        End If
        On Error GoTo 0
        If oHttp Is Nothing Then
            Exit Sub
      End If
        oHttp.Open "GET", sURI, False
        oHttp.Send
        htmlcode = oHttp.responseText
        outstr = Mid(htmlcode, InStr(1, htmlcode, "Курс доллара к рублю (USDRUB)") + 44, 6) 'для курса Bid значение 44. Для курса Ask изменить на 61
        Set oHttp = Nothing
        outstr = Replace(outstr, ",", ".")
        ActiveCell.Value = outstr
    End Sub
[/vba]

Автор - kiramiD
Дата добавления - 14.06.2017 в 13:00
sboy Дата: Среда, 14.06.2017, 13:08 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 913
Репутация: 236 ±
Замечаний: 0% ±

Excel 2010
kiramiD, Добрый день.
Видимо он запускается при событии Workbook_Open()
Нарисуйте кнопку в файле и повесьте на него макрос, будет обновлять по клику
 
Ответить
СообщениеkiramiD, Добрый день.
Видимо он запускается при событии Workbook_Open()
Нарисуйте кнопку в файле и повесьте на него макрос, будет обновлять по клику

Автор - sboy
Дата добавления - 14.06.2017 в 13:08
kiramiD Дата: Среда, 14.06.2017, 13:14 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
kiramiD, Добрый день.
Видимо он запускается при событии Workbook_Open()
Нарисуйте кнопку в файле и повесьте на него макрос, будет обновлять по клику

Добрый день!
Нарисовал кнопку, привязал к ней макрос, всё то же самое, пока Эксельку не перегрузишь тянет старый курс, не помогло, нужно другое решение.
 
Ответить
Сообщение
kiramiD, Добрый день.
Видимо он запускается при событии Workbook_Open()
Нарисуйте кнопку в файле и повесьте на него макрос, будет обновлять по клику

Добрый день!
Нарисовал кнопку, привязал к ней макрос, всё то же самое, пока Эксельку не перегрузишь тянет старый курс, не помогло, нужно другое решение.

Автор - kiramiD
Дата добавления - 14.06.2017 в 13:14
sboy Дата: Среда, 14.06.2017, 14:13 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 913
Репутация: 236 ±
Замечаний: 0% ±

Excel 2010
Без файла, это будет гадание на кофейной гуще.
 
Ответить
СообщениеБез файла, это будет гадание на кофейной гуще.

Автор - sboy
Дата добавления - 14.06.2017 в 14:13
kiramiD Дата: Среда, 14.06.2017, 17:41 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Без файла, это будет гадание на кофейной гуще.

Абсолютно в любой файл даже в пустой вставляйте этот макрос и нажмите исполнить, в активную ячейку запишется циферка курса с сайта биржи, но при изменении курса на сайте бирже, новая циферка уже не попадает в ячейку, пишется всё время старая, пока не перегрузишь файл эксель (абсолютно любой файл), так что дело не в файле, а именно в макросе который тянет этот одинаковый курс в Ваш файл, т.е. он почему то не понимает динамического изменения странички этой биржи.
 
Ответить
Сообщение
Без файла, это будет гадание на кофейной гуще.

Абсолютно в любой файл даже в пустой вставляйте этот макрос и нажмите исполнить, в активную ячейку запишется циферка курса с сайта биржи, но при изменении курса на сайте бирже, новая циферка уже не попадает в ячейку, пишется всё время старая, пока не перегрузишь файл эксель (абсолютно любой файл), так что дело не в файле, а именно в макросе который тянет этот одинаковый курс в Ваш файл, т.е. он почему то не понимает динамического изменения странички этой биржи.

Автор - kiramiD
Дата добавления - 14.06.2017 в 17:41
wild_pig Дата: Среда, 14.06.2017, 19:01 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 489
Репутация: 91 ±
Замечаний: 0% ±

2003, 2013
 
Ответить
СообщениеКросс

Автор - wild_pig
Дата добавления - 14.06.2017 в 19:01
kiramiD Дата: Среда, 14.06.2017, 19:05 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Кросс

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

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

Автор - kiramiD
Дата добавления - 14.06.2017 в 19:05
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Подправить макрос курса валют (Макросы/Sub)
Страница 1 из 11
Поиск:

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