等到application.run完成

我试图在一个文件上打开另一个工作簿,运行一个macros来获取一些数据,将数据复制到第一个工作簿并closures第二个工作簿。

但是,我遇到了一个问题,因为它看起来像是在第二个工作簿中的macros仍在运行时执行范围的select,因此select整个列:

ws2.Range(StartCell, ws2.Cells(LastRow, "A")).Select在下面的代码中selectstringselect整个列,而不仅仅是存在数据的单元格。

 'run macro in IB API file to get portfolio data Application.Run "TwsDde.xls!Sheet15.subscribeToPorts" 'select data in column A from IB API file Dim LastRow As Long Dim StartCell As Range Set StartCell = Range("A8") LastRow = ws2.Cells(ws2.Rows.Count, StartCell.Column).End(xlDown).Row ws2.Range(StartCell, ws2.Cells(LastRow, "A")).Select 

有没有人遇到过这个问题之前,或有任何想法如何解决它?

你的LastRow计算是错误的。 它应该是xlUp而不是xlDown