2017-12-20 1 views
2

현재 워크 시트의 모든 워크 시트 이름을 같은 워크 시트 이름을 가진 새 통합 문서에 붙여 넣기 복사해야합니다. VBA를 다음붙여 넣기 워크 시트 '이름'만 복사

내가 시도합니다 (datas없이. 난 단지. 워크 시트 이름이 필요합니다)하지만

오류 표시 "이름은 이미 사용됩니다." (런타임 오류 1004) 당신은 ws 그렇게 Line은 절대 변경 사용하지 않을

'Create new work book for Pivot 
Dim Source As Workbook 
Dim Pivot As Workbook 
Set Source = ActiveWorkbook 
Set Pivot = Workbooks.Add 

Dim ws As Worksheet 
For Each ws In Worksheets 
    'Create new worksheet in new excel 
    Dim Line As String 
    Line = ActiveSheet.Name 
    Pivot.Activate 
    Sheets.Add 
    ActiveSheet.Name = Line 
    Source.Activate 
Next 

답변

1

. 또한 you do not need to select or activate anything. 마지막으로, 귀하는 Worksheets 등을 출품 한 통합 문서로 한정해야합니다.

Dim Source As Workbook 
Dim Pivot As Workbook 
Set Source = ActiveWorkbook 
Set Pivot = Workbooks.Add 

Dim ws As Worksheet 
For Each ws In Source.Worksheets 
    Pivot.Worksheets.Add.Name = ws.Name 
Next 

이미 시트 이름 중 하나 (예 : Sheet1)과 동일한 이름을 가진 새 통합 문서의 시트가있는 상황에서 당신을 보호하지 않으며, 그것은 새 통합 문서에있는 모든 시트를 떠나 그 기본적으로 (Application.SheetsInNewWorkbook 속성에 의해 제어 됨). 선은 결코 내가 이해하지 못했다 changes_하지 않도록

+0

감사합니다 .......... – shamli

+0

완벽하게 작동 ... – shamli

+0

_You는 WS를 사용하지 않습니다 .. :( 캔트 우리가 루프 내에서 희미한를 사용, 그래서 그 때마다 그것은 새로운 변수가 지금까지 ... 내 언어 죄송합니다 내가 통합 문서에서 소스에 Datas에서 피벗 테이블을 만들려고하고 있습니다. 있습니다 .. 희미한에 넣어지게된다 반복 I 루프를 사용하여 모든 워크 시트에 Pivot을 삽입 할 수 있습니다 이제 Pivot 용으로 별도의 통합 문서를 만들려고합니다 – shamli

관련 문제