Ich habe 3 Optionsfelder mit Zelle A1 verknüpft.
Ich habe auch ein Makro, das ausgelöst wird, wenn Zelle A1 geändert wird.
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
Wenn ich manuell einen Wert in A1 eingebe, funktioniert das Makro einwandfrei. Wenn ich den Wert jedoch A1
mithilfe der Optionsfelder ändere, wird das Makro nicht ausgeführt.
Gibt es eine Möglichkeit, das Makro auszuführen, wenn der A1-Wert mit den Optionsfeldern geändert wird?
Antwort1
Wenn Sie ActiveX-Optionsfelder verwenden, können Sie jedem davon Code zuweisen.
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