Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1952to1956
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

Sortieren einer Tabelle mit VBA und Blattschutz

Sortieren einer Tabelle mit VBA und Blattschutz
17.11.2023 17:37:49
Gekk1
Hallo!
Ich möchte gerne eine über "Einfügen" erzeugte Tabelle nach einer beliebigen Spalte sortieren. Es muss aber auch der ursprüngliche Zustand wiederhergestellt werden können. Normalerweise macht man das ja über eine Hilfsspalte in der man festgelegte Zahlen reinschreibt und danach wieder nach dieser sortiert.
Leider kann ich das nicht machen, weil ich Zeilen auch mitten in der Tabelle einfügen möchte und somit die Hilfszahlen nach der neuen Zeile nicht fortgeführt werden.

Zusätzlich muss ich mit Blattschutz arbeiten. Bisher habe ich ein VBA Code geschrieben, der den Blattschutz aufhebt, eine neue Zeile unter der von mir gewählten Zeile einfügt und dann den Schutz wieder aktiviert. In den Tabellentools ist der Haken bei "Schaltfläche Filter" gesetzt. Bedeutet, dass die Tabelle gefiltert und sortiert werden kann.

Das Problem ist aber, dass wenn der Blattschutz aktiv ist man nicht sortieren kann, weil der Blattschutz über das VBA Makro gesetzt wird und die Einstellungen die man sonst immer setzten kann, nicht mehr greifen. Habe dort eingestellt, dass man AutoFilter und Sortieren etc. erlauben soll, aber das geht nicht wenn der Schutz über VBA aktiviert wird. Habe deshalb nochmal mit VBA einen neuen Code geschrieben, der das Filtern und Sortieren erlauben soll. Die Filterschaltflächen lassen sich aufklappen aber nach einem Klick auf sortieren, wird der Tabellenbereich markiert und die Meldung erscheint, dass der Schutz dies verhindert.

Wie soll ich dieses Problem angehen? Ich kann leider nicht den Klick auf die Filterschaltfläche "abgreifen" um damit den Schutz temporär aufzuheben.
Ich habe überlegt ein UserForm mit ListBox und einem Button zu erstellen. In der Liste würde man dann die für die Sortierung zur Verfügung stehenden Tabellenspaltennamen stehen. Wenn man einen Auswählt und dann den Button drückt, dann wird die Tabelle nach der ausgewählten Spalte sortiert. Die Liste ist schon mal gefüllt. Aber wie geht es weiter? Muss ich jetzt den button click programmieren, dass er nach der ausgewählten Spalten Bezeichnung/Nummer sortiert?

Meine Tabellenwerte fangen bei A12 an und gehen bis Z12. Die Spalten sind demnach A-Z.

Gibt es einen anderen Weg oder muss ich das so machen?

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sortieren einer Tabelle mit VBA und Blattschutz
17.11.2023 18:27:49
onur
Du hast aber jede Menge Halb- und Viertelwissen angesammelt.
Sortieren bei Blattschutz kannst du auch unter Excel nur, wenn alle Zellen des Bereiches/der Tabelle ungeschützt sind (Zelle Formatieren/Schutz/Haken raus).
"Das Problem ist aber, dass wenn der Blattschutz aktiv ist man nicht sortieren kann, weil der Blattschutz über das VBA Makro gesetzt wird und die Einstellungen die man sonst immer setzten kann, nicht mehr greifen. " - Die greifen höchstens dann nicht, wenn du sie über VBA nicht setzst -z.B. so:
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True , AllowSorting:=True, AllowFiltering:=True
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige