Skip to main content

Excel에서 지정된 셀 값에 따라 도형 크기를 자동으로 변경하는 방법은 무엇입니까?

Author: Siluvia Last Modified: 2025-08-06

지정된 셀의 값에 따라 도형 크기를 자동으로 변경하려는 경우 이 문서가 도움이 될 수 있습니다.

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

참고:

1) 코드에서 “Oval 1”, “Smiley Face 3” 및 “Heart 3”은 크기를 자동으로 변경할 도형 이름입니다. 그리고 A1, A2A3은 도형 크기를 자동으로 조정할 기준이 되는 셀입니다.
2) 더 많은 도형을 추가하려면 코드의 첫 번째 "End If" 줄 위에 "ElseIf xAddress = "A3" Then"과 "Call SizeCircle("Heart 2", Val(Target.Value))" 줄을 추가하세요. 그리고 필요에 따라 셀 주소와 도형 이름을 변경하세요.

3. Alt + Q 키를 동시에 눌러 Microsoft Visual Basic for Applications 창을 닫습니다.

이제부터 A2 셀의 값을 변경하면 Oval 2 도형의 크기가 자동으로 변경됩니다. 스크린샷 참조:

 change the value in a specific cell , the size of shape will be changed automatically

또는 A1, A2 및 A3 셀의 값을 변경하여 해당 도형인 “Oval 1”, “Smiley Face 3” 및 “Heart 3”의 크기를 자동으로 조정합니다. 스크린샷 참조:

change the value in a specific cells , the size of shapes will be changed automatically

참고: 셀 값이 10보다 클 경우 도형 크기는 더 이상 변경되지 않습니다.


현재 Excel 워크북의 모든 도형 나열 및 내보내기:

Kutools for Excel차트 내보내기(Export Graphics) 유틸리티를 사용하면 현재 워크북의 모든 도형을 빠르게 나열하고, 아래 스크린샷처럼 특정 폴더에 한 번에 모두 내보낼 수 있습니다. 지금 다운로드하여 무료로 사용해 보세요! (30-day free trail)

export all shapes in current Excel by kutools


관련 문서:

최고의 오피스 생산성 도구

🤖 Kutools AI Aide: 지능형 실행을 기반으로 데이터 분석 혁신 지능형 실행   |  코드 생성  |  사용자 정의 수식 생성  |  데이터 분석 및 차트 생성  |  Kutools Functions 호출
인기 기능: 중복 찾기, 강조 또는 중복 표시  |  빈 행 삭제  |  데이터 손실 없이 열 또는 셀 병합  |  반올림...
슈퍼 LOOKUP: 다중 조건 VLookup    다중 값 VLookup  |   다중 시트 조회   |   퍼지 매치 ....
고급 드롭다운 목록: 드롭다운 목록 신속 생성  |  의존형 드롭다운 목록  |  다중 선택 드롭다운 목록....
열 매니저: 지정 개수 열 추가  |  열 이동  |  숨겨진 열 표시 상태 전환 |  범위 및 열 비교 ...
주요 기능: 그리드 포커스  |  디자인 보기  |  향상된 수식 표시줄   통합 문서 & 시트 관리   |  자동 텍스트 라이브러리   |  날짜 선택기   |  데이터 병합   |  셀 암호화/해독   목록별 이메일 보내기  |  슈퍼 필터  |  특수 필터 (굵게/이탤릭/취소선 필터...)...
Top15 도구 세트12개 텍스트 도구(텍스트 추가, 특정 문자 삭제, ...)  |  50+ 차트 유형(간트 차트, ...)  |  40+ 실용 수식(생일을 기반으로 나이 계산, ...)  |  19개 삽입 도구(QR 코드 삽입, 경로에서 그림 삽입, ...)  |  12개 변환 도구(단어로 변환하기, 통화 변환, ...)  |  7개 병합 & 분할 도구(고급 행 병합, 셀 분할, ...)  |  ... 그리고 그 외
Kutools를 원하는 언어로 사용하세요 – 영어, 스페인어, 독일어, 프랑스어, 중국어 등40가지 이상의 언어를 지원합니다!

Kutools for Excel로 Excel 실력을 한 단계 업그레이드하고, 그 어떤 때보다 뛰어난 효율성을 경험하세요. Kutools for Excel은300개 이상의 고급 기능을 제공하여 생산성을 높이고 저장 시간을 줄여줍니다. 가장 필요한 기능을 지금 바로 확인하세요...


Office Tab이 오피스에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다

  • Word, Excel, PowerPoint에서 탭 기반 편집과 읽기를 활성화합니다.
  • 여러 문서를 새 창이 아닌 동일한 창의 새 탭에서 열고 생성하세요.
  • 생산성이50% 향상되며, 매일 수백 번의 마우스 클릭을 줄일 수 있습니다!