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.

Select Case auf Dropdown (nicht ActiveX)
#1
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
Antworten Top
#2
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
Antworten Top
#3
Hi Klaus,

am Makronamen des TE sieht man doch, dass es um ein Formularsteuerelement geht. Wink

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • StrammerMax
Antworten Top
#4
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
Antworten Top
#5
(28.01.2019, 12:11)Kuwer schrieb: Hi Klaus,

am Makronamen des TE sieht man doch, dass es um ein Formularsteuerelement geht. Wink

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.
Antworten Top
#6
@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.
Antworten Top
#7
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
[-] Folgende(r) 1 Nutzer sagt Danke an Klaus-Dieter für diesen Beitrag:
  • StrammerMax
Antworten Top
#8
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 Angry
Antworten Top
#9
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
Antworten Top
#10
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.
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