Excel VBA:当我打开新工作簿时,ActiveWorkbook不会更改

时间:2014-11-26 18:24:59

标签: excel vba excel-vba

以下是应该发挥作用的一小部分代码:

Workbooks.Open (MPPGLoc)

ActiveWorkbook.Sheets("MPPG").Activate

ActiveSheet.Move Before:=Workbooks("DPV Acq Test.xlsm").Sheets(1)

我让用户输入付款计划的文件位置,然后据说会转到计划中的正确表单并尝试将其复制到自动化所有内容的不同工作簿中。但是,这样可以简单地将原始工作簿中的一个工作表移动到其他工作表之前。

不确定问题是否因为打开工作簿并不一定使其处于活动状态,或者我的移动功能出现问题。感谢任何帮助。谢谢。

1 个答案:

答案 0 :(得分:1)

因此您应该避免使用Activeworkbook使用对象。

请参阅此示例(未经测试

Dim wb As worksbook, wbNew As Workbook
Dim wsNew As Worksheet

'~~> I am assuming that you are running the code from
'~~> Workbooks("DPV Acq Test.xlsm") 
Set wb = ThisWorkbook

Set wbNew = Workbooks.Open(MPPGLoc)
Set wsNew = wbNew.Sheets("MPPG")

wsNew.Move Before:=wb.Sheets(1)