목차
필요할 때마다 한 시트에서 다른 시트나 통합 문서로 범위를 복사할 수 있습니다. 다양한 유형의 복사 및 붙여넣기가 있습니다. 이 기사에 이어 Excel VBA 복사 범위를 다른 시트에 사용하는 다양한 방법을 알게 될 것입니다.
설명을 생생하게 하기 위해 특정인의 개인 정보를 나타내는 샘플 데이터 세트를 사용하겠습니다. . 데이터 세트에는 4개의 열이 있습니다. 이러한 열은 이름, 성, 전체 이름, 및 이메일 입니다.
실습용 통합 문서 다운로드
다른 Sheet.xlsm에 VBA 복사 범위
Excel VBA 범위를 다른 시트에 복사하는 8가지 방법
1. 범위 복사 형식
을 사용하여 다른 시트에 형식 을 사용하여 한 시트에서 다른 시트로 범위를 복사 할 때마다 VBA .
여기서 Dataset 시트에서 WithFormat 시트로 범위를 복사 하겠습니다.
절차를 시작하겠습니다.
먼저 개발자 탭 >> Visual Basic
선택 ALT + F11 키보드를 사용하여 VBA editor.
다음으로 Microsoft Visual Basic for Applications.
여기에서 삽입 <3을 엽니다>>> 모듈 을 선택합니다.
모듈 이 열리면 열린 창에 다음 코드를 입력합니다. >> 매크로 보기
를 선택하십시오. 대화 상자 가 나타납니다.
이제 매크로 이름 에서 Copy_Range_BelowLastCell_AnotherSheets 를 선택하고 Macros in 내의 통합 문서도 선택합니다.
마지막으로 실행 선택한 매크로 .
따라서 선택한 범위를 복사 하고 다른 시트의 마지막 행에서 붙여넣기 합니다. .
8. VBA 다른 통합 문서의 마지막 행에 범위 복사
원하는 경우 복사 다른 통합 문서 시트의 마지막 행까지의 범위 VBA 를 사용할 수도 있습니다.
여기에서 Dataset2의 범위를 복사 하겠습니다. 시트를 시트 1 of Book2 하지만 비어 있지 않은 첫 번째 셀에서.
절차를 시작하려면
먼저 개발자 탭 >> Visual Basic
선택 ALT + F11 키보드를 사용하여 VBA 편집기를 열 수도 있습니다.
다음으로 Microsoft Visual Basic for Applications.
여기에서 삽입 <3을 엽니다>>> 모듈 을 선택합니다.
모듈 이 열리면 열린 모듈 에 다음 코드를 입력합니다.
2065
여기서 Sub 프로시저 Copy_Range_BelowLastCell_To_Another_Workbook 여기서 wsCopy 및 wsDestination <을 선언했습니다. 3> 워크시트 유형, lCopyLastRow 및 lDestLastRow 은 Long 타입이다.
먼저 Set 을 사용하여 복사할 시트와 대상 시트에 대한 변수를 설정한다.
다음, 행 방법을 사용하여 복사 범위 A 열의 데이터를 기준으로 마지막 행을 찾았습니다.
다시 행 방법을 사용했습니다. 대상 범위에서 열 A 의 데이터를 기반으로 첫 번째 빈 행을 찾으려면 오프셋 을 사용하여 한 속성 아래로 이동합니다.
마지막으로 복사됨 Excel VBA Copy Range to Another Sheet.xlsm 통합 문서에서 Dataset2 시트의 데이터를 통합 문서 Book2.xlsx<의 대상 Sheet1 으로 .
이제 코드를 저장 하고 워크시트로 돌아갑니다.
다음으로 보기 탭 >> 매크로 >> 매크로 보기
대화 상자 를 선택합니다.
이제 매크로 이름 에서 Copy_Range_BelowLastCell_To_Another_Workbook 을 선택하고 매크로 위치 내의 통합 문서도 선택합니다.
마지막으로 실행 선택한 매크로 .
따라서 기존 시트에서 선택한 범위를 다른 통합 문서의 마지막 행에 복사 합니다.
연습 섹션
이러한 Excel VBA 복사 범위의 방법을 연습할 수 있도록 통합 문서에 연습 시트를 제공했습니다. 다른 시트로.
결론
이 기사에서는 쉽고 빠른 방법 8가지를 설명했습니다.Excel VBA 범위를 다른 시트로 복사합니다. 이러한 다양한 방법을 통해 한 시트에서 다른 시트로 범위를 복사하고 한 시트에서 다른 통합 문서로 범위를 복사할 수 있습니다. 마지막으로 제안, 아이디어 및 피드백이 있으시면 아래에 언제든지 의견을 남겨주세요.
Module.4480
여기서 Sub 프로시저 Copy_Range_withFormat_ToAnother_Sheet
를 선언했습니다. 기존 시트에서 시트 이름 WithFormat 으로 복사하기 위해 B1:E10 범위를 가져왔습니다.
여기서는 복사 선택한 범위를 복사하는 방법, 복사 방법은 형식 으로 모든 범위를 복사합니다.
마지막으로 코드를 저장 하고 워크시트로 돌아갑니다. .
다음으로 보기 탭 >> 매크로 >> 매크로 보기
대화 상자 를 선택합니다.
이제 매크로 이름 에서 Copy_Range_withFormat_ToAnother_Sheet 를 선택하고 Macros in 내의 통합 문서도 선택합니다.
마지막으로 실행 선택한 매크로 .
따라서 선택한 새 시트에 형식 으로 선택한 범위를 복사 합니다( WithFormat) .
2. VBA 형식 없이 다른 시트에 범위 복사
또한 VBA 를 사용하여 서식 없이 범위를 다른 시트에 복사 할 수 있습니다.
여기 복사 Dataset 시트에서 WithoutFormat 시트까지의 범위입니다.
절차를 시작하겠습니다.
이제 개발자 탭 >> Visual Basic 선택( ALT + F11 사용)
다음에 <2가 열립니다>Microsoft Visual Basic for Applications.
그런 다음 삽입을 엽니다. >> 모듈 을 선택합니다.
모듈 이 열리면 열린 모듈 에 다음 코드를 입력합니다.
4948
여기서 Sub 절차를 선언했습니다. Copy_Range_WithoutFormat_Toanother_Sheet
범위를 잡았습니다 B1:E10 기존 시트에서 시트 이름 WithoutFormat 으로 복사합니다.
여기서 복사 방법을 사용하여 선택한 범위를 복사했지만 형식이 아닌 선택한 범위의 값 만 붙여넣도록 PasteSpecial 방법에서 Paste:=xlPasteValues 를 언급했습니다.
마지막으로 , 코드를 저장 하고 워크시트로 돌아갑니다.
다음으로 보기 탭 >> 매크로 >> 매크로 보기
대화 상자 를 선택합니다.
이제 매크로 이름 에서 Copy_Range_WithoutFormat_Toanother_Sheet 를 선택하고 Macros in 내의 통합 문서도 선택합니다.
마지막으로 선택한 매크로 를 실행합니다.
따라서 값 없음 형식<3으로만 선택한 범위를 복사 합니다>.
3. 형식 및 열 너비가 있는 다른 시트에 범위 복사
때로는 선택한 범위를 있는 그대로 복사합니다. 형식 및 열 너비 로 범위를 복사 할 수 있습니다.
여기, Dataset 시트에서 Format & 열 너비 시트.
VBA ,
를 사용하여 작업을 수행하는 절차를 보려면 먼저 개발자 탭 >> Visual Basic
선택 ALT + F11 키보드를 사용하여 VBA 편집기를 열 수도 있습니다.
다음으로 Microsoft Visual Basic for Applications의 새 창이 열립니다.
여기에서 삽입 을 엽니다. >> 모듈 을 선택합니다.
모듈 이 열리면 열린 모듈 에 다음 코드를 입력합니다.
1331
여기서 Sub 절차를 선언했습니다. Copy_Range_to_Another_Sheet_with_FormatAndColumnWidth
범위를 취했습니다 B1:E10 기존 시트에서 대상 시트 이름으로 복사 Format & Column Width .
여기서 Copy 방법을 사용하여 선택한 범위를 복사했습니다. 또한 Paste:=xlPasteColumnWidths 를 언급한 PasteSpecial 방법을 사용하여 선택한 범위를 형식 및 열 너비 와 함께 붙여넣습니다. .
마지막으로 코드를 저장 하고 워크시트로 돌아갑니다.
다음으로 보기 탭 >> 매크로 >> 매크로 보기
대화 상자 를 선택합니다.
이제 매크로 이름 에서 Copy_Range_to_Another_Sheet_with_FormatAndColumnWidth 를 선택하고 매크로 위치 내의 통합 문서도 선택합니다.
마지막으로 선택한 실행 매크로 .
결과적으로 선택한 범위를 형식 및 열 너비 .<1로 복사 합니다>
4. VBA 수식을 사용하여 범위를 다른 시트에 복사
데이터 세트에 복사하려는 수식이 있는 경우. 걱정 마! 수식 이 포함된 범위를 수식을 그대로 유지하면서 다른 시트에 복사할 수 있습니다.
여기에서 데이터세트 시트의 범위를 복사 하겠습니다. WithFormula sheet
절차를 시작하겠습니다.
시작하려면 개발자 탭 >> Visual Basic 선택( ALT + F11 키보드 사용 가능)
다음으로 Microsoft Visual Basic for Applications.
여기에서 삽입 >> 모듈 을 선택합니다.
모듈 이 열리면 열린 모듈 에 다음 코드를 입력합니다.
4412
여기서 Sub 프로시저를 선언했습니다. Copy_Range_withFormula_ToAnother_Sheet
I've take range B1:E10 기존 시트에서 대상 시트 이름 WithFormula 로 복사합니다.
여기서 복사 방법을 사용하여 선택한 범위를 복사했습니다. PasteSpecial 방법을 사용하여 Paste:=xlPasteFormulas 선택 범위와 함께 수식 을 전달합니다.
마지막으로 , 코드를 저장 하고 워크시트로 돌아갑니다.
그런 다음 보기 탭 >> 매크로 >> 매크로 보기
대화 상자 를 선택합니다.
이제 매크로 이름 에서 Copy_Range_withFormula_ToAnother_Sheet 를 선택하고 Macros in 내의 통합 문서도 선택합니다.
마지막으로 실행 선택한 매크로 .
따라서 수식 .
을 사용하여 선택한 모든 셀 범위를 복사 합니다.
비슷한 내용:
- VBA 범위 오프셋 사용 방법(11가지 방법)
- 엑셀 범위 내 각 셀에 대한 VBA(3가지 방법)
- 엑셀에서 VBA의 범위 개체를 사용하는 방법(5가지 속성)
5. 다른 시트에 자동 맞춤으로 범위 복사
범위를 다른 시트에 복사 하는 동안 자동 맞춤 방법을 사용할 수도 있습니다. VBA 에서 자동 맞춤 새 시트의 복사된 범위로.
여기에서 데이터 세트의 범위를 복사 하겠습니다. 시트를 자동 맞춤 시트
절차를 시작하겠습니다.
먼저 개발자 탭 >> Visual Basic
선택 ALT + F11 키보드를 사용하여 VBA 편집기를 열 수도 있습니다.
다음으로 Microsoft Visual Basic for Applications 창이 열립니다.
그런 다음 삽입 > ;> 모듈 을 선택합니다.
모듈 이 열리면 열린 창에 다음 코드를 입력합니다. Module .
8962
여기서 Sub 프로시저 Copy_Range_withFormat_AutoFit
을 선언했습니다. 먼저 Dataset 워크시트를 선택했습니다. 그런 다음 B1:E10 범위를 사용하여 기존 시트에서 자동 맞춤 이라는 대상 시트로 복사합니다.
여기서는 복사 선택한 범위를 복사하는 메서드와 자동 맞춤 메서드는 지정된 열 B:E 를 자동으로 맞춥니다.
마지막으로 코드를 저장 하고 이동합니다. 워크시트로 돌아갑니다.
다음으로 보기 탭 >> 매크로 >> 매크로 보기
대화 상자 를 선택합니다.
이제 매크로 이름 에서 Copy_Range_withFormat_AutoFit 을 선택하고 매크로 위치 내의 통합 문서도 선택합니다.
마지막으로 실행 선택한 매크로 .
따라서 선택한 범위를 새 시트에 복사 하고 자동 맞춤 열도 복사합니다.
6. VBA 다른 통합 문서에 범위 복사
원하는 경우 한 시트에서 다른 시트로 범위를 복사 할 수도 있습니다.
여기에서 데이터세트 시트의 범위를 책1 의 시트1 에 복사 하겠습니다. 통합 문서입니다.
절차를 시작하겠습니다.
먼저 개발자 탭 >> Visual Basic 선택( ALT + F11 키보드 사용 가능)
그런 다음, Microsoft Visual이 열립니다.애플리케이션 기본.
다음으로 삽입 >> 모듈 을 선택합니다.
모듈 이 열리면 열린 모듈 에 다음 코드를 입력합니다.
7404
여기서 Sub 프로시저 Copy_Range_WithFormat_Toanother_WorkBook
<2 범위를 선택했습니다>B3:E10 시트 이름 데이터세트 기존 시트에서 새 통합 문서 이름 Book1 및 시트 이름 Sheet1 .
<으로 복사 0>여기서는 복사 방법을 사용하여 선택한 범위를 새 통합문서로 복사했습니다.마지막으로 코드를 저장 하고 다시 워크시트로 돌아갑니다.
다음으로 보기 탭 >> 매크로 >> 매크로 보기
대화 상자 를 선택합니다.
이제 매크로 이름 에서 Copy_Range_WithFormat_Toanother_WorkBook 을 선택하고 Macros in 내의 통합 문서도 선택합니다.
마지막으로 실행 선택한 매크로 .
이제 데이터 세트 시트에서 다른 통합 문서로 선택한 범위를 복사 합니다.
7. 다른 시트의 마지막 행에 범위 복사
어떤 경우에도 다른 시트에 범위를 복사 하려면 특정 셀이나 마지막 셀에서 VBA 를 사용하여 수행할 수 있습니다.
절차에 들어가기 전에 이름, 이메일, 및 주소 .
먼저 Dataset2 시트를 살펴보겠습니다.
다음은 마지막 셀 아래 시트입니다.
여기에 복사 합니다. 2>Dataset2 시트를 마지막 셀 아래 로, 첫 번째 비어 있지 않은 셀에서.
시작하려면 개발자 탭 >> Visual Basic
을 선택하면 Microsoft Visual Basic for Applications가 열립니다.
그런 다음 열기 삽입 >> 모듈 을 선택합니다.
모듈 이 열리면 열린 모듈 에 다음 코드를 입력합니다.
2561
여기서 Sub 절차를 선언했습니다. Copy_Range_BelowLastCell_AnotherSheets
먼저 <2 시트를 선택했습니다>Dataset2 그리고 행 방법을 사용하여 마지막 행 을 계산하고 계산된 행을 lr 에 보관했습니다.
그런 다음 범위 A2:C & lr 기존 시트에서 대상 시트 이름 마지막 셀 아래 로 복사합니다.
다시 행 방법을 사용하여 마지막 Below Last Cell 이라는 다른 시트의 행 이고 계산된 행을 lrAnotherSheet 에 보관했습니다.
여기서는 복사 방법을 사용했습니다. 선택한 범위를 복사하면 자동 맞춤 방법이 지정된 열 A:C 를 자동 맞춤합니다.
마지막으로 코드를 저장 하고 뒤로 돌아갑니다. 워크시트로 이동합니다.
다음으로 보기 탭 >> 매크로에서