运行时错误1004,而不是ActiveCell.Offest(-1,RowCount).Value =“”

我试图写一个macros。 macros应该由用户点击D列中的第一个空单元格来工作。然后它应该在C列的左边抓取跟踪号码。导航到网站。 将交付的date返回到第一次单击的单元格中,然后基本向下移动一行,并执行相同的操作,而不必再次单击下一行。 循环这个过程,直到遇到C列中的第一个单元格为止。这不能每次都从一个特定的单元格开始,因为它是一个正在进行的电子表格,每周都会添加,这将开始closures底部。 例如,本周我开始的是D2343。 这不是完成代码,但任何build议将是有益的。 我对编码相当陌生,对于VBA非常新,所以请耐心等待。 这可能比使用activecell更好的方法,但我不知道如何。 这个

Public Sub Tracking() Dim IE As Object Dim ReturnValue As String Dim ProUrl As String Dim RowCount As Integer Set IE = CreateObject("InternetExplorer.application") RowCount = 0 'THIS LINE RETURN THE ERROR Do While Not ActiveCell.Offset(-1, RowCount).Value = "" ProUrl = "https://www.rrts.com/Tools/Tracking/Pages/MultipleResults.aspx?PROS=" & ActiveCell.Offset(-1, RowCount).Value With IE .Visible = False .Navigate ProUrl Do Until Not IE.Busy And IE.readyState = 4: DoEvents: Loop End With ReturnValue = Trim(IE.document.getElementsByTagName("Span")(16).innerText) ActiveCell.Offset(, RowCount).Value = ReturnValue RowCount = RowCount + 1 Loop IE.Quit Set IE = Nothing End Sub 

任何帮助,将不胜感激。 Stackoverflow是一个巨大的资源。 谢谢。

我认为这个错误可能在你的Offset方法中。 第一个参数应该是行偏移量,第二个参数应该是列偏移量。 你似乎有可能倒退。

尝试将其更改为:

 Do While Not ActiveCell.Offset(RowCount, -1).Value = ""