KutoolsforOffice— 하나의 솔루션, 다섯 가지 강력한 도구。적은 노력으로 더 큰 성과。

Excel 에서 지정된 셀 값에 따라 도형 크기를 자동으로 변경하려면 어떻게 하나요?

작성자Siluvia수정 날짜

Excel 에서 원, 사각형 또는 사용자 정의 그래픽과 같은 도형은 시각적 강조, 대시보드 구성 또는 데이터 시각화를 위해 자주 사용하는됩니다. 때때로 특정 셀의 값을 동적으로 반영하도록 도형 크기를 조정하고 싶을 수 있습니다. 예를 들어 진행률 표시기나 시각적 상태 표시를 만들거나 보고서를 더 직관적이고 상호작용 가능하게 만들 수 있습니다. 그러나 Excel 에는 셀 내용과 도형 크기를 자동으로 연결하는 기본 제공 기능이 없습니다。 본 문서에서는 지정된 셀의 값에 따라 도형 크기를 자동으로 조정하는 실용적인 방법을 소개하여 Excel 프로젝트를 더욱 역동적이고 시각적으로 의미 있게 만들어 드립니다。


VBA 코드를 사용하여 지정된 셀 값에 따라 도형 크기 자동 조정하기

특정 셀에 입력된 값에 따라 도형 크기를 자동으로 조정하려면 VBA 매크로를 활용할 수 있습니다。 이 방법은 대시보드 요소를 자동화하거나 데이터 변경 사항을 시각적으로 강조하면서 각 도형을 수동으로 조정하지 않아도 되므로 특히 효과적입니다。 다음 VBA 코드는 워크시트의 셀 값과 도형 크기를 연결합니다。

Office Tab을(를) 사용하여 문서 내에서 탐색

Office Tab

Word, Excel, PowerPoint 등에서 웹 브라우저처럼 탭 기반 탐색을 사용할 수 있으며, 하나의 창에서 부드럽게 전환됩니다。

다음 단계를 따르세요:

1. 크기를 조정하려는 도형이 포함된 워크시트 탭을 마우스 오른쪽 버튼으로 클릭하고 상황에 맞는 메뉴에서코드 보기를 선택합니다。 그러면 해당 워크시트의 코드 편집기 창이 열립니다。

2. Microsoft Visual Basic for Applications창에서 다음 VBA 코드를 코드 창에 복사하여 붙여넣으세요。 도형이 위치한 워크시트의 코드 시트에 붙여넣었는지 반드시 확인하세요。

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"는 크기를 조정하려는 도형의 이름을 나타냅니다。 이 이름이 선택 창(홈 > 찾기 및 선택 > 선택 창)에 표시된 이름과 정확히 일치하는지 확인하세요。
  • 이 코드는 오직 셀A2(행 2, 열 1)에 변경이 발생할 때만 실행됩니다。 다른 셀을 사용하려면 해당 값을 적절히 수정해 주세요。
  • 도형의 크기는 셀 값에 따라 결정되며, 이 값은 센티미터 단위의 지름을 나타냅니다。 코드는 과도한 크기 조정 문제를 방지하기 위해 최대 크기를10cm로, 최소 크기를1cm로 설정합니다。
  • 지정된 범위 밖의 값(1 보다 작거나 10 보다 큰 값)을 입력하면 도형은 가장 가까운 제한값으로 크기가 조정됩니다。
  • 지정된 도형 이름을 찾을 수 없거나 입력된 값이 숫자가 아닌 경우, 코드는 오류 메시지를 표시하지 않고 해당 동작을 무시합니다。

다른 셀에서 여러 도형의 크기를 자동으로 조정해야 하는 경우(예: 일련의 시각적 표시기 또는 게이지 생성) 아래와 같이 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 2"를 찾을 수 있습니다。 이들은 크기를 조정하려는 도형을 나타냅니다。 이름이 Excel 통합 문서에 표시된 것과 정확히 일치하는지 확인하세요。
2) 셀A1,A2,A3은 각각 해당 도형의 크기를 제어합니다。 다른 셀-도형 쌍을 사용하려면 이러한 참조를 수정할 수 있습니다。 더 많은 도형과 셀을 추가하려면If...ElseIf섹션의End If앞에 유사한 줄을 추가하기만 하면 됩니다。 필요한 대로 올바른 셀 주소와 도형 이름을 입력하세요。

3. 코드를 수정하고 저장한 후Alt+Q를 눌러Microsoft Visual Basic for Applications창을 닫고 워크시트로 돌아갑니다。

이제 셀 A2 의 값을 변경할 때마다 지정된 도형 “Oval2"의 크기가 실시간으로 자동 조정됩니다。 스크린샷 참조:

특정 셀의 값을 변경하면 도형 크기가 자동으로 변경됨

마찬가지로 셀 A1, A2 또는 A3 의 값을 업데이트하면 도형 "Oval 1“, “Smiley Face 3" 및 "Heart 2"의 크기가 연결된 셀 값에 따라 즉시 조정됩니다。 아래 예시 참조:

특정 셀의 값을 변경하면 도형 크기가 자동으로 변경됨

추가 유의사항:
- 크기 조정은 지정된 셀의 값이 변경될 때만 적용됩니다。 도형을 수동으로 이동하거나 참조점을 방해하는 방식으로 변경한 경우 도형 위치를 재설정해야 할 수도 있습니다。
- 숫자 값만 의도한 대로 작동합니다。 빈 셀 또는 텍스트 입력은 도형이 최소 크기로 줄어들거나 예상대로 조정되지 않을 수 있습니다。
- VBA 솔루션은 매크로 권한이 필요하므로 Excel 환경에서 매크로가 활성화되어 있는지 확인하세요。

참고: 셀 값이 10(최대값 10cm 로 설정됨)를 초과하면 도형 크기 조정이 더 이상 증가하지 않습니다。 마찬가지로 1 미만의 값은 최소값(1cm)으로 기본 설정됩니다。

문제 해결 팁:크기 조정이 예상대로 작동하지 않으면 도형 이름과 셀 참조가 정확히 일치하는지, 매크로가 활성화되어 있는지, 워크시트 보호 제한이 없는지 다시 확인하세요。 런타임 오류가 발생하면 지정된 도형이 활성 워크시트에 존재하며 이름이 잘못 입력되지 않았는지 검토하세요。

요약 및 제안:VBA 방법은 동적이고 실시간 크기 조정을 제공하여 상호작용형 대시보드 및 데이터 기반 보고서에 이상적입니다。 다만 사용자가 도형 명명법, VBA 환경을 이해하고 워크북을 매크로 사용 파일().xlsm)로 저장하여 코드를 유지해야 합니다。 이 방법은 자동화가 필요하고 워크북의 매크로 기능 사용이 허용되는 상황에 가장 적합합니다。


참조를 통한 수동 도형 크기 조정

도형 크기를 가끔씩만 조정해야 하거나 매크로를 사용하지 않는 간단한 방법을 원하는 경우 필요할 때마다 셀 값을 참조하여 도형 크기를 수동으로 설정할 수 있습니다。 이 방법은 자동화가 중요하지 않거나 매크로 사용이 제한된 상황에 적합합니다。

크기를 조정하려는 도형을 클릭한 후도형 서식창(도형을 마우스 오른쪽 버튼으로 클릭 > 크기 및 속성)에서 너비와 높이 값을 수동으로 입력하세요。 셀 값을 참조하여 이 값을 입력할 수 있습니다。 자동화되지는 않지만 이 방법은 일회성 조정에 간단하고 효과적입니다。

팁:이 방법을 사용할 경우 셀 값이 변경될 때마다 도형 크기를 수동으로 업데이트해야 합니다。 도형과 셀 사이에 연결이 없기 때문입니다。 이 방법은 매크로로 인한 보안 경고를 피할 수 있지만 실시간 시각적 업데이트는 지원하지 않습니다。

현재 Excel 통합 문서의 모든 도형 나열 및 내보내기:

차트 내보내기유틸리티는Kutools for Excel현재 현재 워크북에 있는 모든 도형을 신속하게 나열할 수 있도록 도와주며, 아래 스크린샷과 같이 한 번에 지정된 폴더로 모두 내보낼 수 있습니다. 지금 다운로드하여 체험해 보세요! (30 일 무료 체험)

Kutools로 현재 Excel의 모든 도형 내보내기


관련 문서:


최고의 Office 생산성 도구

🤖KUTOOLS AI 도우미: 다음을 기반으로 데이터 분석 혁신하기:지능형 실행   |  코드 생성|  사용자 지정 수식 생성  |  데이터 분석 및 차트 생성|  향상된 함수 호출
인기 기능:찾기, 강조 표시 또는 중복 표시   |  빈 행 삭제   |  데이터 손실 없이 열 결합 또는 셀 제거   |  공식을 사용하지 않는 반올림...
슈퍼 LOOKUP:다중 조건 VLookup  |  다중 값 VLookup  |   여러 시트에서 VLookup   |   퍼지 매치....
고급 드롭다운 목록:드롭다운 목록 빠르게 생성   |  종속형 드롭다운 목록   |  다중 선택 드롭다운 목록....
열 관리자:특정 수의 열 추가|열 이동|숨겨진 열의 표시 상태 전환|범위 및 열 비교...
주요 기능:그리드 포커스   |  디자인 보기   |향상된 수식 표시줄   | 워크북 및 시트 관리자   |  자원 라이브러리(자동 텍스트)|  날짜 선택기   |  워크시트 병합  |  암호화/셀 해독   | 목록으로 이메일 보내기   |  슈퍼 필터   |   특수 필터(굵은 글꼴이 있는 셀 필터링/기울임꼴/취소선。。。) 。。。
상위 15 도구 모음:12 텍스트도구(텍스트 추가,특정 문자 삭제, ...)|   50+차트유형(간트 차트, ...)|   40+ 실용적인수식(생일을 기준으로 나이 계산, ...)|   19 삽입도구(QR 코드 삽입,경로에서 그림 삽입, ...)|   12 변환도구(단어로 변환하기,환율 변환, ...)|   7 병합 및 분할도구(고급 행 병합,셀 분할, ...)|그 외 더 많은 기능
Kutools 를 선호하는 언어로 사용하세요 – 영어, 스페인어, 독일어, 프랑스어, 중국어 및 40+개 이상의 언어를 지원합니다!

Kutools for Excel 로 Excel 역량을 한 단계 업그레이드하고 전례 없는 효율성을 경험하세요。Kutools for Excel 는 생산성과 저장 시간을 향상시키는 300 개 이상의 고급 기능을 제공합니다。가장 필요한 기능을 지금 바로 확인하세요。。。


Office Tab 가 Office 에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만들어 줍니다

  • Word, Excel, PowerPoint 에서 탭 기반 편집 및 읽기 기능을 활성화합니다, Publisher, Access, Visio 및 Project 에서도 사용 가능합니다。
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 생성할 수 있습니다。
  • 50% 만큼 생산성을 높이고 매일 수백 번의 마우스 클릭을 줄여줍니다!

모든 Kutools 애드인。 하나의 설치 프로그램

Kutools for Office스위트 번들은 Excel, Word, Outlook 및 PowerPoint 용 애드인과 Office Tab Pro 를 포함하며, 다양한 Office 앱을 사용하는 팀에 이상적입니다。

ExcelWordOutlookTabsPowerPoint
  • 올인원 스위트— Excel, Word, Outlook 및 PowerPoint 애드인 + Office Tab Pro
  • 하나의 설치 프로그램, 하나의 라이선스— 몇 분 안에 설정 완료(MSI 지원)
  • 함께 사용할수록 더 효과적입니다— Office 앱 전반에서 생산성 향상
  • 30 일간 모든 기능 무료 체험— 등록이나 신용카드 필요 없음
  • 최고의 가성비— 개별 애드인 구매 대비 절약