Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2011, 20:48   #1
Ogeris
Пользователь
 
Регистрация: 26.10.2010
Сообщений: 87
По умолчанию В коде макроса брыть адрес URL из ячейки

Добрый вечер, други!

Подскажите, пожалуйста, как в маросе прописать "перейти по адресу, указанному в ячейке А1"?
Ogeris вне форума Ответить с цитированием
Старый 09.06.2011, 21:07   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
thisworkbook.FollowHyperlink [a1]
то же самое:
Код:
thisworkbook.FollowHyperlink range("a1")
EducatedFool вне форума Ответить с цитированием
Старый 09.06.2011, 21:48   #3
Ogeris
Пользователь
 
Регистрация: 26.10.2010
Сообщений: 87
По умолчанию

Спасибо!

Сразу понял, что я не так объяснил. В столбце A - ссылки на страницу, и надо сделать так, чтобы в столбце B вставало значение курса доллара, взятое по этой ссылке.

Код макроса я нашел на этом форуме, но там приходится прописывать наименование адреса ручками. Как код усовершенствовать, чтобы он брал его из ячейки в столбце А, и вставлял курс доллара напротив в столбец B?

Код:
Цитата:
Dim sURI As String
sURI = "http://cbr.ru/currency_base/daily.aspx?C_month=06&C_year=2011&d ate_req=02%2F06%2F2011"
With CreateObject("MSXML2.XMLHTTP"): .Open "GET", sURI, False: .Send: htmlcode = .responseText: End With
[B1] = Replace(Mid(htmlcode, InStr(1, htmlcode, "Доллар США") + 35, 7), ",", ".")
Вложения
Тип файла: rar Примерчик.rar (6.5 Кб, 16 просмотров)
Ogeris вне форума Ответить с цитированием
Старый 09.06.2011, 23:36   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

А не проще ли воспользоваться готовым решением для получения курса доллара на заданную дату?
http://excelvba.ru/code/CurrencyRate

Куда уж проще - в первом столбце дата, а во втором - формула, возвращающая курс на эту дату

или вот ещё:

http://excelvba.ru/programmes/RatesWorksheet
одно нажатие кнопки, - и в вашем файле автообновляемые курсы доллара и евро на текущую дату
(используется веб-запрос к сайту центробанка)

Последний раз редактировалось EducatedFool; 06.03.2014 в 12:09.
EducatedFool вне форума Ответить с цитированием
Старый 10.06.2011, 09:13   #5
Ogeris
Пользователь
 
Регистрация: 26.10.2010
Сообщений: 87
По умолчанию

Конечно, для получения данных о курсах валют это просто идеальный вариант.

Но я буду брать другие данные и из другого сайта. И так как уровень у меня пока не очень, мне бы очень помогло, если бы добрые люди подсказали, как адрес страницы взять из ячейки. Заранее благодарю
Ogeris вне форума Ответить с цитированием
Старый 10.06.2011, 09:26   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Ну а по ссылке не изучали код?

+ Format(RateDate, "dd\/mm\/yyyy")

И без примера Вашего файла с Вашей датой конкретный совет применительно к Вашему файлу никто не даст.
Дата может быть по разному написана, в примере выше даты нет, там 27.9682, что судя по коду, полученный курс.

В общих чертах - получаете из ячейки дату, берёте из неё число, месяц, год и формируете нужную строку адреса.
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 10.06.2011 в 09:32.
Hugo121 вне форума Ответить с цитированием
Старый 10.06.2011, 09:49   #7
Ogeris
Пользователь
 
Регистрация: 26.10.2010
Сообщений: 87
По умолчанию

Изучал, на своём уровне.
Пример прикрепил к первому сообщению.

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

Вопрос в том, чтобы в первой строке макроса прописать "перейти по адресу, указанному в ячейке А1"

Последний раз редактировалось Ogeris; 10.06.2011 в 10:08.
Ogeris вне форума Ответить с цитированием
Старый 10.06.2011, 10:14   #8
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

В первом сообщении нет примера.
В примере из второго сообщения нет даты.
Ну а в коде по ссылке есть строка:
url_request = "http://www.cbr.ru/scripts/XML_daily.asp?date_req="
Замените её на
url_request = [a1].text

Или в Вашем примере:
sURI = [a1].Text

Ну и в цикле:
Код:
Private Sub Code1()
    Dim sURI As String, i&
    For i = 1 To 6
    sURI = Cells(i, 1).Text '"http://cbr.ru/currency_base/daily.aspx?C_month=06&C_year=2011&date_req=02%2F06%2F2011"
    With CreateObject("MSXML2.XMLHTTP"): .Open "GET", sURI, False: .Send: htmlcode = .responseText: End With
    Cells(i, 2) = Replace(Mid(htmlcode, InStr(1, htmlcode, "Доллар США") + 35, 7), ",", ".")
    Next
End Sub
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 10.06.2011 в 10:23.
Hugo121 вне форума Ответить с цитированием
Старый 10.06.2011, 10:29   #9
Ogeris
Пользователь
 
Регистрация: 26.10.2010
Сообщений: 87
По умолчанию

Конечно, пример я прикрепил ко второму сообщению, sorry.

Спасибо! Всё работает!
Вы ещё и цикл прописали! Гранд Мерси!
Ogeris вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как определить адрес ячейки? PARTOS Microsoft Office Excel 9 31.10.2018 00:28
адрес ячейки ПавелАлександрович Microsoft Office Excel 2 11.04.2011 15:08
Подменить IP-адрес при открытии URL (не через proxy) СТРАННИК Работа с сетью в Delphi 20 21.10.2010 17:09
Как копировать URL адрес из ячейки в другую ячейку (макросом). AlexDoom Помощь студентам 1 09.03.2009 10:59
Найти адрес ячейки... Bu$ter Microsoft Office Excel 7 11.06.2008 14:52