Ich hätte da noch mal wieder ein Problem:
Fällt jemandem eine schöne VBS-Zeile ein, sodass ich die Spaltenbreite der Zellen meines geschützten Arbeitsblatts einstellen kann?
Schönen Dank schon mal im Voraus
Hugo
Sub BlattSchutz()
Worksheets("Data").EnableOutlining = True
Worksheets("Data").Protect userinterfaceonly:=True
End Sub
Um die Spaltenbreite in einem geschützten Excel-Arbeitsblatt zu ändern, kannst Du folgende Schritte durchführen:
Blattschutz aufheben: Du musst den Blattschutz temporär aufheben, um die Spaltenbreite ändern zu können. Dies kann manuell oder durch ein Makro geschehen.
Spaltenbreite ändern: Gehe zu der Spalte, deren Breite Du ändern möchtest. Klicke mit der rechten Maustaste und wähle "Spaltenbreite..." aus dem Kontextmenü oder ziehe die Grenze der Spalte, um sie größer zu machen.
Blattschutz wieder aktivieren: Nachdem Du die gewünschte Spaltenbreite eingestellt hast, aktiviere den Blattschutz erneut.
Alternativ kannst Du auch ein Makro verwenden, um die Spaltenbreite zu ändern, ohne den Schutz manuell aufzuheben.
Fehler: Du kannst die Spaltenbreite nicht ändern, weil der Blattschutz aktiv ist.
Fehler: Makros funktionieren nicht, wenn der Blattschutz aktiv ist.
UserInterfaceOnly
schützt, damit Makros weiterhin ausgeführt werden können.VBA-Code verwenden: Implementiere einen VBA-Code, der die Spaltenbreite ändert, während der Blattschutz aktiv ist. Hier ist ein Beispiel:
Sub SpaltenbreiteAendern()
Worksheets("Data").Protect UserInterfaceOnly:=True
Columns("A:A").ColumnWidth = 20
End Sub
CommandBar anpassen: Du kannst die CommandBar anpassen, um eine Schaltfläche hinzuzufügen, die es Dir ermöglicht, die Spaltenbreite zu ändern, ohne den Blattschutz aufzuheben.
Beispiel 1: Um die Breite einer einzelnen Spalte zu ändern, kannst Du folgenden VBA-Code verwenden:
Sub SpalteGroesserMachen()
Worksheets("Daten").Columns("B:B").ColumnWidth = 25
End Sub
Beispiel 2: Um die Spaltenbreite nur in einer bestimmten Zeile zu ändern, könntest Du den folgenden Code verwenden:
Sub ZeilenbreiteAendern()
With Worksheets("Data").Rows("5:5")
.ColumnWidth = 15
End With
End Sub
1. Wie kann ich die Spaltenbreite ändern, ohne den Blattschutz aufzuheben? Du kannst VBA verwenden, um die Spaltenbreite zu ändern, während der Blattschutz aktiv bleibt.
2. Was bedeutet UserInterfaceOnly
beim Schutz von Arbeitsblättern?
Dieser Schutz ermöglicht es Makros, Änderungen an Zellen vorzunehmen, während die Benutzeroberfläche weiterhin geschützt bleibt.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen