엑셀에서 견적서의 결제란 서식을 작성하여 이를 그림으로 저장한 후 표시하는 방법에 대해 이전 글에서 알아봤었습니다. 이를 VBA에서도 CopyPicture 메서드를 사용하여 구현할 수 있습니다. 이 메서드에 대해서 알아보겠습니다.
1. CopyPicture 메서드
VBA를 이용하여 선택한 범위의 모습을 그림 복사 및 붙여 넣기를 할 때 Range 개체의 메서드인 CopyPicture 메서드를 이용합니다. 이 메서드 사용방법은 다음과 같습니다.
Range.CopyPicture (모양, 형식)
1.1 모양 (Appearance)
모양에 들어갈 내장 상수를 다음 표에 정리해 보았습니다.
내장 상수 | 설 명 |
xlScreen | 화면에 표시된 대로 |
xlPrinter | 미리보기에 표시된 대로 |
1.2 형식 (Format)
형식에 들어갈 내장 상수를 다음 표에 정리해 보았습니다.
내장 상수 | 설 명 |
xlPicture | 그림(벡터 형식의 png, wmf) |
xlBitmap | 비트맵(bmp, jpg, gif) |
2. 예제로 확인
이전 글에서 사용한 견적서에서 결제란 서식을 그림으로 만들어 붙여 넣기 하였던 예제를 VBA로 실행해 보겠습니다.
견적서 양식이 있는 엑셀 시트의 임의의 위치에 결제란 서식을 작성합니다. 만든 서식은 견적서 양식을 볼 때 보이지 않도록 만듧니다.
[그림 1]과 같이 결제란 서식을 엑셀 시트에 작성하였습니다.
VBE 창을 열고 모듈을 생성합니다. 그리고, 코드 창에 다음과 같이 입력합니다.
Public Sub 결제란()
Dim 결제란서식 As Range
Dim 결제란 As Range
Set 결제란서식 = Range("V92:Z93")
Set 결제란 = Range("K8")
결제란서식.CopyPicture xlScreen, xlBitmap
ActiveSheet.Paste 결제란
End Sub
Range 형식으로 변수 결제란서식과 결제란을 생성하였습니다.
그리고, 변수 결제란서식에는 엑셀 시트에 만든 결제란 서식의 셀 주소를 저장하고, 변수 결제란에는 결제란 그림을 붙여놓을 셀 주소를 입력하였습니다.
결제란서식.CopyPicture xlScreen, xlBitmap
: 결제란 서식을 화면에 표시된 대(xlScreen)로 비트맵 그림 형식(xlBitmap)으로 작성하라는 명령입니다.
이 명령은 이전에 작성했던 것처럼 다음과 같이 내장 상수를 지정할 수 있습니다.
결제란서식.CopyPicture Appearance:=xlScreen, Format:=xlBitmap
ActiveSheet.Paste 결제란
: Paste 메서드를 사용하여 그림 형식으로 만든 결제란을 결제란 변수에 입력되어 있는 셀 주소에 붙여 넣기 합니다.
코드를 작성하시고 실행하시면 K8 셀에 만드신 서식의 결제란 그림이 생성되는 것을 보실 수 있습니다.
'엑셀 > VBA' 카테고리의 다른 글
VBA 셀 삽입 메서드 Insert에 대해 알아보기 (0) | 2021.12.17 |
---|---|
VBA 메서드 Clear & Delete 알아보기 (0) | 2021.12.16 |
VBA Range 메서드 PasteSpecial에 대해 알아보기 (0) | 2021.12.15 |
VBA로 셀을 복사, 잘라내기 및 붙여넣기 하기 (0) | 2021.12.15 |
VBA Range의 NumberFormat 속성에 대해 알아보기 (0) | 2021.12.11 |