2017-03-22 1 views
2

내가 다음 코드와 같이 나는 새 통합 문서에 하나 개의 워크 시트를 복사하고 매우 간단한 과정, 시도하고있어 새 통합 문서에 복사 워크 시트 :첨자 - 엑셀

Private Sub btn_Documents_Click() 
    Dim LastRow As Integer 
    Dim printrange As Range 
    Dim NewWorkbook As Workbook 

    Set NewWorkbook = Workbooks.Add 
    With NewWorkbook 

    .Title = "Document Register" 
    .SaveAs Filename:="some file path" & " Program documents status.xlsx" 
End With 
Workbooks("COFFIE Project Tracker V2.0.0.0").worksheets("Document Register").Copy Before:=NewWorkbook.Sheets("Sheet1") 

Unload Me 
frm_Control.Show 

End Sub 

이 정확한 코드가를 이전에 저에게 도움이되었지만, 이번에는 코드의 복사 줄에 범위를 벗어나는 오류를 내고 있습니다. 나는 파일 이름, 내가 복사 할 시트의 이름을 두 번 확인했다. 그리고 그것은 모두 정확하다. 그래서 나는 왜 그것이이 오류를 던지고 있는지에 관해서는 이제 손해보고있다.

+1

각 통합 문서의 '시트 이름'을 확인하십시오. – 0m3r

+1

"문서 기록부"시트는 어떤 통합 문서입니까? 새로운 것입니까, 아니면 기존의 것입니까? 나는 또한 시트 ("문서 등록")' – BruceWayne

+0

@ 0m3r 전에 통합 문서 이름을 추가 할 것입니다 - 질문에서 말한 것처럼 모든 시트 이름이 정확합니다 – scb998

답변

3

수동으로 대상 통합 문서를 만들지 않고 워크 시트를 새 통합 문서로 직접 복사하지 않는 이유는 무엇입니까? 내가 .SaveAs의 FileFormat 매개 변수를 사용하고 파일 이름에서 파일 확장자를 폐기하고

Workbooks("COFFIE Project Tracker V2.0.0.0").worksheets("Document Register").Copy 
with activeworkbook 
    .Title = "Document Register" 
    .SaveAs Filename:="some file path" & " Program documents statusx", FileFormat:=xlOpenXMLWorkbook 
end with 

참고.

NewWorkbook 통합 문서 개체를 표시된 것 이외의 다른 개체에 사용해야하는 경우에는 복사하여 새 통합 문서에 작성한 활성 워크 북으로 설정하기가 쉽습니다.

+0

환상적! 매우 감사합니다! – scb998

+0

나는 똑같은 문제에 직면 해있다. 그러나 기존 통합 문서에 시트를 복사하고 있습니다. 그래서,이 솔루션은 나를 위해 작동하지 않습니다. 모든 시트가 존재하고 올바르게 명명됩니다. 내가 추가하고 싶은 한 가지 관찰은 시트가 대상 통합 문서에 복사되고 코드가 앞으로 이동하지 않고 복사 명령이 변경없이 반복적으로 호출 된 다음 오류가 throw됩니다. – Babar