옵션 버튼 변경으로 인해 매크로가 실행되지 않음

옵션 버튼 변경으로 인해 매크로가 실행되지 않음

A1 셀에 연결된 3개의 옵션 버튼이 있습니다.

또한 셀 A1이 변경될 때 트리거되는 매크로도 있습니다.

Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Target, Range("A1")) Is Nothing Then
       Select Case Range("A1").Value
           Case 1
               Range("C7:K32").NumberFormat = "_-* #,##0_-;-* #,##0_-;_-* ""-""??_-;_-@_-"
           Case Else
               Range("C7:K32").NumberFormat = "_-$* #,##0_-;-$* #,##0_-;_-$* ""-""??_-;_-@_-"
        End Select
    End If

End Sub

A1에 값을 수동으로 입력하면 매크로가 제대로 작동하지만 A1옵션 버튼을 사용하여 값을 변경하면 매크로가 실행되지 않습니다.

옵션 버튼을 사용하여 A1s 값을 변경할 때 매크로를 실행하는 방법이 있습니까?

답변1

ActiveX 옵션 버튼을 사용하는 경우 각 버튼에 코드를 할당할 수 있습니다.

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Target, Range("A1")) Is Nothing Then
       Select Case Range("A1").Value
           Case 1
               Range("C7:K32").NumberFormat = "_-* #,##0_-;-* #,##0_-;_-* ""-""??_-;_-@_-"
           Case Else
               Range("C7:K32").NumberFormat = "_-$* #,##0_-;-$* #,##0_-;_-$* ""-""??_-;_-@_-"
        End Select
    End If

End Sub

Private Sub OptionButton1_Click()
    Range("A1") = 1
End Sub

Private Sub OptionButton2_Click()
    Range("A1") = 2
End Sub

여기에 이미지 설명을 입력하세요

관련 정보