运行时错误“50290”:应用程序定义或对象定义的错误Excel

我在Excel VBA中使用asynchronousWinHTTP来向网站发出大量请求。 收到答复后,将调用一个写入表单的模块。

通常这可以正常工作,但是如果用户没有专注于Excel,则会出现“运行时错误”50290“:应用程序定义或对象定义的错误”。

它特别错误在这一行:

pcol = ThisWorkbook.Worksheets("WHA").Cells.Find("PRODUCTA").Column 

我也尝试了以下语法:

 pcol = Sheet3.Cells.Find("PRODUCTA").Column pcol = Sheet3.Rows(5).Find("PRODUCTA").Column pcol = Sheet3.Rows(5).Find(What:="PRODUCTA").Column pcol = Sheets("WHA").Cells.Find(What:="PRODUCTA", LookAt:=xlWhole, LookAfter:=Sheet3.Cells(5, 1)).Column 

一切都无济于事…

我知道我可以强制重点放在Excel中的VBA,但理想情况下,我不介意如果macros运行在后台,而用户变得更聪明的同时在stackoverflow.com上:-)

有没有人有任何build议,如何克服这一点,请? 谢谢!

 AppActivate "Microsoft Excel" 

或者当你知道你已经注意到并活跃之后,储存你的WB

您可以尝试捕获错误并继续执行代码,这可能会有所帮助。

 Sub Test() ...declarations... On Error Goto Error_ ...your code... Exit Sub Error_: If (Err.Number = 50290) Then Resume Stop Resume End Sub