Подскажите, пожалуйста. Существует простой код, который вытаскивает некоторые данные с сайта. Сейчас ссылка URL прописана в коде. Но хотелось бы, чтобы ссылка была взята из ячейки ( D4,лист СВОДНАЯ ТАБЛИЦА), где сейчас существует в виде гиперссылки.
Код
Sub Датааукциона()
' Датааукциона макрос
'
Sheets("Тех.лист).Select
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://zakupki.gov.ru/epz/order/notice/ea44/view/common-info.html?regNumber=0373200032218000946"; _
, Destination:=Range("Тех.лист!$A$1"))
.Name = "common-info.html?regNumber=0373200032218000946"
End With
Sheets("Тех.лист").Select
Range("B37").Select
Selection.Copy
Sheets("СВОДНАЯ ТАБЛИЦА").Select
Range("AH4").Select
ActiveSheet.Paste
End Sub
Annaannaannaanna, исправьте сообщение и заключите свой код в теги(на панели <...>)
Код
URL = Sheets("СВОДНАЯ ТАБЛИЦА").Range("D4")
Set QueryTables = Sheets("Тех.лист").QueryTables
For Each qt In QueryTables
If InStr(qt.Name, "zakupki.gov.ru") Then qt.Delete
Next
Sheets("Тех.лист").Cells.Clear
With Sheets("Тех.лист").QueryTables.Add(Connection:="URL;" & URL & "", Destination:=Sheets("Тех.лист").Range("$A$1"))
.Name = "zakupki.gov.ru"
.WebFormatting = xlWebFormattingNone
.Refresh BackgroundQuery:=True
End With
Jungl, ваш код отлично работает, если в тех ячейках напрямую прописан адрес сайта. Но адрес там содержится адрес только в гиперссылках. Вся сложность у меня именно с извлечением гиперссылок. Но в любом случае спасибо за помощь
Function Get_Hyperlink_Address(ByVal rCell As Range) As String
Dim s As String
If rCell.Hyperlinks.Count = 0 Then
If Mid$(rCell.Formula, 2, 9) = "HYPERLINK" Then
Get_Hyperlink_Address = Mid$(rCell.Formula, 13, InStr(13, rCell.Formula, Chr(34)) - 13)
Else
Get_Hyperlink_Address = "В ячейке нет гиперссылки!"
End If
Else
s = rCell.Hyperlinks(1).SubAddress
If s <> "" Then s = "#" & rCell.Hyperlinks(1).SubAddress
Get_Hyperlink_Address = rCell.Hyperlinks(rCell.Hyperlinks.Count).Address & s
End If
End Function