等到application.run完成

时间:2017-08-23 06:59:11

标签: excel vba excel-vba

我试图在一个打开另一个工作簿的文件上编写一个宏,运行一个宏来获取一些数据,将数据复制到第一个工作簿中并关闭第二个工作簿。

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

即。下面代码中的ws2.Range(StartCell, ws2.Cells(LastRow, "A")).Select字符串选择整列,而不仅仅是有数据的单元格。

'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

有没有人遇到过这个问题或有任何解决方法?

1 个答案:

答案 0 :(得分:2)

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