엑셀 매크로 셀 크기에 맞게 그림 이미지 불러 오기

엑셀 매크로 셀 크기에 맞게 그림 이미지 불러오기

엑셀 작업 시 폼을 그리고 폼에 따라 이미지를 삽입해서 작업을 하기도 합니다.
이 폼에 따라 불러온 이미지는 보통 셀 크기에 맞게 이미지를 직접 조절하거나 옵션 설정을 해서
셀 크기에 맞게 조절하게 됩니다.

하지만 처음부터 이미지를 불러올 때 셀 크기에 맞게 불러오게 설정해놓으면 편리하겠지요

셀 크기에 맞지 않고 원본 형태로 불러오려면 기존 방식으로 불러오면 되고
셀 크기에 맞게 불러오려면 매크로 프로그램으로 불러오면 됩니다.

그럼 방법을 알아보겠습니다.

아래 간단한 엑셀 샘플을 준비했습니다.
셀 크기가 다른데요 동일한 이미지를 매크로를 이용해 삽입해서 셀 크기에 맞추어 들어가게 할 겁니다.




일반적으로 이미지 삽입은 상단 메뉴 중 [삽입]-[이미지]를 클릭하면 창이 뜨고
이미지를 선택하면 엑셀 옵션 설정에 따라 이미지 크기가 삽입됩니다.
기본은 원본 크기 비율에 맞게 나오게 됩니다.




이미지를 불러올 때부터 셀 크기에 맞게 불러오는 매크로 프로그램을 이용하면
설정 필요 없기 간단하게 삽입되는데요.

"ALT + F11"키를 눌러줍니다.

Microsoft Visual Basic for Applications 프로그램이 실행되면
"현재 통합 문서"에서 마우스 오른쪽 버튼 클릭 후 [삽입]-[모듈]을 선택합니다.




새로운 모둘 창이 열리면 아래 내용을 복사해서 넣어주세요

Option Explicit

Sub GetImage()

Dim ImageSel As Variant
Dim Img As Object
Dim i As Integer

ImageSel = Application.GetOpenFilename(filefilter:="Picture Files,*.jpg;*.bmp;*.tif;*.gif;*.png")

i = 10

If ImageSel = False Then Exit Sub

Set Img = ActiveSheet.Shapes.AddPicture(Filename:=ImageSel, linktofile:=False, Savewithdocument:=True, Left:=Selection.Left + i / 2, Top:=Selection.Top + i / 2, Width:=Selection.Width - i, Height:=Selection.Height - i)

End Sub 

 




엑셀로 돌아와서 파일을 저장합니다.
파일 형식은 "Excel 매크로 사용 통합 문서(*.xlsm)"을 선택 후 [저장] 버튼을 클릭합니다.


 



이제 준비가 끝났습니다.  삽입할 셀 선택 후 이미지를 불러오기 위해 상위 메뉴 중
[보기]-[매크로] 또는 "ALT+ F8" 키를 눌러주세요.



매크로 창이 열리면 생성한 GetImage를 선택 후 [실행] 버튼을 클릭합니다.




탐색기 창이 열리면 삽입하고자 하는 이미지를 선택합니다.




이미지가 셀 안에 삽입되었습니다. 동일한 이미지를 삽입해 보았는데요
셀 크기에 맞춰 자동으로 삽입되는 것을 확인할 수 있습니다.

삽입된 이미지를 보시면 셀 크기 사이에 조금의 여백이 있습니다.
이는 일부러 여백 값을 준 것인데요.




매크로 소스에서 아래 i=10 이 부분이 여백 값인데요

i 값을 설정하시면 됩니다.  "i=1"로 변경 후 다시 삽입해보겠습니다.




여백이 거의 없이 삽입됩니다.

엑셀 매크로 셀 크기에 맞게 그림 이미지 불러오기를 알아보았습니다.