엑셀 시트의 셀 값을 복사(Ctrl-C) 한 뒤 다른 화면에 붙여 넣기(Ctrl-V) 하는 작업은 정말 많이 하는 작업 중에 하나입니다.
작업에 따라 셀 값을 수십 번 또는 수백 번 복사와 붙여 넣기 작업을 반복하는 경우도 가끔 생기게 됩니다.
손가락이 마비 현상이 올 정도로 Ctrl-C, Ctrl-V를 반복해야 하는 경우 최소한 복사(Ctrl-C)만이라도 마우스 클릭 한번으로 대체할 수 있다면 얼마나 좋을까요?
엑셀에서 VBA 소스 코드를 활용하면 복사(Ctrl-C)를 마우스 클릭 한번으로 대체할 수 있습니다.
이번 글에서는 Excel 엑셀에서 클릭 한번으로 셀 값을 클립보드에 복사하는 방법(Ctrl-C 기능)에 대해 알아보겠습니다.
엑셀에서 마우스 클릭 한번으로 셀 값을 자동 복사하기
1. 아래 엑셀 시트에서 A열의 이름을 하나하나 복사해서 다른 화면에 붙여넣기 하는 작업을 한다고 가정해 보겠습니다.
일반적인 복사/붙여넣기라면 A2 셀을 선택한 다음 Ctrl-C 키를 눌러 복사하고, 붙여 넣기 할 화면으로 이동한 다음 Ctrl-V 키를 눌러 붙여 넣기 하게 됩니다.
2. 이제부터 A열의 이름을 마우스 클릭 한번으로 클립보드로 복사하는 기능을 구현해 보겠습니다.
3. 작업 시트 탭에서 마우스 오른쪽 버튼을 클릭하여 나온 메뉴에서 코드 보기 메뉴를 선택합니다.

4. 그럼 아래 화면과 같이 VBA(Microsoft Visual Basic fo Applications) 코드 작성 화면으로 넘어 가게 됩니다.
- [개발 도구]-[Visual Basic] 메뉴를 통해서도 이동할 수 있습니다.
- [개발 도구] 메뉴가 없는 경우 엑셀에서 VBA(매크로)를 처음으로 시작할 때 참고하세요. 글을 먼저 참고하세요.
5. 코드 작성 화면에 다음과 같이 코드를 작성하고 저장 한 다음 VBA 창을 닫으면 됩니다.
- Worksheet_SelectionChange(ByVal Target As Range) 이벤트 이름은 동일하게 지정해 주어야 합니다.
- Range(“A2:A8”) 셀 영역은 작업에 맞게 적당하게 지정해 주면 됩니다.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range(“A2:A8”)) Is Nothing Then Target.Copy End If End Sub |

6. 이제부터 엑셀 작업 시트에서 A열의 이름을 마우스 클릭만 하면 자동으로 클립보드로 복사가 됩니다.
7. 클립보드 복사가 되는 것을 보여주기 위해 클립코드를 엑셀 화면에 표시해 보았습니다.

8. A열의 이름 셀을 클릭만 하면 자동으로 셀 값이 복사 되고, 붙여 넣기 할 화면에서 Ctrl-V 붙여 넣기만 하면 간단하게 복사/붙여 넣기가 이루어집니다.
마무리
엑셀 셀 값을 복사 한 다음 다른 화면에 붙여 넣기 하는 작업은 정말 많이 하는 작업입니다.
몇 시간씩 Ctrl-C, Ctrl-V 키보드만 누르는 경우도 종종 생기게 됩니다.
이 글에서 소개한 정말 간단한 VBA만 사용한다면 복사를 위한 Ctrl-C는 안 눌러도 되니 키보드 누르는 횟수를 반으로 줄일 수 있습니다.
복사/붙여넣기 하는 작업이 수백 건을 넘어갈 정도로 많은 경우 여기에서 소개한 VBA 코드를 꼭 활용해 보시기 바랍니다.
※ 함께 읽으면 도움이 될 만한 다른 포스팅 글입니다.
- Excel VBA 엑셀에서 홀수 또는 짝수 페이지만 인쇄하는 방법(VBA 매크로 활용)
- 엑셀 VBA 매크로 이용하여 지정된 셀의 텍스트 깜박임 효과 주는 방법(엑셀 셀 깜빡거림)
- 엑셀 VBA 매크로 이용하여 특정 조건의 데이터를 삭제하는 방법(특정 조건 데이터가 포함 된 행 삭제)
- 엑셀 VBA 매크로 – 여러 열을 하나의 열로 합쳐서 나열하는 방법(선택한 여러 열을 한 열로 표시)
- 엑셀 VBA 매크로를 사용하여 특정 선택 영역만 인쇄하는 방법(예제 2가지)
- 엑셀 VBA 매크로를 사용하여 고지서나 명세서를 한번에 일괄로 자동 인쇄 하는 방법
♥ 이 글이 도움이 되었기를 바랍니다. ^-^
댓글로 흔적을 남겨 주세요.