Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1624to1628
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
Inhaltsverzeichnis

Spalten mit VBA ausblenden

Spalten mit VBA ausblenden
15.05.2018 14:06:27
Tobi
Hallo zusammen,
ich habe eine Excel gebastelt, in der ich eine Stakeholderanalyse mit einer Matrix dargestellt habe.
Dabei sind die jeweiligen Personen auf der horizontalen Achse und die Attribute auf der senkrechten Achse der Matrix aufgetragen. Trifft ein Attribut auf eine Person zu, so wird dies mit einem x in der jeweiligen Zelle markiert (siehe Excel-Bsp).
Nun gibt es einige Personen (Leerspalten/ Excel-Bsp: Spalte D), die momentan noch keinem Attribut zugeordnet sind. Diese Leerspalten möchte ich nun gerne per VBA ausblenden.
Die Zuordnung der Attribute zu den Personen ist allerdings noch nicht abgeschlossen und wird auch zukünftig weiter befüllt werden. Somit muss der VBA-Code sich diesen Änderungen anpassen können. Eine einfache statische definition zum Ausblenden der Leerspalten ist somit leider nicht möglich.
Kann mir einer von euch da weiterhelfen? ich kenne mich mit VBA leider nicht besonders gut aus.
Excel Bsp: https://www.herber.de/bbs/user/121618.xlsx
Vielen Dank für eure zeit und eure Mühe :)
Gruß
Tobias

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten mit VBA ausblenden
15.05.2018 14:20:42
ChrisL
Hi Tobi
In eine ausgeblendete Spalte lässt sich natürlich nur schwer ein "x" eintragen.
Alt+F11, links Doppelklick auf Tabelle, Code einfügen:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
Application.ScreenUpdating = False
For Each c In Range(Range("B1"), Cells(1, Columns.Count).End(xlToLeft))
c.EntireColumn.Hidden = WorksheetFunction.CountIf(c.EntireColumn, "x") = 0
Next c
End Sub
cu
Chris
AW: Spalten mit VBA ausblenden
16.05.2018 11:35:56
Tobi
Hallo Chris,
super vielen Dank, soweit funktioneirt es wunderbar. Ich habe jetzt noch eine Einblend-Makro mit eingebaut und es als Schaltfläche in der Excel eingebunden.
Allerdings ist mir beim Ausblende-Makro noch eine Sachen aufgefallen. Vielleicht kannst du mir da noch weiterhelfen.
Wenn in der Matrix bereits alle Leerspalten (Ohne x) ausgeblendet sind und ich nochmals auf den Ausblende-Button drücke, dann hängt sich Excel immer auf. Ich nehme mal an das liegt daran, dass er keine Leerspalten zum ausblenden findet und sich in einer Schleife aufhängt. Gibt es da einen Weg diesen Fall einzuschränken/beheben?
ggf. setzte ich einfach den Code zum "Einblenden" noch mit in das Makro zum "Ausblenden" rein, dann blendet er vor dem Ausblenden immer alle Spalten ein und blendet anschließend die Leerspalten wieder aus.
Anbei noch mein aktueller Code
Userbild
Anzeige
AW: Spalten mit VBA ausblenden
16.05.2018 12:43:03
ChrisL
Hi Tobi
Sub Ausblenden()
Dim c As Range, lS As Long
Application.ScreenUpdating = False
lS = Cells(1, Columns.Count).End(xlToLeft).Column
If lS 

Sub Einblenden()
Cells.EntireColumn.Hidden = False
End Sub
cu
Chris

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige