In Excel über VBA Spalten ausblenden, wie geht das?
Hi, wie kann ich in VBA verschiedene Spalten ausblenden und das einblenden für den normalen Nutzer sperren?
Danke für die Antworten schon im Voraus!
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
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.
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?
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?