VBA 복사(범위를 다른 시트로 복사하기)

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Younjung Kim

Last updated on 4월 16, 2023

이 튜토리얼에서는 VBA를 사용하여 셀 범위를 다른 시트 또는 다른 통합 문서로 복사하는 방법을 설명합니다.

자세한 내용은 VBA 복사 및 붙여넣기 튜토리얼을 참조하세요.

기존 시트에 복사하기

한 시트에서 이미 존재하는 다른 시트로 셀 범위를 복사하려면 다음 코드를 사용할 수 있습니다:

Sub CopyAndPaste()
 ActiveSheet.Range("A1:D10").Select
 Selection.Copy
 Sheets("Sheet2").Select
 ActiveSheet.Paste
End Sub

이렇게 하면 활성 시트 범위 A1:D10에 저장된 정보가 복사되어 기존 Sheet2에 붙여 넣습니다. Sheet2에서 선택할 범위를 지정하지 않았으므로 자동으로 범위(“A1”)에 붙여넣습니다. 또한 Sheet1의 범위에 있던 모든 서식을 Sheet2에 붙여넣습니다.

Sheet2의 다른 위치에 붙여넣으려면 붙여넣을 시작 셀을 선택하거나 범위를 선택할 수 있습니다. 아래 코드는 E2 셀에 데이터를 붙여넣습니다.

Sub CopyAndPasteToRange()
 ActiveSheet.Range("A1:D10").Select 
 Selection.Copy 
 Sheets("Sheet2").Select
 Range("E1").Select
 ActiveSheet.Paste 
End Sub

서식을 포함하지 않고 Sheet2에 값만 붙여넣으려면 다음 코드를 사용해야합니다. A1 셀에 붙여넣으려는 경우 붙여넣을 범위나 셀을 지정할 필요가 없습니다.

Sub CopyAndPasteValues()
 ActiveSheet.Range("A1:D10").Select
 Selection.Copy
 Sheets("Sheet2").Select
 Selection.PasteSpecial Paste:=xlPasteValues
End Sub

새로운 시트에 복사하기

데이터를 복사한 다음 새로운 시트에 붙여넣으려면 다음 코드를 사용할 수 있습니다:

Sub CopyAndPasteNewSheet()
 ActiveSheet.Range("A1:D10").Select
 Selection.Copy 
 Sheets.Add After:=ActiveSheet
 ActiveSheet.Paste 
End Sub

값만 복사하려면 xlPasteValues를 사용할 수 있습니다.

기존 통합문서에 복사하기

복사한 값을 다른 통합 문서에 붙여넣으려면 두 통합 문서가 이미 열려 있거나 코드를 사용하여 다른 통합 문서를 열고난 다음에 해당 통합 문서에 붙여넣을 수 있습니다.

아래 코드는 데이터를 열려 있는 기존 통합 문서에 복사합니다.

Sub CopyAndPasteExistingBook()
 Range("A1:D10").Select
 Selection.Copy
 Windows("CombinedBranches.xlsx").Activate
 Sheets.Add After:=ActiveSheet
 ActiveSheet.Paste
End Sub

VBACopyPaste BetweenWorkbooks

아래 코드는 현재 통합문서에서 데이터를 복사한 뒤 두 번째 통합문서를 열고 새로운 시트를 만들어서 데이터를 붙여넣습니다.

Sub CopyAndPasteOpenWorkbook()
 Range("A1:D9").Select
 Selection.Copy
 Workbooks.Open Filename:= "C:\ExcelFiles\CombinedBranches.xlsx"
 Sheets.Add After:=ActiveSheet
 ActiveSheet.Paste
End Sub

팁: 위 코드를 정상적으로 실행하려면 Workbooks.Open 인수에 있는 경로가 포함된 파일이름을 예제 코드에 사용할 실제 파일 이름으로 바꾸세요!

새 통합 문서로 복사

새 통합 문서에 복사하여 붙여넣을 수도 있습니다.

Sub CopyAndPasteNewWorkbook()
 Range("A1:D9").Select
 Selection.Copy
 Workbooks.Add
 ActiveSheet.Paste
End Sub

 

vba-free-addin

VBA 코드 예시 추가 기능

본 웹사이트에 있는 모든 코드 예시에 쉽게 접근해보세요.

메뉴로 이동하여 클릭만 하면 코드는 모듈에 바로 입력됩니다. .xlam 추가 기능.

(설치가 필요 없습니다!)

무료 다운로드

VBA 코드 예시로 돌아가기