Registriert seit: 24.02.2017
Version(en): 365; (2013)
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?
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 29.09.2015
Version(en): 2030,5
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
Registriert seit: 24.02.2017
Version(en): 365; (2013)
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:
Registriert seit: 29.09.2015
Version(en): 2030,5
Ich bevorzüge:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Select Case Target.Value
Case 1
Makro1
Case 2
Makro2
...
End Select
end If
End Sub