Vba: 범위를 다른 시트에 복사하는 방법


VBA에서 다음 구문을 사용하여 셀 범위를 다른 시트에 복사할 수 있습니다.

 Sub CopyRangeToSheet()

Worksheets(" Sheet1 ").Range(" A1:C11 ").Copy
Worksheets(" Sheet2 ").Range(" A1 ").PasteSpecial

Application.CutCopyMode = False

End Sub

이 특정 매크로는 Sheet1A1:C11 범위에 있는 셀을 복사하여 Sheet2A1 셀에서 시작하는 범위에 붙여넣습니다.

참고 : Application.CutCopyMode = False 행은 매크로가 실행된 후 잘라내기 및 복사 모드가 비활성화되어야 함을 지정합니다.

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: VBA를 사용하여 다른 시트에 범위 복사

다양한 농구 선수에 대한 정보가 포함된 Excel의 Sheet1 이라는 시트에 다음 데이터 집합이 있다고 가정해 보겠습니다.

현재 비어 있는 Sheet2 라는 다른 시트도 있다고 가정해 보겠습니다.

Sheet1 에서 A1:C11 범위의 모든 값을 복사하여 Sheet2A1 셀부터 붙여넣고 싶다고 가정해 보겠습니다.

이를 위해 다음 매크로를 생성할 수 있습니다:

 Sub CopyRangeToSheet()

Worksheets(" Sheet1 ").Range(" A1:C11 ").Copy
Worksheets(" Sheet2 ").Range(" A1 ").PasteSpecial

Application.CutCopyMode = False

End Sub

이 매크로를 실행하면 Sheet2 에 다음과 같은 출력이 표시됩니다.

Sheet1A1:C11 범위에 있는 모든 값은 A1 셀에서 Sheet2 로 복사되었습니다.

기본적으로 값은 소스 형식으로 붙여넣어졌습니다.

예를 들어 헤더 행 값은 굵게 표시됩니다.

소스 서식 없이 값만 붙여넣고 싶다면 다음과 같이 Paste:=xlPasteValues를 지정하면 됩니다.

 Sub CopyRangeToSheet()

Worksheets(" Sheet1 ").Range(" A1:C11 ").Copy
Worksheets(" Sheet2 ").Range(" A1 ").PasteSpecial Paste=xlPasteValues

Application.CutCopyMode = False

End Sub

이 매크로를 실행하면 Sheet2 에 다음과 같은 출력이 표시됩니다.

Sheet1A1:C11 범위에 있는 값(서식 없음)만 Sheet2 에 복사되었습니다.

참고 : VBA PasteSpecial 메서드에 대한 전체 설명서는 여기에서 찾을 수 있습니다.

추가 리소스

다음 자습서에서는 VBA에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

VBA: 서식을 지정하지 않고 값만 붙여넣는 방법
VBA: 보이는 선을 다른 시트에 복사하는 방법
VBA:기준에 따라 행을 다른 시트에 복사

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다