이번에는 엑셀의 카메라 기능을 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 로 카메라 기능을 구현해서 실행한 결과 입니다. 붙여넣기 한 내용을 보시면 이미지인 것을 알 수 있습니다.
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 엑셀 카메라 기능 이용하기 ▶ 엑셀 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 까지만 골라내서 붙여넣기를 한 것이기 때문에 그림크기에 맞추다 보니 글자가 늘어난 것입니다.
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 엑셀 카메라 기능 이용하기 ▶ 엑셀 Excel 클립보드 활용과 내용 삭제하기 ▶ 엑셀 Excel 셀을 나누는 눈금선 없애기 ▶ 엑셀 Excel 스크린샷 기능으로 화면 캡쳐하는 방법 ▶ 엑셀 Excel 이력서 사진 추가, 셀에 이미지 고정시키는 방법 |
'엑셀(Excel) > VBA' 카테고리의 다른 글
엑셀 VBA 다른 셀에 일치하는 코드 값에 데이터 찾아 추가하기 (3) | 2022.12.29 |
---|---|
엑셀 VBA 매크로 이용해서 특정 조건의 데이터를 삭제하고 싶을 때 (25) | 2022.12.24 |
엑셀 VBA 아티클 전체 목록 (12) | 2022.12.23 |
엑셀 VBA 차트 매크로로 만드는 방법 (3) | 2022.12.20 |
엑셀 VBA 행, 열 삭제 및 추가하기 (0) | 2022.12.14 |
엑셀 VBA 주민번호, 이메일 문자열 잘라 내는 방법 (8) | 2022.11.30 |
엑셀 VBA 문서에 포함된 하이퍼링크 한번에 삭제하기 (1) | 2022.11.30 |
엑셀 VBA 웹브라우저(인터넷 익스플로러) 띄우는 방법 (0) | 2022.11.30 |