2014-11-24 2 views
0

У меня есть следующий код, правильно работающий в Office 2010, но не в Office 2013. Ошибок не выполняется в Excel 2010 и никаких ошибок, выполняемых в Excel 2013, но в Excel 2013 он ничего не делает.Office 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) из активной книги в мою рабочую книгу «имя_компьютера».

Есть ли какие-либо известные проблемы в этом отношении?

+0

У вас есть ошибки? Где переменная «toolName» имеет размер, указывает ли она на правильную книгу или является ли активная рабочая книга? –

+0

У вас есть инструкция 'On Error' перед этим фрагментом? Если да, уверены ли вы, что дубликат листа в Excel 2013 называется 'Name (2)', а не 'Name (2)' (без пробела)? Если нет, сообщите нам, на какой строке вы получите сообщение об ошибке. Но в любом случае, если есть этот оператор On Error, прокомментируйте его на данный момент и сообщите нам об ошибке, на этой стороне не обнаружена проблема совместимости. –

+0

2013vexcel - это SDI. – cyboashu

ответ

0

Понял. офис 2013 не может свести к минимуму рабочую книгу и одновременно поддерживать окно Excel. Это возможно только в офисе 2010 года.

0

Я использую 2013, и этот код работал отлично для меня. Он копирует лист, затем перемещает его в другую книгу.

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

 Смежные вопросы

  • Нет связанных вопросов^_^