Registriert seit: 24.02.2017
Version(en): 365; (2013)
Hey Leute,
ich habe hier eine Dropdown mit den Werten 1-6 und möchte darauf basierend eine selct case laufen lassen.
Weiß jemand, ob das irgendwie geht?
Bei folgendem Code bleibt er schon bei Select hängen :27:
Code:
Sub Dropdown11_BeiÄnderung()
Select Case Dropdown11.Value
Case 1
Rows("12:12").Select
Selection.EntireRow.Hidden = False
Rows("13:17").Select
Selection.EntireRow.Hidden = True
Case 2
Rows("12:13").Select
Selection.EntireRow.Hidden = False
Rows("14:17").Select
Selection.EntireRow.Hidden = True
End Select
End Sub
Registriert seit: 11.04.2014
Version(en): Office 365
28.01.2019, 13:05
(Dieser Beitrag wurde zuletzt bearbeitet: 28.01.2019, 13:05 von Klaus-Dieter.)
Hallo,
was für ein "Dropdown" verwendest du denn? Falls das ein Kombinationsfeld ist, würde das so gehen:
Code:
Private Sub ComboBox1_Change()
Select Case ComboBox1.ListIndex
Case 0
Rows("12:12").EntireRow.Hidden = False
Rows("13:17").EntireRow.Hidden = True
Case 1
Rows("12:13").EntireRow.Hidden = False
Rows("14:17").EntireRow.Hidden = True
End Select
End Sub
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hi Klaus,
am Makronamen des TE sieht man doch, dass es um ein Formularsteuerelement geht.
Gruß Uwe
Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:1 Nutzer sagt Danke an Kuwer für diesen Beitrag 28
• StrammerMax
Registriert seit: 12.03.2016
Version(en): Excel 2003
28.01.2019, 13:56
(Dieser Beitrag wurde zuletzt bearbeitet: 28.01.2019, 14:09 von WillWissen.
Bearbeitungsgrund: Formatierung
)
Hallo
Ein hoch auf die uralten Excel 97 Befehle ...schön das wir jetzt wissen das es sich um ein Formularsteuerelement handelt. Sorry, hilft das dem Frager wirklich weiter???
Ich musste auch zuerst eine Weile überlegen wie man das mit heutiger Programmiersprache elegant lösen kann.
Meine Taktik solche Faelle zu knacken ist und bleibt das alte Excel 97 mit dem uralten Befehl "DrawingObjects"
Erst nachdem ich damit die ComboBox ans laufen brachte schaute ich mich nach besseren Lösungen um. Ergebnis s. unten
Es geht mit: ActiveSheet.DropDowns("Dropdown11") oder Indexzahl DropDowns(x). Die Index Nr. zeigt einem das 2. Makro!
mfg Gast 123
Code:
Sub Dropdown11_BeiÄnderung()
'With ActiveSheet.DrawingObjects("Dropdown11")
With ActiveSheet.DropDowns("Dropdown11")
Select Case .Value
Case 1
MsgBox .Value
Case 2
MsgBox .Value
End Select
End With
End Sub
Sub Index_ermitteln()
MsgBox ActiveSheet.DropDowns("Dropdown11").Index
End Sub
mfg Gast 123
Registriert seit: 24.02.2017
Version(en): 365; (2013)
(28.01.2019, 13:11)Kuwer schrieb: Hi Klaus,
am Makronamen des TE sieht man doch, dass es um ein Formularsteuerelement geht.
Gruß Uwe
Genau, es ist ein Formularsteuerelement.
Kann man da irgendwie mit Select drauf zugreifen?
ActiveX Elemente kann ich bei mir nicht verwenden, da die alle völlig wild die Größe und Schriftgröße beim klicken ändern. Extrem nervig.
Registriert seit: 24.02.2017
Version(en): 365; (2013)
28.01.2019, 14:16
(Dieser Beitrag wurde zuletzt bearbeitet: 28.01.2019, 14:16 von StrammerMax.)
@Gast 123
Wenn ich deinen Code exakt so einfüge kommt Laufzeitfehler 1004
"Die DropDown Eigenschaft des Worksheet-Objekts kann nicht zugeordnet werden"
Das With ActiveSheet.DropDowns("Dropdown11") mag er wohl nicht.
Habe nochmal nachgeschaut, der Name Dropdown11 stimmt auf jeden Fall.
Registriert seit: 11.04.2014
Version(en): Office 365
Hallo Max,
Formularsteuerelemente kann man nicht programmieren.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden
Registriert seit: 24.02.2017
Version(en): 365; (2013)
Und was mache ich nun?
Ich brauche auf jeden Fall einige Checkboxen und Kontrollkästchen.
Die ActiveX Steuerelemente ändern bei mir beim Klick aber ständig ihre Größe oder Schriftart, so dass ich diese überhaupt nicht nutzen kann.
Und die Formularsteuerelemente lassen sich nicht programmieren.
D.h. ich kann mein Projekt nicht umsetzen - oder ich baue ALLES (30 Seiten voll mit Logik) neu auf und hoffe, dass die ActiveX Steuerelemente dann funktionieren
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo,
Sub Dropdown11_BeiÄnderung()
Select Case ActiveSheet.DropDowns(Application.Caller).Value
Case 1
Rows("12:12").Hidden = False
Rows("13:17").Hidden = True
Case 2
Rows("12:13").Hidden = False
Rows("14:17").Hidden = True
End Select
End Sub
Gruß Uwe
Registriert seit: 29.09.2015
Version(en): 2030,5
28.01.2019, 15:04
(Dieser Beitrag wurde zuletzt bearbeitet: 28.01.2019, 15:04 von snb.)
Diese Code reicht:
Code:
Sub M_snb()
Rows("12:17").Hidden = False
Rows(12).Offset(DropDowns(1).Value).Resize(5 - DropDowns(1).Value).Hidden = True
End Sub
30 Seiten voll mit Logik: ich bezweifle das.