직장인이 알아야 할 연차 제도(연차, 반차, 반반차, ...
직장인이라면 "내 연차가 몇 개인지", "반차를 쓰...
회사에서 엑셀 파일에 사진을 추가한 후 메일로 전달했는데
사진이 보이지 않는다는 피드백을 받은 적 있으신가요?
또는 사진 대지 파일을 작업 시
매번 사진을 따로 전달하는 것이 번거롭게 느껴지셨던 적이 있나요?
이런 상황을 해결하기 위해
VBA를 활용한 사진 삽입 기능을 소개해 드리겠습니다!😎


기본적으로 매크로 기능(VBA)을 활용해야 하는데,
매크로라고 어려운 것 만은 아니니까 잘 따라와 주세요😉
먼저 엑셀 화면에서 상단의 [개발 도구]탭을 클릭합니다.
그 다음, 삽입 👉 [단추]를 선택하면
마우스 커서가 ( + ) 모양으로 바뀝니다.
이제 단추를 삽입할 위치를 정하고 드래그하여 단추를 만들어 주세요.
위치나 모양은 나중에 변경할 수 있습니다.

드래그 한 모양으로 단추가 생성되면
바로 [매크로 지정] 이라는 팝업이 나타납니다.
이 때 새로 만들기를 클릭하면 VBA 화면이 자동으로 열립니다.

위와 같이 VBA 코드를 추가하면 작업이 완료됩니다!
해당 코드는 그대로 복사하여 붙여넣기 해주셔도 무방합니다📌
혹시 이 VBA 코드의 의미가 궁금하신가요?🙋♀️
제가 자세히 설명해드릴게요!
구 분 | VBA 코드 | 설 명 |
변수선언 | Dim strFile As String Dim sht As Worksheet Dim rngInsert As Range | 각 문자열, 활성 시트, 셀 범위 등의 변수를 선언합니다. |
변수set | Set sht = ActiveSheet | 현재 활성화된 시트를 sht에 할당합니다. 이를 통해 현재 작업 중인 시트를 쉽게 참조할 수 있습니다. |
파일 선택 대화 상자 호출 | strFile = Application.GetOpenFilename(filefilter:="모든파일(.),.", Title:="사진선택") | GetOpenFilename 메서드를 사용하여 파일 선택 대화 상자를 표시합니다. 사용자는 파일을 선택하고 그 경로가 strFile 변수에 저장됩니다. filefilter는 파일 형식을 지정하고, Title은 대화 상자의 제목입니다. |
조건문 (파일 선택 확인) | If strFile = "False" Then MsgBox "사진이 선택되지 않았습니다.", , "비즈폼" | 사용자가 파일 선택을 취소했을 경우 strFile은 문자열 "False"로 설정됩니다. 이 조건문은 사용자가 파일을 선택하지 않았을 때 경고 메시지를 표시하고 서브루틴을 종료합니다. |
서브루틴 종료 | Exit Sub | 서브루틴을 종료합니다. 파일 선택이 취소된 경우 이후 코드는 실행되지 않습니다. |
변수 초기화 | Set rngInsert = Selection | 사용자가 현재 선택한 셀 범위를 rngInsert에 할당합니다. 이 범위는 이미지가 삽입될 위치를 결정합니다. |
이미지 삽입 | sht.Shapes.AddPicture Filename:=strFile, _ LinkToFile:=msoFalse, _ SaveWithDocument:=msoTrue, _ Left:=rngInsert.Left, _ Top:=rngInsert.Top, _ Width:=rngInsert.Width, _ Height:=rngInsert.Height | AddPicture 메서드를 사용하여 이미지를 추가합니다. 이 메서드는 다음과 같은 매개변수를 사용합니다. - Filename:=strFile : 선택한 파일의 경로 - LinkToFile:=msoFalse : 이미지를 문서에 포함시키고, 외부 링크를 사용하지 않겠다는 설정 - SaveWithDocument:=msoTrue : 문서와 함께 이미지를 저장하겠다는 설정 - Left:=rngInsert.Left : 삽입할 이미지의 왼쪽 위치를 설정합니다. - Top:=rngInsert.Top : 삽입할 이미지의 위쪽 위치를 설정합니다. - Width:=rngInsert.Width : 삽입할 이미지의 너비를 설정합니다. - Height:=rngInsert.Height : 삽입할 이미지의 높이를 설정합니다. |

위와 같이 설정한 후 ❎를 클릭하여 VBA 화면을 닫으면
내가 만든 버튼에 매크로 설정이 완료됩니다.
이제 버튼의 이름을 적절하게 수정해주세요.
현재 예시에서는 [사진삽입]으로 변경했는데요!💛
버튼 이름의 폰트, 사이즈 및 버튼 크기도 조절할 수 있으니
보기 좋게 수정해주시면 됩니다!

이제 매크로가 제대로 지정되었는지 확인해봐야겠죠?😃
사진을 넣을 셀을 클릭한 후,
매크로가 지정된 버튼을 클릭하면
사진 선택 팝업이 자동으로 나타납니다.
적절한 사진을 선택한 후 열기를 클릭하면
아래 예시와 같이 선택한 셀에
선택한 사진이 자동으로 들어가게 됩니다!📸

위와 같이 사진이 잘 삽입되었고
파일을 저장한 후 메일로 발송하더라도
사진을 따로 첨부할 필요가 없는 파일이 완성되었습니다!
VBA 코드는 복사해서 사용할 수 있도록
아래에 다시 한 번 적어드릴게요!💌
Sub 단추3_Click()
Dim strFile As String Dim sht As Worksheet Dim rngInsert As Range
Set sht = ActiveSheet
strFile = Application.GetOpenFilename(filefilter:="모든파일(*.*),*.*", Title:="사진선택") If strFile = "False" Then MsgBox "사진이 선택되지 않았습니다.", , "비즈폼" Exit Sub End If
Set rngInsert = Selection sht.Shapes.AddPicture Filename:=strFile, LinkToFile:=msoFalse, SaveWithDocument:=msoTrue, _ Left:=rngInsert.Left, Top:=rngInsert.Top, Width:=rngInsert.Width, Height:=rngInsert.Height
End Sub
|