본문 바로가기
엑셀/VBA

[엑셀]VBA입문(7)-복사, 붙여넣기

by 이지블로그 2020. 9. 17.

이전 글

[엑셀] VBA입문(0)-VBA란?

[엑셀] VBA입문(1)-VBA실행법

[엑셀] VBA입문(2)-변수

[엑셀] VBA입문(3)-반복문

[엑셀] VBA입문(4)-반복문 2

[엑셀] VBA입문(5)-조건문 IF

[엑셀] VBA입문(6)-끝열, 끝행 찾기


오늘은 VBA를 통해 복사, 붙여 넣기를 하는 방법에 대해 알아봅시다.

 

첫 번째로 복사, 붙여 넣기 방법을 알아보고 다음으로는 값, 서식 등을 선택해서 붙여 넣는 법에 대해 알아보겠습니다.

 

먼저 복사 , 붙여 넣기 방법입니다.

 

B2:E3의 값을 B5:E6으로 복사해 보겠습니다.

 

Sub co()
    Range("b2:e3").Copy
    Range("b5").PasteSpecial
End Sub

매우 간단하죠 복사는 영역을 지정해서 copy

붙여 넣기는 붙여 넣을 곳에 pastespecial

 

근데 이걸 치는 시간에 그냥 ctal+c 하는 게 빠른 거 아니냐는 생각을 할 수도 있습니다.

물론 복사할 수가 적거다 모두 붙어 있다면 그게 더 빠를 수 있지만

VBA를 사용하면 앞에서 배운 조건문과 반복문을 사용해

특정 조건을 만족하는 셀만 선택해 복사할 수 있으니

이걸 사용한다면 사무일을 할 때 하나씩 복붙 하는 것보다 시간을 훨씬 절약할 수 있습니다.

 

그럼 다음으로 선택하여 붙여 넣기에 대해 알아보겠습니다.

일반 엑셀에서는 붙여 넣기를 할 때 ctal+alt+v를 하면 선택하여 붙여 넣기가 됩니다.

그렇다면 VBA에서는 어떻게 하냐

 

Sub co()
    Range("b2:e3").Copy
    Range("b5").PasteSpecial xlPasteValues
End Sub

아까와 같지만 뒤에 xlPasteValues를 붙여줬습니다.

이러면 값만 복사하게 됩니다.

이외에도 xlPastexlPasteFormats을 이용해 서식 복사

 

Sub co()
    Range("b2:e3").Copy
    Range("b5").PasteSpecial , , , True
End Sub

 

이런 식으로 행열 전환 등 원하는 것을 선택해서 붙일 수 있습니다.

PasteSpecial 1, 2, 3, 4

원하는 것을 선택할 때 순서는 위와 같습니다.

PasteSpecial , , True를 하게 되면 내용 있는 셀만 붙여 넣기가 됩니다.

복사 붙여 넣기는 다양하게 여러 가지에 활용할 수 있는니 많이 사용해 보시길 바랍니다.

 

다음 시간에는 엑셀의 내용을 지우는 방법에 대해 알아보기로 하고 그럼 이만

반응형