Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen

Spalten ausblenden mit Dropdown bzw. Kombinationsf | Herbers Excel-Forum


Betrifft: Spalten ausblenden mit Dropdown bzw. Kombinationsf von: Rico
Geschrieben am: 06.08.2012 11:59:51

Hallo Forumsleser,

ich möchte mit Hilfe eines Kombinationsfeld (Formularsteuerelement) oder ähnlichem eine Auswahl aus 4 Funktionseigenschaften von Gebäuden und 2 zusätzliche Befehle wählen.

Alle_aus, Büro, Produktion, Lager, Labor und Alle_ein

Bei Auswahl von "Büro" (Spalte "E,...,") sollen die Spalten F,G,H,..., ausgeblendet werden.
Bei "Produktion" (Spalte "F,...,") entsprechend die Spalten E,G,H,..., und immer so wieter.
Bei "Alle_aus" sollen alle Spalten von E:H ausgeblendet werden. Später noch weitere Bereiche, siehe Datei.
Bei Alle_ein wieder alle eingeblendet werden.

Bei Start der Datei sollen immer alle Spalten eingeblendet sein, egal wie vorher gespeichert wurde.

****
so hab ichs probiert, er blendet aus wenn ich eine Eingabe in ein Feld mit "Enter" bestätige, gibt aber eine Fehlermeldung wenn ich nochmals "Büro" auswähle, daher habe ich mal aufgehört.. wo liegt bis hier der Fehler? Oder wie gehts leichter?

Public Sub Worksheet_Change(ByVal Target As Range)
    If Worksheets("Alle Gebäude").Range("A9").Value = 2 Then
        Worksheets("Alle Gebäude").Columns("F:H").Hidden = True
    Else
        Worksheets("Alle Gebäude").Columns("F:H").Hidden = False
    End If
End Sub

****

https://www.herber.de/bbs/user/81283.xls

Vielen Dank fürs grübeln

Rico

  

Betrifft: AW: Spalten ausblenden mit Dropdown bzw. Kombinationsf von: Beverly
Geschrieben am: 06.08.2012 14:01:43

Hi Rico,

schau dir mal das angehängte Beispiel an, vielleicht wäre das eine Möglichkeit. Verwendet habe ich 2 OptionsButton und 4 CheckBoxen aus den Formular-Steuerelementen.

https://www.herber.de/bbs/user/81286.xls


GrußformelBeverly's Excel - Inn


  

Betrifft: AW: Spalten ausblenden mit Dropdown bzw. Kombinationsf von: fcs
Geschrieben am: 06.08.2012 14:58:11

Hallo Rico,

das Ändern der Auswahl in einer Formularsteuerelemente-Kombobox löst nicht das Change-Ereignis im Tabellenblatt aus.

Alternativen:
1. Du weist der Kombobox ein Makro zu, das nach jeder Wertauswahl ausgeführt wird.

'Makro in einem allgemeinen Modul
Sub GebaeudeEin_Ausblenden()
    Dim Spalte As Long, bolHidden As Boolean
    Application.ScreenUpdating = False
    With Worksheets("Alle Gebäude")
      For Spalte = 5 To 18 'Spalte E bis R
        bolHidden = True
        Select Case Spalte
          Case 9, 14, 15, 16 'Spalten mit Ist-Jahr
            bolHidden = False
          Case Else
            Select Case .Range("$A$9").Value
              Case 1 '"Alle_aus"
              Case 2 '"Büro"
                Select Case Spalte
                  Case 5, 10:   bolHidden = False
                End Select
              Case 3 '"Produktion"
                Select Case Spalte
                  Case 6, 11:   bolHidden = False
                End Select
              Case 4 '"Lager"
                Select Case Spalte
                  Case 7, 12:   bolHidden = False
                End Select
              Case 5 '"Labor"
                Select Case Spalte
                  Case 8, 13:   bolHidden = False
                End Select
              Case 6 '"Alle_ein"
                    .Columns.Hidden = False
                    Exit For
            End Select
          End Select
          .Columns(Spalte).Hidden = bolHidden
        Next Spalte
    End With
    Application.ScreenUpdating = True
End Sub

2. Du benutzt die Datenüberprüfung mit Liste und Dropdown-Auswahl in Zelle A9
Dann kannst du das Change-Ereignis-Makro benutzen.
Public Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$A$9" Then
    Application.ScreenUpdating = False
    With Worksheets("Alle Gebäude")
      For Spalte = 5 To 18 'Spalte E bis R
        bolHidden = True
        Select Case Spalte
          Case 9, 14, 15, 16 'Spalten mit Ist-Jahr
            bolHidden = False
          Case Else
            Select Case .Range("$A$9").Value
              Case "Alle_aus"
              Case "Büro"
                Select Case Spalte
                  Case 5, 10:   bolHidden = False
                End Select
              Case "Produktion"
                Select Case Spalte
                  Case 6, 11:   bolHidden = False
                End Select
              Case "Lager"
                Select Case Spalte
                  Case 7, 12:   bolHidden = False
                End Select
              Case "Labor"
                Select Case Spalte
                  Case 8, 13:   bolHidden = False
                End Select
              Case "Alle_ein"
                .Columns.Hidden = False
                Exit For
            End Select
        End Select
        .Columns(Spalte).Hidden = bolHidden
      Next Spalte
    End With
    Application.ScreenUpdating = True
  End If
End Sub

Wenn man viele Kriterien vergleichen muss, dann geht dies mit Select Case meist besser/übersichtlicher als mit IF-Anweisungen.
Außerdem kann man hier mit einer Schleife die Spalten abarbeiten und abhängig von den Kriterien ein-/Ausblenden.

Gruß
Franz


  

Betrifft: AW: Spalten ausblenden mit Dropdown bzw. Kombinationsf von: Rico
Geschrieben am: 07.08.2012 10:00:33


@ Karin: Vielen Dank, deine Variante werde ich mir mal für später merken, denn da ich noch weitere Gebäude (weitere Kästchen) einfügen möchte wird es dann wohl zu unübersichtlich.

@ Franz: auch deine beiden Varianten funktionieren einwandfrei, wobei die 1. schöner ist, da bei der Kombobox der Auswahl-Pfeil bereits bei Start zu sehen ist.. das ist anwenderfreundlicher, weil intuitiver und grafisch schöner.
Vielen Dank auch dir.


Beiträge aus den Excel-Beispielen zum Thema "Spalten ausblenden mit Dropdown bzw. Kombinationsf"