我想寫一個宏,打開另一個工作簿,運行一個宏來獲取一些數據,將數據複製到第一個工作簿並關閉第二個工作簿。等待,直到application.run完成
我已經然而遇到一個問題,因爲它似乎是該範圍的選擇,而在第二工作簿中的宏仍在運行時執行,並且因此選擇整個柱:
即,在下面的代碼的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
有沒有人遇到過這個問題,或者對如何解決它的任何想法?
'Application.Run'預計會返回被調用宏(這裏是'subscribeToPorts')返回的值,所以它本身不是一個異步調用。宏內部是否有異步調用? –
被調用的宏由代理開發,它所做的就是從我的投資組合中將數據導入到Excel中。你有什麼建議可以解決這個問題嗎? –