사진을 셀에 맞추기 위해서는 몇 가지 작업을 해야 합니다. 그림서식으로 가서 속성을 변경하고 이미지를 셀 크기만큼 조절해서 맞춥니다. 복잡하지 않지만 좀더 간단하게 할 수 있는 방법이 없을지 고민하게 됩니다. 방법은 있습니다. 매크로를 이용해서 클릭한번으로 추가한 이미지의 크기를 셀에 맞추는 방법입니다. 한번 작성한 매크로 함수는 계속해서 사용할 수 있기 때문에 추가할 이미지가 많은 경우 작업 시간을 줄일 수 있습니다.
이미지 속성을 이용해서 셀이 크기를 맞추는 방법들을 알고 싶다면 아래 포스팅을 참고하세요.
[참고] l 엑셀 Excel 이력서 사진 추가, 셀에 이미지 고정시키는 방법 l 엑셀 Excel 셀 그림 여러 장 채워서 앨범 만들기 |
◎ 이미지 셀 자동 맞추기 매크로 작성하기 |
▼ 추가할 매크로 함수는 선택한 셀에 이미지를 자동으로 맞추는 기능이 들어갑니다. 먼저 매크로 함수를 만들겠습니다. 개발 도구 탭 > 매크로 리본 메뉴를 클릭합니다.
▼ 매크로 생성 대화상자가 뜨면 사용할 매크로 이름을 입력하고 만들기 버튼을 클릭합니다.
▼ 엑셀은 VBA 편집 화면에 생성한 함수를 추가합니다. 이제 Sub 함수 내에 코드를 작성하겠습니다.
▼ 매크로 함수에 들어갈 소스를 설명하겠습니다. 먼저 추가할 이미지를 사용자가 선택할 수 있도록 대화상자를 띄웁니다. 파일 확장자는 이미지에 해당하는 jpg, bmp, gif, tif 로 합니다.
pic = Application.GetOpenFilename _ (filefilter:="Picture Files,*.jpg;*.bmp;*.tif;*.gif") |
▼ 파일 선택 대화상자에서 리턴받은 객체인 pic 에 사용자가 선택한 이미지 정보가 있는지 판단합니다. 아무것도 없다면 메시지를 출력하고 함수를 빠져나갑니다.
'' 파일이 없을 때 메시지 출력, 함수 종료 If pic = False Then MsgBox "선택한 파일이 없습니다." Exit Sub End If |
▼ 다음은 선택한 셀에 이미지를 추가하기 위한 ActiveSheet.Pictures.Insert() 함수에 리턴받은 pic 객체를 입력합니다. 그리고 이미지의 크기를 셀에 맞추기 위해 고정 옵션을 해제합니다. LockAspectRatio 속성에 msoFalse 를 입력합니다.
.LockAspectRatio = msoFalse ' 가로/세로 크기 고정 해제 |
▼ 이미지 객체의 높이, 넓이, 왼쪽 상단 모서리의 위치를 선택한 셀 (Selection) 의 값과 동일하게 맞춥니다.
.Height = Selection.Height .Width = Selection.Width .Left = Selection.Left .Top = Selection.Top |
▼ 전체 소스는 다음과 같습니다.
Sub ImgFix() Dim pic As Variant pic = Application.GetOpenFilename _ (filefilter:="Picture Files,*.jpg;*.bmp;*.tif;*.gif") '' 파일이 없을 때 메시지 출력, 함수 종료 If pic = False Then MsgBox "선택한 파일이 없습니다." Exit Sub End If With ActiveSheet.Pictures.Insert(pic).ShapeRange .LockAspectRatio = msoFalse ' 가로/세로 크기 고정 해제 .Height = Selection.Height .Width = Selection.Width .Left = Selection.Left .Top = Selection.Top End With End Sub |
▼ 함수 내에 소스를 복사해서 넣습니다.
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 엑셀 VBA 각종 함수 사용법과 샘플 소스 쉽게 얻는 방법 ▶ 엑셀 Excel 매크로 실행과 소스 편집하기 ▶ 엑셀 VBA 함수 만들어서 매크로와 연결하기 ▶ 엑셀 Excel 간단하게 자동 매크로 만들기 ▶ 엑셀 Excel 매크로 소스 디버깅으로 결과 확인하기 |
◎ 매크로 실행해서 셀 이미지 추가하기 |
▼ 지금까지 만든 매크로 함수를 이용해서 이미지를 추가하고 자동으로 셀에 크기를 맞춰보겠습니다. 먼저 이미지를 추가할 셀을 선택하고 개발 도구 탭으로 가서 매크로 관리 화면을 띄웁니다. 그리고 이전에 생성한 매크로 함수를 선택하고 오른쪽 상단에 실행 버튼을 클릭합니다.
▼ 매크로 함수의 첫 번째 진행 단계가 사용자에게 이미지를 추가할 수 있도록 파일 추가 대화상자를 띄우는 것입니다. 셀에 추가할 이미지를 선택하고 창을 닫습니다.
▼ 그림처럼 이전에 선택한 셀에 추가한 이미지가 크기에 맞춰서 들어갔습니다.
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 엑셀 VBA 각종 함수 사용법과 샘플 소스 쉽게 얻는 방법 ▶ 엑셀 Excel 매크로 실행과 소스 편집하기 ▶ 엑셀 VBA 함수 만들어서 매크로와 연결하기 ▶ 엑셀 Excel 간단하게 자동 매크로 만들기 ▶ 엑셀 Excel 매크로 소스 디버깅으로 결과 확인하기 |
'엑셀(Excel) > VBA' 카테고리의 다른 글
엑셀 VBA 파일 다이얼로그 사용하기 (0) | 2023.09.17 |
---|---|
엑셀 VBA 셀 영역 선택하는 여러가지 방법 (1) | 2023.09.06 |
엑셀 VBA Range 객체 중 Areas 속성 사용하기 (0) | 2023.08.25 |
엑셀 VBA 년도, 월 비교해서 발생 횟수 조회하는 방법 (1) | 2023.08.09 |
엑셀 VBA 시트 테두리 선 그리는 방법 (0) | 2023.08.07 |
엑셀 VBA 정규표현식 사용하는 방법, 공백 문자 제거하기 (0) | 2023.07.20 |
엑셀 VBA 반복문 Do While 사용하기 (3) | 2023.07.19 |
엑셀 VBA 영역에서 빈 셀, 행 열 삭제하기 (1) | 2023.07.18 |