0
我已经尝试了大量教程,并花费了大量时间尝试解决此问题,但无法完全找到答案。VBA Excel 2010运行时错误'91'对象变量或With Block变量未设置
我是新来的VBA与excel,并一直试图获得一个自动化的网络搜索到Excel中,从一列单元格中获取查询并将结果中的元素写入另一行单元格。为了保持这个例子的简单,我使用了Google搜索。
我总是最后使用相同的消息:
运行时error'91' 对象变量或带块变量未设置
这里是代码的最新版本:
Sub Macro1()
Dim ie As Object
Set Rng = Range("A3:A5")
Set Row = Range(Rng.Offset(1, 0), Rng.Offset(1, 0).End(xlDown))
Set ie = CreateObject("InternetExplorer.Application")
With ie
.Visible = True
For Each Row In Rng
.navigate "https://www.google.com/#q=" & Range("A" & Row.Row).Value
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
Dim doc As HTMLDocument
Set doc = ie.document
While ie.readyState <> 4
Wend
Range("B" & Row.Row) = doc.getElementById("resultStats" & Range("A" & Row.Row).Value).innerText
Next Row
ie.Quit
End With
End Sub
任何帮助,非常感谢。
感谢,
好像'doc.getElementById( “resultStats” &范围( “A” &Row.Row)。价值)'或'范围( “A” &Row.Row)'可能的计算结果为'Null' 。你能确认'Range(“A”&Row.Row)'实际返回一个非空值,并且HTML文档中有一个实际名为“resultStatsA?”的元素。 – InfectedPacket
如何使用正确的缩进,以便您可以看到哪些代码行打开一个块并关闭它?它会使您的代码更易于阅读和排除故障。 – teylyn