Registriert seit: 19.01.2020
Version(en): 2007
Hallo,
ich habe ein Dropdown-Menue erstellt (Formularsteuerelement), welches mit einigen Werten aus dem Eingabebereich vorbefüllt ist (bspw.: erste Zeile mit "1. Zeileninhalt", zweite Zeile mit "2. Zeileninhalt" usw.
Bei einer Auswahl aus dem Dropdown-Menue möchte ich ein zugehöriges Makro starten.
Folgendes Codebeispiel zeigt leider einen "Laufzeitfehler '424': Objekt erforderlich" an:
Code:
Sub Dropdown123_Change()
Gehe_zu_Auswahlauswertung
End Sub
Sub Gehe_zu_Auswahlauswertung()
Select Case DropDown123.Value
Case "1." '1. Zeileninhalt
Call Gehe_zu_Makro_1
Case "2." '2. Zeileninhalt
Call Gehe_zu_Makro_2
End Select
End Sub
Woran könnte das liegen?
Danke und vG!
Registriert seit: 16.08.2017
Version(en): 2007 / 2010 / Web
Hi
Versuch mal.
Sub Dropdown123_Change()
Gehe_zu_Auswahlauswertung Dropdown123.Text
End Sub
Sub Gehe_zu_Auswahlauswertung(Auswahl As String)
Select Case Auswahl
Case "1." '1. Zeileninhalt
Call Gehe_zu_Makro_1
Case "2." '2. Zeileninhalt
Call Gehe_zu_Makro_2
End Select
End Sub
Sub Gehe_zu_Makro_1()
MsgBox "1"
End Sub
Sub Gehe_zu_Makro_2()
MsgBox "2"
End Sub
Gruß Elex
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo,
verknüpfe das DropDown mit einer Zelle. Ich habe hier mal die Zelle F2 genommen.
In das VBA-Modul des entsprechenden Tabellenblattes (Rechtsklick auf den Reiter > Code anzeigen) kommt dann dieser Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$F$2" Then
Select Case Target.Value
Case 1 '1. Zeileninhalt
Call Gehe_zu_Makro_1
Case 2 '2. Zeileninhalt
Call Gehe_zu_Makro_2
End Select
End If
End Sub
Gruß Uwe
Registriert seit: 19.01.2020
Version(en): 2007
Hallo und danke für eure Rückmeldungen.
@Elex: Bei deiner Variante erhalte ich beim Erreichen von "Gehe_zu_Auswahlauswertung Dropdown9.Text" einen "Laufzeitfehler'424': Objekt erforderlich".
@Uwe: Bei deiner Variante sehe ich in der verknüpften Zelle die entsprechende Werteänderung (bspw. "2" bei Auswahl des zweiten Eintrages). Allerdings erreiche ich (im Debugmodus) nicht den Case-Zweig hinter "Sub Worksheet_Change(ByVal Target As Range)".
Könnt ihr hier bitte noch mal nachschauen? Danke!
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo,
stimmt ja, die Änderung durch Dropdownverknüpfung löst kein Ereignis aus.
Dann weise dem Dropdown per Rechtsklick und Makro zuweisen > Neu ein Makro zu mit folgendem Code:
Sub Dropdown1_BeiÄnderung()
Select Case ActiveSheet.DropDowns("Dropdown 1").Value
Case 1 '1. Zeileninhalt
Call Gehe_zu_Makro_1
Case 2 '2. Zeileninhalt
Call Gehe_zu_Makro_2
End Select
End Sub
Gruß Uwe
Registriert seit: 05.09.2017
Version(en): 2013
Hallo,
frag doch den Listindex ab.
Code in ein allgemeines Modul. Mit Rechtsklick auf dein Dropdown den Code zuweisen. Den Blattnamen mußt du an deine Verhältnisse anpassen.
Code:
Sub Dropdown123_BeiÄnderung()
With Worksheets("Tabelle1").Shapes("Dropdown 123")
Select Case .ControlFormat
Case 1
MsgBox "Makro 1"
Case 2
MsgBox "Makro 2"
Case 3
MsgBox "Makro 3"
Case 4
MsgBox "Makro 4"
Case 5
MsgBox "Makro 5"
Case Else
End Select
End With
End Sub
Gruß Werner
Registriert seit: 16.08.2017
Version(en): 2007 / 2010 / Web
Dein Code aus #1 und meiner funktionieren wenn du statt Formularsteuerelement das aus ActiveX nimmst.
Registriert seit: 19.01.2020
Version(en): 2007
Hallo,
besten Dank für die vielen Tipps. Nun funktioniert es ohne Probleme.
VG!