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