본문 바로가기
IT 이모저모/VBA

VBA(엑셀 매크로)시트 이동, 복사

by 내일은맑음 2021. 1. 31.
반응형

특정 시트를 이동 시키거나 복사해야되는 경우가 있다. 이 경우 Worksheets를 사용하여

이동 및 복사를 할 수 있다. Worksheets의 구조를 보고 이어서 예제를 보도록 하겠다.

 

시트의 생성 및 삭제는 아래의 링크를 참고

2021/01/31 - [IT 이모저모/VBA] - VBA(엑셀 매크로) 시트 생성 및 시트 삭제

 

Worksheets의 구조

1. Worksheets의 기본 구조

Worksheets(name)

 

Worksheets의 파라미터인 name에는 시트의 이름 또는 번호가 들어갈수 있다.

숫자 1이 들어간다면, 첫번째 시트를 취득하고

name 자리에 "Sheet3" 가 들어간다면 시트 이름이 Sheets인 오브젝트의 내용을 취득한다.

 

2. 시트 이동 시 

Worksheets(name).Move After:= Worksheets(name)

좌측 Worksheets의 시트를 이동시킨다.

Move 뒤에 After가 있는 경우 우측 Worksheets시트 기준 오른쪽으로 이동시키며

Move 뒤에 Before가 있는 경우 우측 Worksheets시트 기준 왼쪽으로 이동시킨다.

 

3. 시트 복사 시

Worksheets(name).Copy After:= Worksheets(name)

좌측 Worksheets의 시트를 복사한다.

 

Copy 뒤에 After가 있는 경우 우측 Worksheets시트 기준 오른쪽으로 이동시키며

Copy 뒤에 Before가 있는 경우 우측 Worksheets시트 기준 왼쪽으로 이동시킨다.

 

Worksheets를 활용한 시트 이동 및 복사 예제

아래의 예제는 2번째 시트를 복사하여 3번째 시트 뒤에 붙여넣는 소스이다.

Sub Sheets_copy_test()

    Worksheets(2).Copy After:=Worksheets(3)
    
End Sub

실행 전

실행 후

 

아래의 예제는 2번째 시트를 3번째 시트 뒤로 이동시키는 소스이다.

Sub Sheets_copy_test()

    Worksheets(2).Move After:=Worksheets(3)
    
End Sub

실행 전

실행 후

반응형