In Excel über VBA Spalten ausblenden, wie geht das?

2 Antworten

Um die Spalten auszublenden. (z.B. C, F und I)

'    Columns("C:C").Select    Selection.EntireColumn.Hidden = True    Columns("F:F").Select    Selection.EntireColumn.Hidden = True    Columns("I:I").Select    Selection.EntireColumn.Hidden = True End Sub

Um die Spalten wieder einzublenden, folgenden Befehl: (gib den Spaltenbereich grosszügig an. 

'   
    Columns("A:T").Select
Selection.EntireColumn.Hidden = False
End Sub

agent888 
Beitragsersteller
 12.09.2015, 10:32

Oke, danke

0

Warum willst du das im über VBA machen, du kannst doch ganz einfach die auszublendenden Spalten makieren und mit Rechtsklick ausblenden und dann den Blattschutz setzen.

Dann kann auch keiner der das PW nicht hat um den Blattschutz aufzuheben diese Spalten wieder einblenden.


agent888 
Beitragsersteller
 12.09.2015, 09:18

Also, ich will es deshalb in VBA machen, weil ich viele Spalten zum Ausblenden habe!

Ich habe ein Marko für die Useransicht und eines für die Administratoransicht geschrieben. Diese beinhalten schon das "veryHidden" von Tabellenblättern und auch den Blattschutz eines Tabellenblattes. Also ich will nun auch das aus- und einblenden von Spalten dort drin mit einem Knopfdruck ausführen!

Gibt es in VBA irgendeinen Befehl, der es dem Nutzer nur nicht erlaubt, die Spalten einzublenden?

0
schmiddi1967  12.09.2015, 10:12
@agent888

Naja, wenn du deine Makros mit Blattschutz schon hast kannst du doch einfach nur das ausblenden der Spalten in die Makros integrieren. Für das ausblenden von den Spalten J bis L,O,Q und S  in der Useransicht zb. so:

Das einfach genau vor den Codeteil wo der Blattschutz wieder gesetzt wird. Ich würde das aber eher so machen das die Spalten Grundsätzlich in der Erstellung ausgeblendet werden und nur diese dann Einblenden wenn ein Admin sich die Datei anschaut. Zu beachten ist ebenfalls das sich die Spalten auch automatisch wieder ausblenden wenn die Datei geschlossen wird. Das musst du dann aber in einem anderem Makro sicherstellen. Hat ja nicht mit dieser Frage zu tun.

Hier das Ausblenden für die Useransicht:

Range("J:L,O:O,Q:Q,S:S").Select
Selection.EntireColumn.Hidden = True

Und hier das Einblenden in der Administratoransicht:

Range("J:L,O:O,Q:Q,S:S").Select
Selection.EntireColumn.Hidden = False

Hilft dir das so weiter?

1