매크로에서 워크 시트 복사 (Microsoft Excel)
통합 문서의 데이터를 구성 할 때 한 통합 문서에서 다른 통합 문서로 워크 시트를 복사하는 것은 드문 일이 아닙니다. 사실, 시트 이동 또는 복사 명령 (워크 시트 탭을 마우스 오른쪽 버튼으로 클릭 할 때 표시됨)은 제가 자주 사용하는 명령이며 다른 사람들이이 명령을 자주 사용한다고 확신 할 것입니다.
그렇다면 매크로 내에서 워크 시트를 복사하는 방법은 무엇입니까? 대답은 개별 워크 시트 또는 워크 시트 그룹에 복사 방법을 사용하는 것입니다.
예를 들어, 다음 매크로 코드는 현재 선택한 워크 시트를 새 통합 문서로 복사합니다.
ActiveSheet.Copy
그게 다입니다. 한 줄이면 워크 시트를 명명되지 않은 새 통합 문서에 복사 할 수 있습니다. 라인을 실행하면 새 통합 문서가 선택되고 다음과 유사한 코드를 사용하여 저장할 수 있습니다. 코드의 첫 번째 줄은 통합 문서를 저장하고 두 번째 줄은 통합 문서를 닫습니다.
ActiveWorkbook.SaveAs Filename:="MyNewFile.xlsm", _ FileFormat:=xlOpenXMLWorkbookMacroEnabled ActiveWindow.Close
특정 시트를 다른 통합 문서로 복사하려면 ActiveSheet 개체를 사용하는 대신 복사 할 시트의 이름을 지정하면됩니다.
Sheets("Sheet1").Copy
이 예에서는 Sheets 컬렉션의 Sheet1이라는 워크 시트를 새 통합 문서로 복사합니다. 그런 다음 이미 설명한대로 새 통합 문서를 저장할 수 있습니다.
복사 방법은 워크 시트와 함께 사용할 때 한 번에 한 장만 복사하는 것으로 제한되지 않습니다. 시트 그룹을 선택한 경우에도 단일 명령 줄을 사용하여 모든 시트를 새 통합 문서에 복사 할 수 있습니다.
이것이이 매크로에서 수행되는 작업입니다.
Sub CopyWorkbook() Dim sCopyName As String sCopyName = "My New Workbook.xlsm" SelectedSheets.Copy ActiveWorkbook.SaveAs Filename:=sCopyName, _ FileFormat:=xlOpenXMLWorkbookMacroEnabled End Sub
복사 명령 사용에 유의하십시오. 매크로는 하나의 워크 시트를 선택하든 50 개를 선택하든 상관없이 작동합니다. 그것은 중요하지 않습니다. 한 통합 문서에서 다른 통합 문서로 모든 워크 시트를 복사하려는 경우 매크로에서 Copy 메서드가 호출되는 줄을 한 번만 변경하면됩니다.
Sheets.Copy
이렇게하면 통합 문서의 모든 워크 시트로 구성된 전체 Sheets 컬렉션이 복사됩니다.
Copy 메서드는 워크 시트를 새 통합 문서로 복사하기위한 것이 아닙니다. 동일한 통합 문서 내에서 워크 시트를 복사하는 데 사용할 수도 있습니다. 해야 할 일은 현재 통합 문서에서 복사본을 만들 위치를 지정하는 것뿐입니다.
ActiveSheet.Copy After:=Sheets("Sheet7")
이 코드 줄은 Sheet7이라는 워크 시트 뒤에 나타나도록 활성 워크 시트를 동일한 통합 문서에 복사합니다. 필요에 더 적합한 경우 복사본을 배치 할 워크 시트를 대신 지정할 수 있습니다.
ActiveSheet.Copy Before:=Sheets("Sheet7")
이로 인해 워크 시트가 Sheet7 뒤 대신 Sheet7 앞에 배치됩니다.
_ 참고 : _
이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.
link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요]
.
_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.
이 팁 (11856)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다. 여기에서 Excel의 이전 메뉴 인터페이스에 대한이 팁 버전을 찾을 수 있습니다.
link : / excel-Copying_Worksheets_in_a_Macro [매크로에서 워크 시트 복사]
.