Hallo Leute,
ich habe hier ein Worksheet. Es gibt ein Eingabefeld in dem die Werte 1-6 stehen können.
Je nach dem welcher Wert in dem Feld steht soll eines von 6 unterschiedlichen Makros ausgeführt werden.
Wie kann man das realisieren?
Moin!
Nutze das Worksheet_Change().
überprüfe den .Value des Target mittels Select Case
und rufe die Makros mittels Call auf.
Sinnvollerweise beschränkst Du die Auswahl in der Zelle mittels Datengültigkeit.
(ich habe mir mit meiner Antwort ähnlich viel (eher mehr) Mühe gegeben wie Du mit Deiner Anfrage)
(und habe sogar einen Gruß "übrig")
Gruß Ralf
Wenn die Makronamen ein Ziffer (1 - 6) enthalten (snb_1, snb_2, snb_3, usw.) wird alles einfacher:
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
cancel=true
application.run "snb_" & target
End Sub
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "A1" Then
Select Case Target.Value
Case Is = 1: Call Makro1
Case Is = 2: Call Makro2
Case Is = 3: Call Makro3
Case Is = 4: Call Makro4
Case Is = 5: Call Makro5
Case Is = 6: Call Makro6
Case Else: MsgBox "Wert ungültig!", , "Info"
End Select
End If
End Sub
Vielen, vielen Dank :)
Das hier hat problemlos funktioniert: