Excel VBA调用Web,忽略运行类型错误13“;“不匹配类型”;清除当前值时的消息框

Excel VBA调用Web,忽略运行类型错误13“;“不匹配类型”;清除当前值时的消息框,excel,vba,web-scraping,stock,Excel,Vba,Web Scraping,Stock,子获取Web数据(ByVal目标作为范围) " 作为对象的Dim请求 作为字符串的暗淡响应 Dim html作为新的HTMLDocument 将网站设置为字符串 变型价格 “要访问的网站。 网站=”https://www.wsj.com/market-data/quotes/“&Target.Value&”/research ratings” '创建将发出网页请求的对象。 Set request=CreateObject(“MSXML2.XMLHTTP”) “去哪里以及如何去那里——可能不需要改

子获取Web数据(ByVal目标作为范围) "

作为对象的Dim请求 作为字符串的暗淡响应 Dim html作为新的HTMLDocument 将网站设置为字符串 变型价格

“要访问的网站。 网站=”https://www.wsj.com/market-data/quotes/“&Target.Value&”/research ratings”

'创建将发出网页请求的对象。 Set request=CreateObject(“MSXML2.XMLHTTP”)

“去哪里以及如何去那里——可能不需要改变这一点。 请求。打开“获取”,网站,错误

“获取新数据。 request.setRequestHeader“如果自”“2000年1月1日星期六00:00:00 GMT”起修改”

'发送该网页的请求。 请求发送

'将网页响应数据获取到变量中。 response=StrConv(request.responseBody,vbUnicode)

'将网页放入html对象中,以简化数据引用。 html.body.innerHTML=响应

'从页面上的指定元素获取价格。 price=html.getElementsByClassName(“cr\U数据rr\U股票价格模块”)。项(0)。innerText

'将价格输出到消息框中

如果Target.Column=4,则 范围(“O”和Target.Row)。值=价格 其他的 范围(“AE”和Target.Row)。值=价格 如果结束

端接头

表1

私有子工作表_更改(ByVal目标作为范围)

端接头

专用子工作表\u选择更改(ByVal目标作为范围)


End Sub

当我清除调用web以获取股票信息的引用单元格时,我不断收到一个错误。它告诉我模块1中(website=”“&Target.Value&“/research ratings”)有一个错误。如何在清除单元格中的数据时停止显示运行时错误13消息。您尚未指定值或声明
target
这是否在事件中?请附上签名(子项的开头)。很可能您需要将EnableEvents切换为False,然后再切换回TrueOh抱歉,刚刚更新了起始子VM,找到了答案,只需在(子获取Web数据(ByVal目标作为范围)之后添加“下一步继续出错”即可
If Not Intersect(Target, Range("D2,D14,D26,D38,D50,T2,T14,T26,T38,T50")) Is Nothing Then
    
   
   Call Get_Web_Data(Target)

End If