1. FAQ
  2. 엑셀(Excel)
  3. AfterEffects
  4. Premiere
  5. Photoshop
  6. ETC

이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.

사진넣기

조회 수 8144 추천 수 0 2009.07.29 15:34:29

안녕하세요 . 엑셀에대해서 잘모르고요 물어봐도 아는 사람이 없네요..

짐올린서식도 아는사람한테 부탁해서 만들었는데요

예를 들어 점명만 치면 숫자나 문자는 자동으로 들어가는데요

문제는 사진을 일일이 넣어야 하는데

점명만 치면 사진도 자동으로 넣는 방법이 있나요?

평택22를 치면 표석대장씨트엔 "평택22표지'란사진이 조사현황씨트엔 '평택22근경'  '평택22원경'이란사진이

자동으로 넣을수 있나요?(사진이름은 평택22표지 평택근경 평택22원경  이렇게 다른 폴더에 만들어져있다면요)

이게 가능할지는 모르겠구요

읽어 주심에 감사드림니다.

수고하세요.

 


댓글 '3'

profile

[레벨:30]아별

2009.07.31 02:31:08
*.130.73.19

첨부파일을 다운 받아, 압축을 푸시고 엑셀 파일을 여신다음..

"J5"셀의 값을 평택419, 평택422, 평택423 으로 바꿔서 선택해보세요.

엑셀 파일이 저장되어 있는 폴더 밑에 있는 images라는 폴더에 있는 해당 이미지를 가지고와서 셀 사이즈에 맞게 쏙 들어갑니다.

 

다운받기 : abyul_20090729_insertPicture.zip

 

솔직히..

이걸 해드릴까 말까 살짝 고민을 했지요.. ㅎㅎ

만드는 방법을 설명을 해드라자니 막막합니다. =_=;;

 

일단 보시지요...

 

기본적으로 엑셀의 기본 기능으로는 불가능합니다. VBA를 사용하실 수 밖에 없구요..

만약에 별도의 시트에 이미지가 모두 첨부되어 있다면.. 이름을 이용해서 동적 참조가 가능할 수도 있겠지만..

파일을 열어서 첨부하는 문제이니.. VBA로 할 수 밖에 없습니다.

 

코드에 주석을 열심히 달아놨습니다만.. 아래 코드를 이해하실 수 있을지는 잘 모르겠습니다.

생각보다 시간이 많이 걸렸구요.. 고생했습니다. 애썼다 한말씀해주세요.. ㅎㅎ

 

Option Explicit

Public pointNumber  As String


Sub insertPicture()

    '엑셀 파일이 있는 경로를 변수로 지정합니다.
    Dim basePath As String
    basePath = ActiveWorkbook.Path

    '작업할 시트들을 변수로 지정합니다.
    '그래야 나중에 시트 이름을 바꿔도 아래 2줄만 바꾸면 되게끔요..
    Dim S_ps As Worksheet
    Set S_ps = Worksheets("표석대장")
    Dim S_js As Worksheet
    Set S_js = Worksheets("조사현황")

    '삼각점번호의 값을 masterCode라는 변수에 집어 넣지요~
    Dim masterCode As String
    masterCode = S_ps.Range("J5").Value

    '사진 삽입에 필요한 변수 정의
    Dim R As Range
    Dim strFile As String

        '사진을 삽입하기 전에 기존 사진을 제거합니다.
        S_ps.Select
        If ActiveSheet.DrawingObjects.Count > 0 Then
            Call deleteObject
        End If

    '표석 대장 시트에 표지 사진 입력
    Set R = S_ps.Range("G20:AJ42")
    strFile = basePath & "\images\" & masterCode & "표지.JPG"
    Call resizePic(S_ps, R, strFile)

        '사진을 삽입하기 전에 기존 사진을 제거합니다.
        S_js.Select
        If ActiveSheet.DrawingObjects.Count > 0 Then
            Call deleteObject
        End If

    '조사현황 시트에 근경 사진 입력
    Set R = S_js.Range("A3:M3")
    strFile = basePath & "\images\" & masterCode & "근경.JPG"
    Call resizePic(S_js, R, strFile)

    '조사현황 시트에 원경 사진 입력
    Set R = S_js.Range("A5:M5")
    strFile = basePath & "\images\" & masterCode & "원경.JPG"
    Call resizePic(S_js, R, strFile)
   
    S_ps.Select
    S_ps.Range("J5").Select
   
    pointNumber = Worksheets("표석대장").Range("J5").Value

End Sub

'시트에 이미지 삽입 후에 셀 사이즈에 맞게 이미지 조정.
' resizePic( 삽입할 시트, 삽입할 셀 영역, 삽입할 파일 이름 )
Sub resizePic(S As Worksheet, R As Range, strFile As String)
    S.Select
    R.Select
   
    Dim fileName As String
    fileName = Dir(strFile)
   
    If Len(fileName) > 0 Then
        S.Pictures.Insert(strFile).Select
        With Selection
            .Top = R.Top
            .Left = R.Left
            .Height = R.Height
            .Width = R.Width
        End With
    Else
        MsgBox "화일이 없어요~", vbInformation, "이미지 삽입 에러창"
        S.Range("j5").Select
        End
    End If
End Sub


'사진을 삽입하기 전에 기존 사진을 제거합니다.
Sub deleteObject()
    ActiveSheet.DrawingObjects.Select
    Selection.Delete
End Sub

 

 

 

첨부

[레벨:4]우보천리

2009.07.31 10:15:33
*.46.130.152

이 고마움 어떻게 말씀드려야 될지 모르겠슴니다.

안돼는 구나 ... 포기 했었슴니다.

저 때문에 고생하신것 같아 죄송하구요..

주석까지 달아주셨는데  잘모르겠어요..

이기회에  함 공부좀 해야 겠슴니다.

정말 고맙슴니다 .. 꾸벅

저한테 기회가 돼면 만나 뵙고 싶네요..ㅎㅎ

혹 천안 오실기회가 되면 연락 함 주세요..

(강아지 사진두 이쁘구요.. ㅎㅎ)

 

 

 

profile

[레벨:30]아별

2009.08.02 01:33:20
*.130.73.19

엑셀은 정말 무궁무진한 프로그램입니다. ㅎㅎ

천안 갈일 있음 전화드릴께요.. 꼭 밥 한끼 사주세요.. ^-^;;

 

강아지는 제 쎈쓰죠~ ㅎㅎ

iWontYou.jpg

첨부
문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
공지 공지 [공지] 아별닷컴의 엑셀 질문방 폐쇄합니다. 카페 질문방 이용하세요.. imagefile [레벨:30]아별 2015-04-23 51589
821 엑셀일반 엑셀파일 비밀번호 단체 설정 가능한가요? [30] [레벨:4]쟈니 2012-06-18 54932
820 엑셀일반 회원만 질문을 올릴 수 있습니다. [레벨:30]아별 2010-09-21 33700
819 기타 [필독] 질문시.. 엑셀 파일 첨부, 윈도우버전과 엑셀버전 표기, 답변 받으면 피드백 댓글 꼭 달기.. [레벨:30]아별 2011-08-11 27161
818 엑셀일반 행높이 최대치 조절 가능할까요? _ Excel 사양 및 제한 [3] [레벨:6]파이스 2012-06-01 15509
817 엑셀 웹커리에서 URL 바꾸기 매크로 질문 [1] [레벨:1]밥사마 2009-09-01 13938
816 엑셀- sumif와 sumcol 혼용사용에 대해서 (급해요) [1] 아놔 2009-07-31 13329
815 엑셀일반 엑셀에서 사진 고정하는 방법 없을까요? [3] [레벨:3]빛의행운아 2012-07-30 13033
814 엑셀수식 3차 방정식 풀기. [1] [레벨:3]rynoel 2012-06-13 11280
813 제가 해외 사우디에서 파일을 받았는데 글씨가 계속 깨짐니다. file [1] [레벨:0]홍콩중국홍콩 2010-05-10 11218
812 또 다시 질문이 있어서 왔습니다. (일자별 관리시트에서 이전 시트 값(전일 잔액 등) 자동 불러오기) file [1] [레벨:3]harcz 2010-05-22 11170
811 엑셀일반 csv import 관련 문의 [3] [레벨:1]지살 2016-02-23 10889
810 피벗테이블 피벗테이블에서 (비어있음)을 보이지 않게 할 수 있나요? file [레벨:1]농구경제박사 2016-02-25 10867
809 셀색깔별로 합계를 내고 싶습니다. file [1] [레벨:1]지민 2010-04-09 10783
808 엑셀에서 지수값 계산하기 [1] [레벨:2]양다원 2009-07-21 10770
807 VBA 엑셀 열 추가 _ 엑셀의 마지막 셀 재 인식시키는 팁 ActiveSheet.UsedRange.Select imagefile [1] [레벨:5]눈물바다 2009-08-27 10638
806 엑셀일반 엑셀 특정 자리 숫자 내림 올림 하는 방법이 뭔가요?? [레벨:1]키모스 2016-10-28 10611
805 엑셀일반 셀 안에 삽입된 이미지의 정가운데(가로+세로)정렬 방법이 궁금합니다. [6] [레벨:6]파이스 2011-10-11 10561
804 엑셀에서 복사할 때 행 및 열넓이까지 그대로 복사하는 방법 [7] [레벨:2]만쥬 2010-12-07 10475
803 VBA 엑셀 일괄암호저장 imagefile [1] [레벨:1]천운 2017-03-13 10394