워크 시트를 복사하여 다른 시트 바로 뒤에 배치하고 싶습니다. 하지만 숨겨진 시트가있을 때 문제가 있습니다.Excel VBA WorkSheet.Copy Excel 2013 이후
Excel 2013을 사용하여 새 통합 문서를 엽니 다. "Sheet1"뒤에 시트 추가. 이름 바꾸기 "HiddenSheet2" "HiddenSheet2"뒤에 시트 추가.
이Sub test()
Dim ws1 AS Worksheet
Set wst = Sheets("Sheet1")
wst.Copy After:=Sheets(wst.Index)
End Sub
삽입 된 시트 뒤에 위치 얻을 : - "HiddenSheet1"- "Sheet3에" 다음
다음 실행이 VBA 코드 "HiddenSheet1을"숨길 새 시트 "Sheet3에" 그래서 내가 "Sheet1의는"이 이름 바꾸기 "HiddenSheet2"가 아니라 "Sheet1"뒤에. 복사 된 시트가 활성 시트가되는 것을 발견했습니다.
VBA Copy Sheet to End of Workbook (with Hidden Worksheets)
Get Handle on last worksheet copied by Worksheet.Copy
하지만 내 문제는 내가 특정 순서에 남아 시트를 필요로합니다.감사
편집 :
Sub test()
Dim ws1 AS Worksheet
Set wst = Sheets("Sheet1")
wst.Copy After:=Sheets(wst.Index)
ThisWorkbook.ActiveSheet.Move After:=Sheets(wst.Index)
End Sub
이 중 하나 "Sheet1의"후 직접 새 시트를하지 않습니다.
를 추가 할 수 있습니까? – glh
@ 글래스 고 말했다. 워크 시트 변수로 이미'wst'가 있습니다. 그냥'After' 인수에 사용하십시오 :) –
'wst.copy after : = wst'와'wst.copy after : = Sheets ("Sheet1")'은 같은 결과를냅니다. 내 새 시트가 숨겨진 시트 다음에 "Sheet1"바로 뒤에 있지 않음 – Jonathan