2014-11-24 177 views
0

我有下面的代码正确地在Office 2010中运行,但是在Office 2013没有错误在Excel 2010中执行它并没有在Excel 2013执行它的错误,但在Excel 2013它什么也不做。办公室2013 sheet.copy什么也不做

Dim strDocument As Variant 
strDocument = Application.GetOpenFilename("Microsoft All Excel Files,*.xls*,All Files,*.*", 1, "Open File", , False) 
If strDocument = False Then 
    ActiveWindow.WindowState = xlMaximized 
    Exit Sub 
End If 
Workbooks.Open Filename:=strDocument 

ActiveWindow.WindowState = xlMinimized 

Sheets(Array("Mobile", "Fisso")).Select 
Sheets("Fisso").Activate 
Sheets(Array("Mobile", "Fisso")).Copy Before:=Workbooks(toolName).Sheets(1) 
Sheets("Mobile (2)").Select 
Sheets("Mobile (2)").name = "Mobile AS IS" 
Call CreatePrimaryKey("Mobile AS IS") 
Range("A1").Select 
On Error Resume Next 
ActiveSheet.ShowAllData 
On Error GoTo 0 

Office 2013中的问题是它不会复制任何内容,也不会出错。我期望它将2张(Fisso和Mobile)从活动工作簿复制到我的“toolName”工作簿中。

是否有这方面的任何已知问题?

+0

你得到任何错误? “toolName”的可变尺寸在哪里,它是指向正确的工作簿还是活动工作簿? – 2014-11-24 10:50:17

+0

在这段代码之前你有'On Error'声明吗?如果是,你确定Excel 2013中的重复表单被命名为Name(2)而不是Name(2)(没有空格)吗?如果没有,请告诉我们您在哪条线路上遇到错误。但在任何情况下,如果有此On Error语句请评论它的那一刻,并告诉我们的错误,我们不知道在这一侧的任何兼容性问题。 – 2014-11-24 10:53:41

+0

2013vexcel是SDI。 – cyboashu 2014-11-24 20:19:35

回答

0

明白了。 office 2013不能最小化工作簿并同时维护excel窗口。这仅在Office 2010中才有可能。

0

我使用的是2013年和这个代码工作对我罚款。它复制工作表,然后将其移动到另一个工作簿。

Sub CopySheet() 
Sheets("Test").Select 
Sheets("Test").Copy Before:=Workbooks("Book2").Sheets(1) 
End Sub