Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Filterfunktion bedingt sperren...

Filterfunktion bedingt sperren...
04.04.2006 11:40:53
Rolf
Hi Leutz,
In der Recherche habe ich die entsprechende Funktion für meine Bedürfnisse nicht gefunden:
Klingt komplizierter, als das es ist:
Aufgabe:
1. Die Filterfunktion soll in einer Arbeitsmappe gesammthaft unterbunden werden (Sahnehäubchen: Der Menupunkt Filter ist bei aktivierten Blattschutz als "inaktiv" hinterlegt, also nicht auswählbar)
2. Schön wäre, wenn man ihn dann mit einem Kennwort aber aktivieren kann (Nicht über das Blattschutzkennwort)und ihn dann Benutzen kann. (Das kann ganz einfach im VBA-Code sein, und verborgen ist es ja, wenn man den Code kennwortschützt!, muss nicht mal unbedingt mit Sterernchen angezeigt werden, also Hundsgemein und schlicht)
3. Ist dann gefiltert worden, also ein Filter aktiv, kann man aber auf der ganzen Arbeitsmappe, inklusive freigegebender Zellen (Die unter Format-Zellen-Schutz freigegeben wurden)keine Änderungen vornehmen, bis wiederum kein Filter mehr aktiv ist.
Zweck: Wenn filter aktiv sind, gibt es Firmeninterne "Cmputergenies", die uns gewisse Exceltabellen mit ihren Fachwissen verschlimbessern, und bei gefilterten Tabellen, Zellen kopieren und löschen, was danach leere, fehlende und falsche Zellen mitten im nicht gefilterten Dokument zur Folge hat. Trodsdem möchte ich die Funktion des Filterns nicht gänzlich ausschliessen, da es unter Umständen sehr nützlich sein kann...
Lösung: Über ein schönes kleines VBA-Makro, das gewisse Funktionen unter gewissen Bedingungen ausschliesst, aber unter anderen Bedingungen wieder zulässt.
Hilfe: Die Datei, etwas gekürtzt und ohne korrekten Inhalt von wegen Firmengeheimnis... aber für's verständnis reicht's:
https://www.herber.de/bbs/user/32591.xls
Ich habe leider für die Aufgabe zu wenig Ahnung von VBA.
So, das wäre dann alles. Über kompetente Hilfe würde ich mich wie immer freuen und bedanke mich schon jetzt für alle Anregungen und Vorschläge.
Gruss
Rolf
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filterfunktion bedingt sperren...
04.04.2006 19:24:19
ChrisL
Hallo Rolf
So kommst du m.E. nicht weiter. Würde eher darauf tendieren die häufigsten Abfragen mittels Steuerelement (z.B. ComboBox) nachzubauen. Möglich auch mit Userform, aber ist halt einiges an Aufwand.
Da die Datei 'Datenbank-Charakter' hat, würde sich evtl. auch Access anbieten. Ursprungstabelle ausblenden und ein paar Standardabfragen zur Verfügung stellen, die dann trotzdem noch gefiltert werden können.
Gruss
Chris
Anzeige
AW: Filterfunktion bedingt sperren...
05.04.2006 11:51:09
Rolf
Hi,
Nun ja... Excel möchte ich ja schon beibehalten...(Vorallem da ich mich in Acces nicht so auskenne)
Kannst du mir wenigstens beim Befehl für das Sperren der Filterfunktion behilflich sein? Müsste doch irgendwie gehen, denn das Drucken kann man ja auch sperren, mit CommandBars oder so ähnlich...
Danke für die Antwort!
Gruss
Rolf
Anzeige
AW: Filterfunktion bedingt sperren...
05.04.2006 13:29:22
ChrisL
Hallo Rolf
Für das Drucken gibt es ein eigenes VBA-Event. Ein solches Ereignis gibt es für den Autofilter nicht. Deshalb befindest du dich m.E. in einer Sackgasse.
Access wäre m.E. eine gute, verhältnismässig einfache, Lösung. Der Multi-User-Zugriff wäre mit Access auch gleich gelöst.
Gruss
Chris
Anzeige
AW: Filterfunktion bedingt sperren...
05.04.2006 14:32:12
Rolf
Hallo Chris,
Na ja, wie schon gesagt, in Access kenn' ich mich nicht aus, und wegen der einen Tabelle dann extra 'ne kleine Datenbank zu erstellen, ist dann doch irgendwie ausserhalb von Aufwand und Nutzen... Also lassen wir es lieber und finden andere Lösungen!
Ich bedanke mich trodsdem für deine Hilfe!
Gruss
Rolf
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Filterfunktion in Excel gezielt sperren und verwalten


Schritt-für-Schritt-Anleitung

Um die Excel-Filterfunktion gezielt zu sperren, kannst du ein VBA-Makro verwenden. Folge diesen Schritten:

  1. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Einfügen eines Moduls: Klicke mit der rechten Maustaste auf „VBAProject (DeineDatei.xlsx)“, wähle Einfügen und dann Modul.

  3. Code einfügen: Kopiere den folgenden Code in das Modul:

    Sub FilterSperren()
        Dim ws As Worksheet
        For Each ws In ThisWorkbook.Worksheets
            ws.Protect Password:="deinPasswort", UserInterfaceOnly:=True
            ws.EnableAutoFilter = False
        Next ws
    End Sub
    
    Sub FilterAktivieren()
        Dim ws As Worksheet
        For Each ws In ThisWorkbook.Worksheets
            ws.Unprotect Password:="deinPasswort"
            ws.EnableAutoFilter = True
        Next ws
    End Sub
  4. Anpassungen: Ersetze deinPasswort mit einem Passwort deiner Wahl.

  5. Makro ausführen: Schließe den VBA-Editor und führe das Makro FilterSperren aus, um die Filterfunktion zu sperren.

  6. Filter aktivieren: Um die Filterfunktion wieder zu aktivieren, führe das Makro FilterAktivieren aus.


Häufige Fehler und Lösungen

  • Fehler: Filter grau hinterlegt
    Lösung: Stelle sicher, dass das Arbeitsblatt nicht geschützt ist, bevor du die Filterfunktion aktivierst.

  • Fehler: Excel Filter löschen nicht möglich
    Lösung: Überprüfe, ob die Arbeitsmappe oder das Arbeitsblatt geschützt ist. Du musst den Schutz zuerst aufheben.

  • Fehler: VBA-Code funktioniert nicht
    Lösung: Stelle sicher, dass du die Makros in den Excel-Optionen aktiviert hast. Gehe zu Datei -> Optionen -> Trust Center -> Einstellungen für das Trust Center -> Makroeinstellungen.


Alternative Methoden

Wenn du die Filterfunktion nicht über VBA sperren möchtest, kannst du folgende Ansätze ausprobieren:

  • Zugriffssteuerung durch Blattschutz: Du kannst die Zellen, die gefiltert werden sollen, sperren und das Arbeitsblatt schützen. Dies verhindert, dass Änderungen vorgenommen werden, während die Filter aktiv sind.

  • Verwendung von Formaten: Setze die Zellen, die nicht bearbeitet werden sollen, auf ein bestimmtes Format, um visuelle Hinweise zu geben, dass sie nicht bearbeitet werden dürfen.


Praktische Beispiele

  1. Sperren des Filters mit einem Passwort: Nutze das oben genannte VBA-Skript, um die Filterfunktion zu sperren und nur bestimmten Benutzern den Zugriff auf die Filterfunktion zu erlauben.

  2. Entwicklung einer Benutzeroberfläche: Erstelle ein Formular, das den Nutzern erlaubt, Filter anzuwenden, ohne dass sie direkt auf die Filterfunktion zugreifen müssen.


Tipps für Profis

  • Kennwortschutz: Schütze deine VBA-Projekte mit einem Passwort, um unbefugten Zugriff zu verhindern.
  • Dokumentation: Halte deine VBA-Codes gut dokumentiert, damit du weißt, was jeder Abschnitt macht, vor allem wenn du mit anderen zusammenarbeitest.
  • Testen: Teste deine Makros gründlich, bevor du sie in einer Produktionsumgebung einsetzt.

FAQ: Häufige Fragen

1. Kann ich die Filterfunktion für bestimmte Benutzer aktivieren?
Ja, du kannst VBA verwenden, um bestimmte Benutzer mit einem Passwort zu autorisieren, die Filterfunktion zu aktivieren.

2. Was passiert, wenn ich das Passwort vergesse?
Es gibt keine einfache Möglichkeit, ein VBA-Passwort wiederherzustellen. Du solltest es sicher aufbewahren.

3. Wie kann ich die Filterfunktion wiederherstellen, wenn sie gesperrt ist?
Führe das Makro FilterAktivieren aus, um die Filterfunktion wiederherzustellen, nachdem du das Passwort eingegeben hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige