По сути, то, что я пытаюсь сделать здесь, это заставить мой макрос создать URL-адрес, который будет очищен и использован для заполнения информации. Я хочу, чтобы URL-адрес был уникальным в соответствии с конкретными ценными бумагами и указанными полями данных.
Я получаю сообщение об ошибке в своем цикле j при использовании строки Datatype в vlookup. Я намерен вернуть значение, которое будет использоваться для заполнения моего URL-адреса.
Dim Last1 As Integer: Last1 = W.Range("A1000").End(xlUp).Row
Dim Last2 As Integer: Last2 = W.Range("XFD1").End(xlToLeft).Column
Dim IE As SHDocVw.InternetExplorer
Dim html As HTMLDocument
If Last = 1 Then Exit Sub
Dim Symbols As String
Dim DataType As String
Dim URLParameters As String
Dim i, j As Integer
For i = 2 To Last1
Symbols = Symbols & Worksheets("Stock Prices").Range("A" & i).Value & "+"
Next i
Symbols = Left(Symbols, Len(Symbols) - 1)
Debug.Print Symbols
For j = 2 To Last2
DataType = DataType & Worksheets("Stock Prices").Cells(1, j).Value
URLParameters = Application.WorksheetFunction.VLookup(DataType, Worksheets("URL Info").Range("URL_DataInfo"), 2).Value
Next j
Debug.Print DataType
Debug.Print URLParameters
Set IE = CreateObject("InternetExplorer.Application")
'Tells IE where to pull
IE.navigate "https://download.finance.yahoo.com/d/quotes?s=" & Symbols & "&f=" & URLParameters
IE.Visible = True
'Wait until IE is done loading page
Do While IE.readyState <> READYSTATE_COMPLETE
Application.StatusBar = "Pulling data..."
DoEvents
Loop
'show text of HTML document returned
Set html = IE.document
'MsgBox html.DocumentElement.innerHTML
'close down IE and reset status bar
Set IE = Nothing
Application.StatusBar = ""
'Remove HTML tags
Dim info As String
info = cook_tags(CStr(html.DocumentElement.innerHTML))
'Split the results into cells
Call split_data(info)
End Sub
DataType
? Это может быть тем, что вам нужно сделать, но это выглядит странно и, безусловно, объясняет, почему вы получаете ошибки (после исправлений кода, упомянутых в текущих ответах) отVLookup
, не соответствующих данным, переданным в Это. - person YowE3K   schedule 27.09.2016