VBA – 매크로에서 잘라내기, 복사하기, 붙여넣기

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Younjung Kim

Last updated on 4월 7, 2023

이 튜토리얼에서는 VBA 매크로를 사용하여 복사하여 붙여넣기 및 잘라내고 붙여넣기를 수행하는 여러 가지 방법을 배웁니다. 고급 복사 및 붙여넣기 옵션에 대한 자세한 내용은 값 붙여넣기 및 선택하여 붙여넣기에 대한 튜토리얼을 읽어보세요.

이 코드를 사용하려면 다음과 같이 하세요: Visual Basic 편집기(Alt + F11)를 열고 새 모듈을 삽입(삽입 > 모듈)한 다음 원하는 코드를 복사하여 모듈에 붙여넣습니다.

단일 셀 복사(잘라내기) 및 붙여넣기

이 예는 A1이라는 단일 셀을 복사하거나 잘라내어 B1에 붙여넣는 예제입니다:

Sub Paste_OneCell()

    '단일 셀을 복사해서 붙여넣기
    Range("A1").Copy Range("B1")

    '단일 셀을 잘라내기 후 붙여넣기
    Range("A1").Cut Range("B1")

End Sub

간편한 VBA 코딩

더 이상 온라인에서 VBA 코드를 검색하지 않으셔도 됩니다. 초보자도 최소한의 코딩 지식으로 프로시저를 처음부터 코딩할 수 있고 모든 사용자를 위한 다양한 시간 절약 기능을 갖춘 VBA 코드 빌더인 AutoMacro에 대해 자세히 알아보세요!

alt text

 

자세히 알아보기!

선택 영역 복사하기

활성 선택 영역을 복사하려면 이것을 사용하십시오:

Sub CopySelection()

'정의된 범위에 붙여넣기
Selection.copy range("b1")

'오프셋하여 붙여넣기 (2셀 아래, 1셀 오른쪽으로 오프셋)
Selection.copy
Selection.offset(2,1).Select
ActiveSheet.Paste

Application.CutCopyMode = False

End Sub

셀 범위 복사(잘라내기) 및 붙여넣기

이 예제는 A1:A3 범위의 셀을 복사하거나 잘라내어 B1:B3에 붙여넣습니다:

Sub Paste_Range()

    '셀 범위 복사해서 붙여넣기
    Range("A1:A3").Copy Range("B1:B3")

    '셀 범위 잘라내기 후 붙여넣기
    Range("A1:A3").Cut Range("B1:B3")

End Sub

전체 열 복사(잘라내기) 및 붙여넣기

아래에서 몇 가지 간단한 예시를 보여드리겠습니다. 자세한 예제, 설명 및 응용에 대해서는 행과 열 복사 및 붙여넣기 문서를 참조하세요.

이 예는 전체 A열을 복사하거나 잘라내어 B열에 붙여넣습니다:

Sub PasteOneColumn()

    '열 복사해서 붙여넣기
    Range("A:A").Copy Range("B:B")


    '열 잘라내기 후 붙여넣기
    Range("A:A").Cut Range("B:B")

End Sub

전체 행 복사(잘라내기) 및 붙여넣기

이 예는 1행을 복사하거나 잘라내어 2행에 붙여넣습니다:

Sub Paste_OneRow()

    '행 복사해서 붙여넣기
    Range("1:1").Copy Range("2:2")


    '행 잘라내기 후 붙여넣기
    Range("1:1").Cut Range("2:2")

End Sub

복사(잘라내기) 후 다른 워크시트 또는 통합 문서에 붙여넣기

Sub Paste_Other_Sheet_or_Book()

    '잘라내기 또는 복사하여 다른 워크시트로 붙여넣기
    Worksheets("sheet1").Range("A1").Copy Worksheets("sheet2").Range("B1") 'Copy
    Worksheets("sheet1").Range("A1").Cut Worksheets("sheet2").Range("B1") 'Cut

    '잘라내기 또는 복사하여 다른 통합문서로 붙여넣기
    Workbooks("book1.xlsm").Worksheets("sheet1").Range("A1").Copy _ 
    Workbooks("book2.xlsm").Worksheets("sheet1").Range("B1") 'Copy
    Workbooks("book1.xlsm").Worksheets("sheet1").Range("A1").Cut _ 
    Workbooks("book2.xlsm").Worksheets("sheet1").Range("B1") 'Cut

    Application.CutCopyMode = False
End Sub

값 붙여넣기

일반적으로 복사하여 붙여넣기를 하면 서식, 수식 등 셀의 모든 속성을 붙여넣습니다. 값 붙여넣기를 사용하면 셀의 값만 복사하여 붙여넣을 수 있습니다. VBA에서 값 붙여넣기를 하는 가장 쉬운 방법은 셀의 값을 직접 정의하는 것입니다:

Sub ValuePaste()

    '셀에 값 붙여넣기
    Range("B1").value = Range("A1").value
    Range("B1:B3").value = Range("A1:A3").value

    '다른 워크시트의 값 불러오기
    Worksheets("sheet2").range("A1").value = Worksheets("sheet1").range("A1").value

    '다른 통합 문서의 값 불러오기
    Workbooks("book2.xlsm").Worksheets("sheet1").range("A1").value = _
    Workbooks("book1.xlsm").Worksheets("sheet1").range("A1").value

    Application.CutCopyMode = False
End Sub

선택하여 붙여넣기

선택하여 붙여넣기를 사용하면 셀의 특정 속성(예: 서식, 값, 열 너비 등)을 복사하여 붙여넣을 수 있습니다. 또한 특수 붙여넣기 작업(예: 공백 건너뛰기, 행/열 바꾸기)을 수행할 수 있습니다. 아래에서 몇 가지 예를 살펴보겠지만, 자세한 내용은 값 붙여넣기 및 선택하여 붙여넣기 튜토리얼을 참고하세요.

Sub PasteSpecial()

    '선택하여 붙여넣기 작업을 수행합니다:
    Range("A1").Copy
    '서식 붙여넣기
    Range("B1").PasteSpecial Paste:=xlPasteFormats
    '열 너비 붙여넣기
    Range("B1").PasteSpecial Paste:=xlPasteColumnWidths
    '수식 붙여넣기
    Range("B1").PasteSpecial Paste:=xlPasteFormulas

    '여러개의 선택하여 붙여넣기 옵션을 한번에 적용합니다:
    Range("A1").Copy
    '서식 붙여넣고 행/열 바꿈
    Range("B1").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True

    Application.CutCopyMode = False
End Sub

Clear Clipboard

복사하여 붙여넣기 후 클립보드를 지우고 싶을 수 있습니다(위의 코드 예제 중 일부에서 수행함). Excel 클립보드를 지우려면 Application.CutCopyMode를 False로 설정합니다:

Application.CutCopyMode = False

vba clear clipboard

이렇게 하면 Excel의 클립보드가 지워집니다. 그러나 Windows 클립보드는 지워지지 않습니다. 창 클립보드를 지우려면 여기 지침을 따르세요.

vba-free-addin

VBA 코드 예시 추가 기능

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

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

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

무료 다운로드

VBA 코드 예시로 돌아가기