Anzeige
Archiv - Navigation
1900to1904
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

Filter Funktion VBA

Filter Funktion VBA
27.09.2022 08:06:52
Oliver
Hallo zusammen,
ich habe folgendes Problem.
Wenn ich über ein Makro einen Blattschutz hinzufüge und verschiedene Optionen offen lasse,
werden im Menüband leider diese Funktionen ausgeblendet ( grau hinterlegt ) .
Genau gesagt, geht es um die Filter Funkton.
Hier werden die Varianten " Alle Filter Löschen usw. " ausgeblendet..
Wie bekomme ich die denn aktiviert ?
Das ist das makro was ich bis jetzt nutzte .
'Blattschutz
Columns("G:G").Select
Range("G:G,AK:AK").Select
Range("AK1").Activate
Selection.Locked = False
Selection.FormulaHidden = False
ActiveWindow.ScrollColumn = 6
Range("G2").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowInsertingColumns:=False, AllowInsertingRows:=False, _
AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _
AllowUsingPivotTables:=True, AllowFormattingColumns:=True
Danke schonmal im vorraus..
Gruß Oliver

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
du bist nicht alleine :-)
27.09.2022 08:23:26
Oberschlumpf
Hi Oliver,
deine Frage wurde so, oder so ähnlich, mind. schon mal in 2018 gestellt:
https://www.ms-office-forum.net/forum/showthread.php?t=354246
Du müsstest in deiner Tabelle entweder...
...einen Button platzieren
...oder eine aktuell nicht genutzte Zelle mit Hilfe SelectChange-Ereignis reagieren lassen
Für eine dieser Optionen musst du ein Makro erstellen, welches
a) den Blattschutz erst mal entfernt
b) alle gesetzten Filter zurücksetzt (dein "Filter löschen")
c) Blattschutz wieder aktivieren
Versuch mal dein Glück.
Wenn du nicht weiterkommst, zeig bitte eine Bsp-Datei mit Bsp-Daten und deinem bis dahin erstellten VBA-Code.
Ciao
Thorsten
Anzeige
AW: du bist nicht alleine :-)
27.09.2022 08:30:00
Oliver
Danke,
aber das ist eigendlich nicht das was ich wollte.... also einen neuen Button integrieren..
Es muß doch eine Möglichkeit geben , das in einem Makro freizuschalten.
Soweit ich weiß, haben doch alle Befehle im Menüband einen eigenen Nummerischen wert ..
Geht es nicht darüber. das man sagt. Wert XY einfach freigeben...
...du bist zwar noch immer nicht alleine...
27.09.2022 08:40:04
Oberschlumpf
...aber zumindest wieder ohne mich
Ich hätte nix gegen eine Button- oder SelectChange-Ereignis-Lösung.
Aber du bist ja anderer Meinung.
Weiter viel Erfolg.
AW: ...du bist zwar noch immer nicht alleine...
27.09.2022 08:44:03
Oliver
Hallo,
ich bin nicht anderer Meinung, aber ich kann in dem Sheeet keine zusätzlichen Button integrieren..
Das darf ich leider nicht. deshalb die Frage nach einer anderen Lösung :-)
gruß Oliver
Anzeige
AW: ...du bist zwar noch immer nicht alleine...
27.09.2022 08:50:38
Oberschlumpf
...dann wäre ja noch die Möglichkeit mit SelectChange-Ereignis
bedeutet...
- eine bis jetzt und in Zukunft nicht genutzte Zelle wird "überwacht"
- diese Zelle sollte vielleicht gefärbt sein oder einen Kommentar erhalten oder sonst irgdwie als nun "ausführbare Zelle" kenntlich gemacht werden
- und bei Auswahl (1x Anklicken) dieser Zelle - und auch nur genau bei dieser Zelle! - wird das zuvor von mir beschriebene Makro gestartet
Definition "Blattschutz"
27.09.2022 10:08:16
lupo1
Wenn ein Blatt neu rechnet, wird die Struktur nicht geändert. Wird aber menüseitig gefiltert, dann schon. Dann würde der Blattschutz verletzt. Wenn Du formelseitig filterst (=FILTER()), ist alles wieder gut.
Danke für die Crossposting-Referenz! So ist es richtig.
AW: Filter Funktion VBA
28.09.2022 15:02:37
Oliver
Hallo zusammen,
ich habe es jetzt folgendermaßen gelöst..
Obwohl ich eigendlich keine Buttons hinzufügen soll.
Füge ich über ein Makro einen Button hinzu , und hinterlege dort das unten gezeigte Makro.
Jetzt hab ich aber das Problem, das jedesmal beim ausführen ein Button erstellt wird, und wenn keine Filter gesetzt sind ein Fehler kommt.
Ich hoffe ihr Hilft mir noch :-)

Sub Autofilterlöschen()
ActiveSheet.Unprotect
ActiveSheet.Buttons.Add(0, 1.5, 25.5, 24).Select
Selection.OnAction = "Autofilterlöschen"
Rows("1:1").Select
ActiveSheet.ShowAllData
End Sub

Anzeige
AW: Filter Funktion VBA
28.09.2022 15:19:35
Daniel
Hi
im Prinzip reicht als Makro:

Sub Autofilterlöschen()
ActiveSheet.Unprotect
On Error Resume Next
ActiveSheet.ShowAllData
ON Error Goto 0
ActiveSheet.Protect
End Sub
der Button dazu muss nur einmalig erstellt und mit dem Button verknüpft werden (geht am einfachsten über das Kontextmenü des Buttons)
daher macht man das besser von Hand.
Solls ein Makro sein, dann schreibt man ein zweites Makro, mit welchem der Button bei Bedarf erstellt werden kann.

Sub ButtonErstellen()
ActiveSheet.Unprotect
ActiveSheet.Buttons.Add(0, 1.5, 25.5, 24).Select
Selection.OnAction = "Autofilterlöschen"
ActiveSheet.Protect
End Sub
dh das erste Makro läuft bei einem Klick auf den Button und das zweite lässt man laufen, wenn der Button nicht vorhanden ist und erstellt werden muss.
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige