![]() |
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 SubGruß 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
![]() ![]() |
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 SubGruß UweD
![]() |