Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
856to860
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
856to860
856to860
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

ComboBox Auswahl bei wiederholtem klick

ComboBox Auswahl bei wiederholtem klick
27.03.2007 14:07:16
Mike
Hallo, ich versuche mal mein Problem zu schildern.
Hab eine Combo-Box in der KW 1 - 52 drinnen steht. Das ganze ist mit einem Makro versehen, dass wenn man auf KW 3 auswählt sich die restlichen Spalten ausblenden bis auf eben die KW 3. Soweit so gut.
Wenn ich jetzt KW 4 wähle, dann werden die anderen ausgeblendet und ich sehe KW 4 - soweit so gut.
Wenn ich die Datei starte und die Combo-List z.B. auf KW 4 steht und ich erneut KW 4 auswähle dann tut sich nichts.
Ich habe auch einen Reset Button, d.h. wenn ich auf den drücke, dann erscheinen wieder alle Spalten (alle KW's). Ebenfalls passiert es hier, wenn ich den Reset Button gedrückt hab und dann in der Combo-Box KW 4 auswähle (welche bereits vorher schon ausgewählt war), ändert sich nichts. Erst wenn ich z.B. auf KW 5 und dann wieder auf KW 4 klicke gehts.
Hat jemand einen Vorschlag wie man das beseitigen kann? Funktion "on click, on change, on dblClick, etc." haben mir nicht weitergeholfen.
Vielen Dank schonmal.
Gruß und sonnige Woche noch

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: zeig doch mal Deinen Code
27.03.2007 15:29:21
Matthias
Hallo Mike
Combobox aus Toolbox Steuerelement oder Kombinationsfeld aus Formular?
Userbild
auf einer Userform oder in Tabelle?
Zeig uns doch mal den Code
Gruß Matthias
AW: zeig doch mal Deinen Code
27.03.2007 16:36:00
Mike
Hi. sorry, Code ist jetzt angehängt. Es handelt sich um eine Combobox aus Toolbox Steuerelement.
Und bitte keine Kommentare zwecks dem Code. Ich bin noch Anfänger und für mich war das so die einzige Möglichkeit das umzusetzen was ich wollte. Sicherlich geht das ganze auch einfacher und kürzer aber soviel VBA kann ich leider noch nicht.
Zur Info: Die KW's sind in 5er Wochen zusammengefasst.

Private Sub ComboBox1_DropButtonClick()
Application.ScreenUpdating = False
Dim ausgewahlte_kw As String
ausgewaehlte_kw = ComboBox1.List(ComboBox1.ListIndex)
If ausgewaehlte_kw = "KW 1-5" Then
Cells.Select
Selection.EntireColumn.Hidden = False
Columns("M:BG").Select
Selection.EntireColumn.Hidden = True
Range("a1").Select
ElseIf ausgewaehlte_kw = "KW 6-10" Then
Cells.Select
Selection.EntireColumn.Hidden = False
Columns("R:BG").Select
Selection.EntireColumn.Hidden = True
Columns("H:L").Select
Selection.EntireColumn.Hidden = True
Range("a1").Select
ElseIf ausgewaehlte_kw = "KW 11-15" Then
Cells.Select
Selection.EntireColumn.Hidden = False
Columns("w:bg").Select
Selection.EntireColumn.Hidden = True
Columns("H:Q").Select
Selection.EntireColumn.Hidden = True
Range("a1").Select
ElseIf ausgewaehlte_kw = "KW 16-20" Then
Cells.Select
Selection.EntireColumn.Hidden = False
Columns("ab:bg").Select
Selection.EntireColumn.Hidden = True
Columns("H:v").Select
Selection.EntireColumn.Hidden = True
Range("a1").Select
ElseIf ausgewaehlte_kw = "KW 21-25" Then
Cells.Select
Selection.EntireColumn.Hidden = False
Columns("AG:BG").Select
Selection.EntireColumn.Hidden = True
Columns("H:aa").Select
Selection.EntireColumn.Hidden = True
Range("a1").Select
ElseIf ausgewaehlte_kw = "KW 26-30" Then
Cells.Select
Selection.EntireColumn.Hidden = False
Columns("H:af").Select
Selection.EntireColumn.Hidden = True
Columns("al:bg").Select
Selection.EntireColumn.Hidden = True
Range("a1").Select
ElseIf ausgewaehlte_kw = "KW 31-35" Then
Cells.Select
Selection.EntireColumn.Hidden = False
Columns("aq:bg").Select
Selection.EntireColumn.Hidden = True
Columns("H:ak").Select
Selection.EntireColumn.Hidden = True
Range("a1").Select
ElseIf ausgewaehlte_kw = "KW 36-40" Then
Cells.Select
Selection.EntireColumn.Hidden = False
Columns("av:bg").Select
Selection.EntireColumn.Hidden = True
Columns("H:ap").Select
Selection.EntireColumn.Hidden = True
Range("a1").Select
ElseIf ausgewaehlte_kw = "KW 41-45" Then
Cells.Select
Selection.EntireColumn.Hidden = False
Columns("ba:bg").Select
Selection.EntireColumn.Hidden = True
Columns("H:au").Select
Selection.EntireColumn.Hidden = True
Range("a1").Select
ElseIf ausgewaehlte_kw = "KW 46-50" Then
Cells.Select
Selection.EntireColumn.Hidden = False
Columns("bf:bg").Select
Selection.EntireColumn.Hidden = True
Columns("H:az").Select
Selection.EntireColumn.Hidden = True
Range("a1").Select
ElseIf ausgewaehlte_kw = "KW 51-52" Then
Cells.Select
Selection.EntireColumn.Hidden = False
Columns("bk:bH").Select
Selection.EntireColumn.Hidden = True
Columns("H:be").Select
Selection.EntireColumn.Hidden = True
Range("a1").Select
End If
Application.ScreenUpdating = True
End Sub

---------------------
Und das hier ist zum Resetten der KW's. Es werden wieder alle KW's angezeigt:

Private Sub CommandButton1_Click()
Cells.Select
Selection.EntireColumn.Hidden = False
Range("a1").Select
End Sub

Anzeige
AW: zeig doch mal Deinen Code
27.03.2007 16:55:15
Mike
Off topic:
und wieder vergessen, die frage als "noch offen" zu deklarieren.
kann man das nicht im nachhinein noch bearbeiten ohne einen neuen Beitrag schreiben zu müssen?
Probier mal ...
27.03.2007 17:55:00
Matthias
Hallo Mike
Option Explicit

Private Sub ComboBox1_Change()
Application.ScreenUpdating = False
Dim ausgewaehlte_kw As String
ausgewaehlte_kw = ComboBox1.List(ComboBox1.ListIndex)
If ausgewaehlte_kw = "KW 1-5" Then
Cells.EntireColumn.Hidden = False
Columns("M:BG").EntireColumn.Hidden = True
ElseIf ausgewaehlte_kw = "KW 6-10" Then
Cells.EntireColumn.Hidden = False
Columns("R:BG").EntireColumn.Hidden = True
Columns("H:L").EntireColumn.Hidden = True
ElseIf ausgewaehlte_kw = "KW 11-15" Then
Cells.EntireColumn.Hidden = False
Columns("w:bg").EntireColumn.Hidden = True
Columns("H:Q").EntireColumn.Hidden = True
ElseIf ausgewaehlte_kw = "KW 16-20" Then
Cells.EntireColumn.Hidden = False
Columns("ab:bg").EntireColumn.Hidden = True
Columns("H:v").EntireColumn.Hidden = True
ElseIf ausgewaehlte_kw = "KW 21-25" Then
Cells.EntireColumn.Hidden = False
Columns("AG:BG").EntireColumn.Hidden = True
Columns("H:aa").EntireColumn.Hidden = True
ElseIf ausgewaehlte_kw = "KW 26-30" Then
Cells.EntireColumn.Hidden = False
Columns("H:af").EntireColumn.Hidden = True
Columns("al:bg").EntireColumn.Hidden = True
ElseIf ausgewaehlte_kw = "KW 31-35" Then
Cells.EntireColumn.Hidden = False
Columns("aq:bg").EntireColumn.Hidden = True
Columns("H:ak").EntireColumn.Hidden = True
ElseIf ausgewaehlte_kw = "KW 36-40" Then
Cells.EntireColumn.Hidden = False
Columns("av:bg").EntireColumn.Hidden = True
Columns("H:ap").EntireColumn.Hidden = True
ElseIf ausgewaehlte_kw = "KW 41-45" Then
Cells.EntireColumn.Hidden = False
Columns("ba:bg").EntireColumn.Hidden = True
Columns("H:au").EntireColumn.Hidden = True
ElseIf ausgewaehlte_kw = "KW 46-50" Then
Cells.EntireColumn.Hidden = False
Columns("bf:bg").EntireColumn.Hidden = True
Columns("H:az").EntireColumn.Hidden = True
ElseIf ausgewaehlte_kw = "KW 51-52" Then
Cells.EntireColumn.Hidden = False
Columns("bk:bH").EntireColumn.Hidden = True
Columns("H:be").EntireColumn.Hidden = True
End If
Range("a1").Select
Application.ScreenUpdating = True
End Sub

Private Sub CommandButton1_Click()
Cells.EntireColumn.Hidden = False
End Sub

Anzeige
AW: Probier mal ...
27.03.2007 18:14:38
Mike
Sorry, aber was genau hast du geändert? hab das grad nicht so auf den ersten Blick feststellen können.
Gruß
AW: Probier mal ...
27.03.2007 20:05:24
Matthias
Hallo Mike
Naja dann zähl doch mal Deine Zeilen und meine :o)
Änderungen:
Private Sub ComboBox1_Change()
und es gibt kein Select mehr
bzw. nur einmal Range("a1").Select
Aber ich sollte ja nicht wegen des Code's irgend was schreiben ;-)
Gruß Matthias
AW: Probier mal ...
28.03.2007 08:57:01
Mike
Ok danke. aber leider immer noch das gleiche Problem.
Gruß
AW: zeig doch mal Deinen Code
27.03.2007 17:26:00
Hubert
"Und bitte keine Kommentare zwecks dem Code. Ich bin noch Anfänger und für mich war das so die einzige Möglichkeit das umzusetzen was ich wollte. Sicherlich geht das ganze auch einfacher und kürzer aber soviel VBA kann ich leider noch nicht."
Umso mehr solltest du froh sein, entsprechende Hinweise zu bekommen, wie der Code effektiver
gestaltet werden kann.
mfg Hubert
Anzeige
AW: zeig doch mal Deinen Code
27.03.2007 18:13:00
Mike
Hast recht, also immer her mit verbesserungsvorschlägen...
Gruß.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige