나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내
작성자:  

 dew (dewdrop)

추천:  2
파일:     질문용_Ans.xlsm (1946.5KB) 조회:  1604
제목:   [RE]사진 불러오기
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 엑셀 버전(95,97,2000,xp,2003,2007):

* 아래줄에 질문을 작성하세요 >>

안녕하세요, 엑셀로 제품 사양서를 만들고 있는 중에 질문이 있어서 이렇게 글을 작성합니다.

첨부파일의 기본형 시트에서 제품 사이즈(M16:P16)셀에 있는 118 X 80 X 30를 바탕으로 같은 위치의 118 X 80 X 30.jpg 파일을 T4:AC42, 혹은 active X 이미지 컨트롤로 넣고 싶습니다.
제품 사이즈(M16:P16)셀 값이 변동되면 그에 따라 변동된 jpg 파일이 나타날 수 있었으면 합니다. 

A4셀의 제품 사진의 경우, 다른 시트에서 이름 지정으로 연동시켰으나 
T4:AC42에 도면을 넣기에는 셀들이 너무 작아서 사진이 깨져서 활용에 어려움이 있었습니다.

다른 분들이 작성하신 파일을 봤지만 따라할 수가 없어서 이렇게 질문을 올립니다. 

미리 감사 인사 드리며 꼭 좀 부탁드리겠습니다.
==============[이해준님 글에 대한 답변입니다]==============

VBA 워크시트 이벤트 개체를 이용 했습니다.
첨부파일 참조하세요...

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells(1).Address <> Me.[M16].Address Then Exit Sub
    
    Dim sFn As String, pic As Picture, rPos As Range
    
    Set rPos = Me.[T4]
    For Each pic In Me.Pictures
        If pic.TopLeftCell.Address = rPos.Address Then pic.Delete
    Next
    
    If Target.Cells(1).Value = "" Then Exit Sub
    
    sFn = ThisWorkbook.Path & Application.PathSeparator & Target.Cells(1).Value & ".jpg"
    If Dir(sFn) = "" Then
        MsgBox "[" & sFn & "] 라는 파일이 없습니다.", vbCritical
        Exit Sub
    End If
    
    With Me.Pictures.Insert(sFn)
        .Left = rPos.Left
        .Top = rPos.Top
        .Width = rPos.MergeArea.Width
        .Height = rPos.MergeArea.Height
    End With
End Sub
 
[불량 게시물 신고]  
        
  

작성일 : 2019-09-02(13:46)
최종수정일 : 2019-09-02(13:46)
 


 ◎ 관련글

  제 목   작성자   날짜
사진 불러오기 이해준 2019-09-02
[RE]사진 불러오기 dew 2019-09-02