Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Makro Auswahl
#1
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?
Antworten Top
#2
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)
Antworten Top
#3
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
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#4
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:
Antworten Top
#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
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste