Excel에서 지정된 셀 값에 따라 도형 크기를 자동으로 변경하는 방법은 무엇입니까?
지정된 셀의 값에 따라 도형 크기를 자동으로 변경하려는 경우 이 문서가 도움이 될 수 있습니다.
VBA 코드를 사용하여 지정된 셀 값에 따라 도형 크기 자동 변경
VBA 코드를 사용하여 지정된 셀 값에 따라 도형 크기 자동 변경
다음 VBA 코드는 현재 워크시트에서 지정된 셀 값에 따라 특정 도형 크기를 변경하는 데 도움이 됩니다. 아래 단계를 따르세요.
1. 크기를 변경해야 하는 도형이 있는 시트 탭을 마우스 오른쪽 버튼으로 클릭한 다음, 마우스 오른쪽 버튼 메뉴에서 코드 보기(View Code)를 클릭합니다.
2. Microsoft Visual Basic for Applications 창에서 다음 VBA 코드를 복사하여 코드(Code) 창에 붙여넣습니다.
VBA 코드: Excel에서 지정된 셀 값에 따라 도형 크기 자동 변경
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Row = 2 And Target.Column = 1 Then
Call SizeCircle("Oval 2", Val(Target.Value))
End If
End Sub
Sub SizeCircle(Name As String, Diameter)
Dim xCenterX As Single
Dim xCenterY As Single
Dim xCircle As Shape
Dim xDiameter As Single
On Error GoTo ExitSub
xDiameter = Diameter
If xDiameter > 10 Then xDiameter = 10
If xDiameter < 1 Then xDiameter = 1
Set xCircle = ActiveSheet.Shapes(Name)
With xCircle
xCenterX = .Left + (.Width / 2)
xCenterY = .Top + (.Height / 2)
.Width = Application.CentimetersToPoints(xDiameter)
.Height = Application.CentimetersToPoints(xDiameter)
.Left = xCenterX - (.Width / 2)
.Top = xCenterY - (.Height / 2)
End With
ExitSub:
End Sub
참고: 코드에서 “Oval 2”는 크기를 변경할 도형 이름입니다. 그리고 행 = 2, 열 = 1은 도형 “Oval 2”의 크기가 A2 셀의 값에 따라 변경됨을 의미합니다. 필요에 따라 이를 변경하세요.
다양한 셀 값에 따라 여러 도형의 크기를 자동으로 조정하려면 아래 VBA 코드를 적용하세요.
VBA 코드: Excel에서 다양한 지정된 셀 값에 따라 여러 도형 크기 자동 조정
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xAddress As String
On Error Resume Next
If Target.CountLarge = 1 Then
xAddress = Target.Address(0, 0)
If xAddress = "A1" Then
Call SizeCircle("Oval 1", Val(Target.Value))
ElseIf xAddress = "A2" Then
Call SizeCircle("Smiley Face 3", Val(Target.Value))
ElseIf xAddress = "A3" Then
Call SizeCircle("Heart 2", Val(Target.Value))
End If
End If
End Sub
Sub SizeCircle(Name As String, Diameter)
Dim xCenterX As Single
Dim xCenterY As Single
Dim xCircle As Shape
Dim xDiameter As Single
On Error GoTo ExitSub
xDiameter = Diameter
If xDiameter > 10 Then xDiameter = 10
If xDiameter < 1 Then xDiameter = 1
Set xCircle = ActiveSheet.Shapes(Name)
With xCircle
xCenterX = .Left + (.Width / 2)
xCenterY = .Top + (.Height / 2)
.Width = Application.CentimetersToPoints(xDiameter)
.Height = Application.CentimetersToPoints(xDiameter)
.Left = xCenterX - (.Width / 2)
.Top = xCenterY - (.Height / 2)
End With
ExitSub:
End Sub
참고:
3. Alt + Q 키를 동시에 눌러 Microsoft Visual Basic for Applications 창을 닫습니다.
이제부터 A2 셀의 값을 변경하면 Oval 2 도형의 크기가 자동으로 변경됩니다. 스크린샷 참조:
또는 A1, A2 및 A3 셀의 값을 변경하여 해당 도형인 “Oval 1”, “Smiley Face 3” 및 “Heart 3”의 크기를 자동으로 조정합니다. 스크린샷 참조:
참고: 셀 값이 10보다 클 경우 도형 크기는 더 이상 변경되지 않습니다.
현재 Excel 워크북의 모든 도형 나열 및 내보내기:
Kutools for Excel의 차트 내보내기(Export Graphics) 유틸리티를 사용하면 현재 워크북의 모든 도형을 빠르게 나열하고, 아래 스크린샷처럼 특정 폴더에 한 번에 모두 내보낼 수 있습니다. 지금 다운로드하여 무료로 사용해 보세요! (30-day free trail)
관련 문서:
- Excel에서 특정 도형에 마우스 오버 팁을 추가하는 방법은 무엇입니까?
- Excel에서 투명한 배경색으로 도형을 채우는 방법은 무엇입니까?
- Excel에서 지정된 셀 값에 따라 특정 도형을 숨기거나 표시하는 방법은 무엇입니까?
최고의 오피스 생산성 도구
🤖 | Kutools AI Aide: 지능형 실행을 기반으로 데이터 분석 혁신 지능형 실행 | 코드 생성 | 사용자 정의 수식 생성 | 데이터 분석 및 차트 생성 | Kutools Functions 호출… |
인기 기능: 중복 찾기, 강조 또는 중복 표시 | 빈 행 삭제 | 데이터 손실 없이 열 또는 셀 병합 | 반올림... | |
슈퍼 LOOKUP: 다중 조건 VLookup | 다중 값 VLookup | 다중 시트 조회 | 퍼지 매치 .... | |
고급 드롭다운 목록: 드롭다운 목록 신속 생성 | 의존형 드롭다운 목록 | 다중 선택 드롭다운 목록.... | |
열 매니저: 지정 개수 열 추가 | 열 이동 | 숨겨진 열 표시 상태 전환 | 범위 및 열 비교 ... | |
주요 기능: 그리드 포커스 | 디자인 보기 | 향상된 수식 표시줄 | 통합 문서 & 시트 관리 | 자동 텍스트 라이브러리 | 날짜 선택기 | 데이터 병합 | 셀 암호화/해독 | 목록별 이메일 보내기 | 슈퍼 필터 | 특수 필터 (굵게/이탤릭/취소선 필터...)... | |
Top15 도구 세트: 12개 텍스트 도구(텍스트 추가, 특정 문자 삭제, ...) | 50+ 차트 유형(간트 차트, ...) | 40+ 실용 수식(생일을 기반으로 나이 계산, ...) | 19개 삽입 도구(QR 코드 삽입, 경로에서 그림 삽입, ...) | 12개 변환 도구(단어로 변환하기, 통화 변환, ...) | 7개 병합 & 분할 도구(고급 행 병합, 셀 분할, ...) | ... 그리고 그 외 |
Kutools for Excel로 Excel 실력을 한 단계 업그레이드하고, 그 어떤 때보다 뛰어난 효율성을 경험하세요. Kutools for Excel은300개 이상의 고급 기능을 제공하여 생산성을 높이고 저장 시간을 줄여줍니다. 가장 필요한 기능을 지금 바로 확인하세요...
Office Tab이 오피스에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다
- Word, Excel, PowerPoint에서 탭 기반 편집과 읽기를 활성화합니다.
- 여러 문서를 새 창이 아닌 동일한 창의 새 탭에서 열고 생성하세요.
- 생산성이50% 향상되며, 매일 수백 번의 마우스 클릭을 줄일 수 있습니다!