아무리 뒤져도 제가 원하는건 나오지 않기에 찾다가 까먹을까봐 기록해둡니다.

 

원하는건 엑셀(EXCEL)의 카메라 기능을 이용해서 C은행의 금액이 있으면 은행3개 출력

C은행의 금액이 0이면 은행 2개 표 출력 입니다.

위의 이미지처럼 표를 만드는데 위의 모든은행에 금액이 있으면 다 나오지만

C은행은 금액이 없을때가 더 많아서 C은행이 금액이 없을때는 C은행이 빠져서 나오며 저 크기는 위의

은행이 다 금액이 있을때 만큼 커져야 하는 그런 문제입니다.

아래처럼 말이죠.

물론 그냥 심플하게 손으로 하면 됩니다만 이 표가 문서 중간에 있으면 셀 병합하고 노가다가 필요해서

심플하게 기능이 필요했기에 매크로를 사용하게 되었습니다.

 

매크로는 Alt + F11 키를 동시에 누르면 창이 열립니다.

 

- 매크로

Sub Create_Img()
    
    Dim rng As Range '이미지 범위
    
    '기존에 이미지가 있을 경우 실행하면 위에 덮어 씌워지기 때문에 삭제 하는 기능
      ActiveSheet.Shapes.Range(Array("표1")).Select '현재 표시된 이미지 선택(기존에 이미지가 있을 경우 2장 겹치기 방지)
      Selection.Delete '이미지 삭제

If Sheets("Sheet1").Range("L5").Value = 0 Then  'C은행이 잔액이 0이면
    
    Set rng = Sheets("sheet1").Range("P9:R10")  'C은행이 없는 이미지 넣기 범위
    
Else 'C은행이 금액이 0이 아니면
    Set rng = Sheets("sheet1").Range("K9:N10")  '아닐 경우 C은행이 있는 이미지 넣기 범위
    
End If

rng.CopyPicture     '이미지 범위 카피

Range("A2").PasteSpecial 'A2에 카메라(이미지) 붙이기

Selection.Formula = rng.Address '데이터 링크하기

Selection.ShapeRange.Name = "표1" '이미지에 이름주기(삭제할때를 위해)

        
End Sub


6번, 7번 라인은 이미지 표시된뒤 중복방지로 기존 이미지 삭제이기 때문에 이미지가 없는 상태에서는

에러가 발생합니다.

까먹지 말자!!

예제파일 첨부 :

ex.xlsm
0.03MB

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기