본문 바로가기
슬기로운 방재생활 [엑셀]

[엑셀] 사진 100장도 1초 만에! 셀 크기에 맞춰 자동 삽입하는 매크로

by 방재 교대근무자 2026. 3. 12.

"안녕하세요! 여러분, 혹시 엑셀에 사진 128장을 하나씩 넣어본 적 있으신가요? 😱 저도 오늘 그 '노가다'의 위기에 직면했었답니다. 네이버를 이리저리 뒤져봐도 마땅한 매크로를 못 찾아서 좌절하던 중... 결국 챗GPT에게 SOS를 쳤고, 드디어 해결책을 찾아냈습니다! 저처럼 100장이 넘는 사진 앞에서 막막하신 분들을 위해 그 방법을 공유합니다."

 

엑셀 매크로(VBA) 코드 적용하는 법

 

1. VBA 편집기 창 열기

엑셀 화면에서 키보드의 Alt + F11을 동시에 눌러주세요.

 

2. 새 모듈(Module) 만들기

상단 메뉴에서 [삽입(I)] -> [모듈(M)] 을 순서대로 클릭합니다. (코드을 넣을수 있는 창이 뜹니다~)

 

3. 코드 복사 & 붙여넣기

매크로 코드를 전체 복사(Ctrl + C)해서, 하얀 창에 붙여넣기(Ctrl + V) 합니다.

 

4. 엑셀로 돌아가기

창을 닫거나, 다시 Alt + Q 를 누르면 원래의 엑셀 화면으로 돌아옵니다. 이제 실행 준비 끝!

 

[코드]

Sub Insert_OnePic_Per_Cell()

    Dim pics As Variant
    Dim i As Long
    Dim c As Range
    Dim shp As Shape

    '여러 사진 선택
    pics = Application.GetOpenFilename( _
        FileFilter:="Pictures (*.jpg;*.png;*.bmp;*.gif),*.jpg;*.png;*.bmp;*.gif", _
        MultiSelect:=True)

    If Not IsArray(pics) Then Exit Sub

    i = 1

    For Each c In Selection.Cells

        If i > UBound(pics) Then Exit For
        
        '기존 사진 삭제 (해당 셀 위치)
        For Each shp In ActiveSheet.Shapes
            If shp.TopLeftCell.Address = c.Address Then
                shp.Delete
            End If
        Next shp
        
        '사진 삽입
        Set shp = ActiveSheet.Shapes.AddPicture( _
            pics(i), _
            msoFalse, _
            msoTrue, _
            c.Left, _
            c.Top, _
            c.Width, _
            c.Height)

        With shp
            .LockAspectRatio = msoFalse
            .Top = c.Top
            .Left = c.Left
            .Width = c.Width
            .Height = c.Height
        End With

        i = i + 1

    Next c

End Sub

코드를 넣었다면? 이제 실행할 차례!

 

1. 매크로 실행창 열기

엑셀 시트로 돌아와서 사진이 들어갈 칸만 선택 후 Alt + F8 을 눌러주세요.

 

2. Insert_OnePic_Per_Cell '실행' 버튼 클릭!

목록에서 해당 매크로를 선택하고 [실행] 버튼을 누릅니다. 폴더 선택 창이 뜨면 사진들이 저장된 폴더를 지정해 주세요.

선택한 첫 번째 칸부터 파일 이름 순서대로 자동 채워짐 니다. ( Ait + A 또는 사진 드래그 후 열기 )

 

⚠️ 주의할 점 (꿀팁1)

사진이 겹치거나 이상하게 들어간다면? 90%는 바로 이 '병합된 셀' 때문입니다.

 

⚠️ 주의할 점 (꿀팁2)

일반 엑셀 파일(.xlsx)로 저장하면 공들여 넣은 매크로가 다 날아가 버려요! 반드시 [다른 이름으로 저장] 을 누르고 파일 형식을 '엑셀 매크로 사용 통합 문서(.xlsm)'로 선택해 주세요.