Please Enable JavaScript!
Gon[ Enable JavaScript ]

엑셀 VBA 카메라 기능을 매크로로 작성하기

엑셀(Excel)/VBA
반응형

이번에는 엑셀의 카메라 기능을 VBA 로 구현해 보겠습니다. 엑셀 시트에서 사용하려면 설정에서 카메라 기능을 추가해야 합니다. 카메라 기능은 엑셀에서 선택한 셀 영역을 사진처럼 찍어서 이미지로 복사할 수 있습니다. 이 기능을 VBA 로 구현해 보도록 하겠습니다.

 

 

아래 그림처럼 카메라 기능을 이용하면 선택한 셀 영역을 이미지로 복사할 수 있습니다. 개요에서도 설명했듯이 이 기능과 [추가기능모음] 이라는 탭은 제가 [설정]에서 추가한 것입니다.

엑셀 VBA 카메라 기능을 매크로로 작성하기

 

이런 카메라 기능을 VBA 에서 구현하기 위해서 CopyPicture() 함수를 사용합니다. CopyPicture() 를 실행하기 전에 먼저 영역을 선택해야겠죠. 그럼 Selection.CopyPicture 을 이용해서 영역을 찍습니다. 그리고 자신이 원하는 영역인 Range(“A14”).Select 로 지정해 줍니다. 그리고 ActiveSheet.Paste 로 바로 위에서 선택한 영역에 복사한 이미지를 붙여넣기 하면 카메라 기능과 동일하게 됩니다.

 

Sub 카메라기능() 
    ActiveSheet.Select
    Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture
   
    ' 복사하기    Range("A14").Select
    ActiveSheet.Paste
 
End Sub

 

 

아래 그림은 VBA 로 카메라 기능을 구현해서 실행한 결과 입니다. 붙여넣기 한 내용을 보시면 이미지인 것을 알 수 있습니다.

엑셀 VBA 카메라 기능을 매크로로 작성하기

 ※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다.
엑셀 카메라 기능 이용하기
엑셀 Excel 클립보드 활용과 내용 삭제하기
엑셀 Excel 셀을 나누는 눈금선 없애기
엑셀 Excel 스크린샷 기능으로 화면 캡쳐하는 방법
셀 Excel 이력서 사진 추가, 셀에 이미지 고정시키는 방법

 

 

Selection.Formula 속성은 복사한 영역에서 원하는 부분만 골라 낼 수 있습니다. 아래 소스에서 원래 복사한 내용은 F12 까지 이지만 Selection.Formula C13 까지만 골라내서 붙여넣기한 것입니다. 

 

Sub 카메라기능() 
    ActiveSheet.Select
    Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture
   
    ' 복사하기    Range("A14").Select
    ActiveSheet.Paste
    Selection.Formula = "A1:C13"
   
End Sub

 

 

결과 화면처럼 A1 에서 C12 까지만 골라내서 붙여넣기를 한 것이기 때문에 그림크기에 맞추다 보니 글자가 늘어난 것입니다.

엑셀 VBA 카메라 기능을 매크로로 작성하기

 ※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다.
엑셀 카메라 기능 이용하기
엑셀 Excel 클립보드 활용과 내용 삭제하기
엑셀 Excel 셀을 나누는 눈금선 없애기
엑셀 Excel 스크린샷 기능으로 화면 캡쳐하는 방법
셀 Excel 이력서 사진 추가, 셀에 이미지 고정시키는 방법
반응형
Posted by 녹두장군

댓글을 달아 주세요

  1. 봄이 2020.06.03 20:35  댓글주소  수정/삭제  댓글쓰기

    좋은 정보감사합니다.
    혹시 저렇게 만들어진 카메라 스크린샷을 클릭한번으로 다시 삭제하고 싶을때는 매크로를 어찌 작성해야될까요?