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 A1
usando 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