반응형
안녕하세요.
오늘은 사진이나 도형을
클릭했을 때 확대 축소 하는
엑셀 VBA 매크로를
소개 해 드립니다.
매크로 지정하고 사용하시면
좋습니다.
먼저 사진을 확대 축소하는
매크로 입니다.
사진은 축소 후 확대하면
이미지가 망가지기 때문에
엑셀에서 옵션을 조정 해야 합니다.
먼저 엑셀의 파일 - 옵션으로 갑니다.
고급을 선택 후
파일의 이미지 압축 안 함
체크 해 줍니다.
그리고 ALT+F11키를 눌러
매크로 에디터로 들어가서
모듈에서 아래의 매크로를 입력합니다.
( 이 매크로는 사진만 가능합니다. )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
Sub PicZoom_click()
Dim shp As Shape
Dim big As Single, small As Single
Dim shpDouH As Double, shpDouOriH As Double
big = 1
small = 0.03125
On Error Resume Next
Set shp = ActiveSheet.Shapes(Application.Caller)
With shp
shpDouH = .Height
.ScaleHeight 1, msoTrue, msoScaleFromTopLeft
shpDouOriH = .Height
If Round(shpDouH / shpDouOriH, 2) = big Then
.ScaleHeight small, msoTrue, msoScaleFromTopLeft
.ScaleWidth small, msoTrue, msoScaleFromTopLeft
.ZOrder msoSendToBack
Else
.ScaleHeight big, msoTrue, msoScaleFromTopLeft
.ScaleWidth big, msoTrue, msoScaleFromTopLeft
.ZOrder msoBringToFront
End If
End With
End Sub
|
cs |
big =1
원본 크기 입니다.
small=0.03125
1/32배로 축소 하라는 의미 입니다.
사진을 한번 클릭하면 확대되고
다시 한번 더 클릭하면 축소 됩니다.
또한 저장 시 파일용량이 적어지지만
아래의 방법보다
로딩 속도가 좀 느립니다.
다음 매크로는
그림 및 도형, 객체, 쉐이프 모두 가능한
매크로 입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
Option Explicit
Sub toggle_object_Zoom()
With ActiveSheet.Shapes(Application.Caller) '매크로 실행한 도형
.LockAspectRatio = msoTrue '그림 가로세로 고정비율 설정
If Right(.Name, 1) <> "#" Then '그림의 제일 마지막 문자가 "#"이면
.ScaleHeight 32, 0, msoScaleFromTopLeft '왼쪽 윗지점 기준으로 그림을 32배 확대
.ZOrder msoBringToFront '그림을 제일 앞으로 가져옴
.Name = .Name & "#" '그림 이름 뒤에 "#"을 추가함
Else
.ScaleHeight 0.03125, 0, msoScaleFromTopLeft '왼쪽 윗지점 기준으로 그림을 1/32로 축소
.ZOrder msoBringToFront '그림을 제일 앞으로 가져옴
.Name = Left(.Name, Len(.Name) - 1) '그림 이름 제일 뒤의 "#"을 제거
End If
End With
End Sub
|
도형에서 채우기로 사진을 넣고
확대 축소 할경우 속도는 빠르지만
엑셀 파일 용량이 많이 늘어나네요. ㅠㅠ
.ScaleHeight 32, 0, msoScaleFromTopLeft
32배로 확대 하라는 뜻
.ScaleHeight 0.03125, 0, msoScaleFromTopLeft
1/32로 축소하라는 뜻
다들 유용하게 잘 쓰시고
엑셀 부자 되세요~
'엑셀팁' 카테고리의 다른 글
시트안의 많은 인터넷주소 한방에 하이퍼링크로 자동 변환하기 (0) | 2021.08.30 |
---|---|
엑셀에서 시간을 일 시간 분으로 자동 변환하기 (1) | 2021.06.24 |
엑셀(EXCEL) 양식컨트롤 체크박스 전체선택·전체해제, activex컨트롤 전체해제·전체선택 VBA 매크로 (2) | 2021.01.24 |
EXCEL(엑셀) 첫 글자 자음 모음 분리 현상 오류 제거 하기 (2) | 2021.01.10 |
엑셀 그림 클릭 확대 축소 VBA 매크로 완성형- 축소 시 셀 맞춤까지 완벽(EXCEL picture shapes, zoom, reduction,Cell alignment) (4) | 2020.04.10 |
엑셀(Excel) 삽입 된 개체(object) 클릭(Click) 시 파일 자동열기 VBA 매크로 (0) | 2020.03.16 |
엑셀 2010 네트웍상에에서 동시에 여러사람이 엑셀 문서 작업하여 저장하기 (0) | 2017.03.06 |
엑셀 숫자 포함시 추출 (0) | 2017.01.25 |
엑셀 어제까지의 누적합계구하기 (0) | 2017.01.25 |
엑셀 셀 안의 특정 단어수 세는 방법 (0) | 2017.01.09 |