Macro não acionada pela alteração do botão de opção

Macro não acionada pela alteração do botão de opção

Tenho 3 botões de opção vinculados à célula A1,

Também tenho uma macro que é acionada quando a célula A1 é alterada.

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

Se eu inserir manualmente um valor em A1, a macro funcionará bem, porém se eu alterar o valor A1usando os botões de opção, a macro não será executada.

Existe uma maneira de executar a macro ao alterar o valor de A1s com os botões de opção?

Responder1

Se você estiver usando botões de opção ActiveX, poderá atribuir um código a cada um.

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

insira a descrição da imagem aqui

informação relacionada