이번에는 엑셀의 카메라 기능을 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 다른 셀에 일치하는 코드 값에 데이터 찾아 추가하기 (4) | 2024.05.29 |
---|---|
엑셀 VBA 배열 처리를 위한 Array 객체 사용하는 방법 (0) | 2024.05.27 |
엑셀 VBA 옵션 버튼 OptionButton 컨트롤 사용하기 (0) | 2024.05.26 |
엑셀 VBA 매크로 실행 버튼으로 코드 실행하기 (2) | 2024.05.22 |
엑셀 VBA 반복문 For Next 문 사용하기 (0) | 2024.05.16 |
엑셀 VBA 연도, 월, 일로 날짜를 생성하는 함수 DateSerial (0) | 2024.05.09 |
엑셀(VBA) Hour, Minute, Second 시간에서 시, 분, 초 추출 (0) | 2024.05.04 |
엑셀(VBA) Year, Month, Day 함수 연도, 월, 일 추출 (0) | 2024.05.04 |