Microsoft Excel

Herbers Excel/VBA-Archiv

Ein- und Ausblenden von Spalten via VBA

Betrifft: Ein- und Ausblenden von Spalten via VBA von: Melki
Geschrieben am: 24.07.2014 10:37:01

Hallo,
ich möchte gern, wenn ich mit dem Cursor beispielsweise in I3 klicke, um einen Wert einzutragen, Spalte C, F und H ausblenden. Verlasse ich Zelle I3, sollen die restlichen Spalten wieder eingeblendet werden. Ich habe es über den Makrorecorder versucht, aber leider bringt das nicht den nötigen Erfolg.

Kann jemand helfen?
Vielen lieben Dank

Melki

  

Betrifft: AW: Ein- und Ausblenden von Spalten via VBA von: Matthias L
Geschrieben am: 24.07.2014 10:57:32

Hallo


Code gehürt ins entspr. Tabellenblatt

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 Range("C:C,F:F,H:H").EntireColumn.Hidden = IIf(Target.Column = 9, 1, 0)
End Sub
Gruß Matthias


  

Betrifft: AW: Ein- und Ausblenden von Spalten via VBA von: Melki
Geschrieben am: 24.07.2014 11:20:48

Hallo Matthias,
vielen Dank für die schnelle Hilfe. Ich stelle mich mit VBA scheinbar wirklich doof an. Habe den Code jetzt in das entsprechende Tabellenblatt im Editor eingefügt und angepasst. Will ich den Code starten, soll dieser einem Makro zugeordnet werden. Wie muss ich denn weiter vorgehen?

Vielen Dank,
Melki


  

Betrifft: Du brauchst keine weitere Zuweisung ... von: Matthias L
Geschrieben am: 24.07.2014 11:31:36

Hallo

Beim Klick in die Spalte(9) also Spalte("I") wird der Code ausgeführt,
so wie Du es wolltest. (SelectionChange)

Die Spalte("C" , "F" und "H") werden bei Klick in Spalte "I" ausgeblendet
Klickst Du in eine beliebig andere Spalte werden dies Spalten wieder eingeblendet

Gruß Matthias


  

Betrifft: AW: Du brauchst keine weitere Zuweisung ... von: Melki
Geschrieben am: 24.07.2014 11:33:10

Ich verstehe!!! Vielen vielen Dank!!! Funktioniert super. Danke für die Erklärung!!!


  

Betrifft: AW: Elegante Lösung !! owT von: UweD
Geschrieben am: 24.07.2014 11:35:02




  

Betrifft: Danke :-) owT von: Matthias L
Geschrieben am: 24.07.2014 11:44:51




  

Betrifft: AW: Elegante, aber... von: EtoPHG
Geschrieben am: 24.07.2014 12:08:56

Hallo,

Warum ein IIF?
Es genügt doch:

....Hidden = Target.Column = 9

Gruess Hansueli


  

Betrifft: Logo, wie Recht Du doch hast :-) von: Matthias L
Geschrieben am: 24.07.2014 23:34:50

Hallo Hansueli

Logo, wie Recht Du doch hast :-)

Man schreibts halt so wie man es gewohnt ist
und denkt dann nicht mehr darüber nach.
Danke für Deinen noch eleganteren Beitrag/Hinweis
Hoffentlich denke ich bei meinem nächsten IIF-Vorschlag daran.

Gruß Matthias


  

Betrifft: AW: Ein- und Ausblenden von Spalten via VBA von: UweD
Geschrieben am: 24.07.2014 11:24:40

Hallo

Nur I3 oder ganze Spalte I ??

- Rechtsclick auf den Tabellenblattreiter
- Code Anzeigen
- Makro einfügen

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim ZRNG As Range
    Set ZRNG = Range("I3") ' oder Range("I:I")
    
    If Not Intersect(Target, ZRNG) Is Nothing And Target.EntireColumn.Count = 1 Then
        Range("C:C,F:F,H:H").EntireColumn.Hidden = True
    End If
    If Intersect(Target, ZRNG) Is Nothing Or Target.EntireColumn.Count > 1 Then
        Range("C:C,F:F,H:H").EntireColumn.Hidden = False
    End If

End Sub

Gruß UweD


 

Beiträge aus den Excel-Beispielen zum Thema "Ein- und Ausblenden von Spalten via VBA"