2014-11-24 237 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