Tengo 3 botones de opción vinculados a la celda A1,
También tengo una macro que se activa cuando se cambia la celda 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
Si ingreso manualmente un valor en A1, la macro funciona bien; sin embargo, si cambio el valor A1
usando los botones de opción, la macro no se ejecuta.
¿Hay alguna manera de ejecutar la macro al cambiar el valor de A1 con los botones de opción?
Respuesta1
Si está utilizando botones de opción ActiveX, puede asignar código a cada uno.
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