我使用VBA Excel 2010,它允许Excel应用程序的多个示例同时打开。我需要从工作簿2导入数据(它在不同的Excel应用程序中打开),到当前Excel应用程序中的workbook1中。我发现APPACTIVATE会确定workbook2实际上是否打开,即使在不同的Excel应用程序中。如果当前未打开,这很简单...我只是在当前Excel应用程序中打开workbook2,获取我的数据,更新workbook1,然后关闭workbook2。但是如果workbook2已经打开,我需要切换到workbook2应用程序,获取我的数据,更新workbook1,并保持workbook2不变。我可以访问workbook2应用程序吗?
Sub AppAct()
'Workbook (1): workbook.name="Book1"
'Workbook (2): workbook.name="Fuel2010I.xlsm"
'Workbook (2): workbook.fullname="C:\FltTools\Fuel2010I.xlsm"
'Sheets("FL") exists in Workbook (2)
'Sheets("S") exists in Workbook (1)
On Error Resume Next
AppActivate ("FUEL2010I.xlsm")
If Err.Number > 0 Then 'if workbook not already open, then open it and select sheet "FL"
On Error GoTo 0
Workbooks.Open Filename:="C:\FltTools\Fuel2010I.xlsm"
Sheets("FL").Select 'works fine
Else 'if the workbook is open, select sheet "FL"
On Error GoTo 0
Sheets("FL").Select 'Subscript out of range, I'm not talking with FUEL2010I.xlsm
End If
Sheets("S").select
End Sub
我已经尝试了上面的代码。代码没有切换到Excel的workbook2示例
1条答案
按热度按时间ohtdti5x1#
使用
AppActivate
切换Excel示例快速修复