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

Makro Filter zurücksetzen trotz Passwortschutz

Makro Filter zurücksetzen trotz Passwortschutz
08.07.2015 08:10:01
Marco
Hallo zusammen,
Ich bin zwar kein Excel Neuling, konnte aber im Bereich von VBAs noch kaum Erfahrungen sammeln.
ich habe folgendes Anliegen:
Ich habe ein geschütztes Blatt. Es gibt mehrere Spalten in denen nach Inhalten gefiltert werden kann. Ich möchte nun, dass diese Filter vor dem Schließen der Liste jedes mal zurückgesetzt werden. Hierfür muss der Blattschutz (mit Passwort) außer Kraft gesetzt werden. Das alles hab ich durch Forums-Recherche mehr oder weniger gut hinbekommen.
Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveSheet.Unprotect "Mein Passwort"
Dim wksBlatt As Worksheet
For Each wksBlatt In ThisWorkbook.Worksheets
If wksBlatt.FilterMode Then wksBlatt.ShowAllData
Next wksBlatt
ActiveSheet.Protect "Mein Passwort"
ThisWorkbook.Save
End Sub

Ich habe aber noch zwei Probleme:
1. Wenn das Makro das Passwort wieder vergibt und das Blatt schützt, gehen meine Freigaben (Nutzer dürfen: Gesperrte Zellen auswählen, Nicht gesperrte Zellen auswählen, Zeilen einfügen, Sortieren, AutoFilter verwenden) verloren, sodass die Haken entfernt werden und der nächste der die Liste öffnet kann die Tabelle nicht mehr wirklich nutzen kann.
2. Außerdem sollen alle AutoFilter zurückgesetzt werden bis auf der in Spalte I.
Schon mal vielen Dank für eure Antworten!
Grüße,
Marco

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Filter zurücksetzen trotz Passwortschutz
09.07.2015 01:26:16
fcs
Hallo Marco,
das sollte dann etwa so funktionieren:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim wksBlatt As Worksheet
Dim intFilter As Integer
For Each wksBlatt In ThisWorkbook.Worksheets
wksBlatt.Unprotect "Mein Passwort"
If wksBlatt.FilterMode Then
For intFilter = 2 To wksBlatt.AutoFilter.Filters.Count
If wksBlatt.AutoFilter.Filters(intFilter).On = True Then
wksBlatt.AutoFilter.Range.AutoFilter Field:=intFilter
End If
Next
End If
wksBlatt.Protect "Mein Passwort", Contents:=True, Scenarios:=True, _
AllowInsertingRows:=True, AllowSorting:=True, AllowFiltering:=True
Next wksBlatt
ThisWorkbook.Save
End Sub
Gruß
Franz

Anzeige
AW: Makro Filter zurücksetzen trotz Passwortschutz
09.07.2015 06:46:39
Marco
Vielen Dank für die schnelle Antwort!
Der Code funktioniert fast perfekt, einziges Manko, nicht der Filter von Spalte "I" wird nicht zurück gesetzt, sondern der von Spalte "B". Bin etwas zu unbeholfen um herauszufinden wo und wie ich die Auswahl des Spaltenfilters im VBA finde.
Grüße,
Marco

AW: Makro Filter zurücksetzen trotz Passwortschutz
09.07.2015 21:30:16
fcs
Hallo Marco,
die Zählung der Filter beginnt beim Autofilter in der linken Spalte des Autofilterbereiches mit 1.
Wenn der Autofilterbereich nicht in Spalte A beginnt, und andere Filter als der 1. Filter nicht zurückgesetzt werden sollen, dann wird es etwas komplizierter.
Gruß
Franz
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim wksBlatt As Worksheet
Dim intFilter As Integer, Spalte As Long, Spalte_1 As Long
For Each wksBlatt In ThisWorkbook.Worksheets
wksBlatt.Unprotect "Mein Passwort"
If wksBlatt.FilterMode Then
Spalte_1 = wksBlatt.AutoFilter.Range.Column
For intFilter = 1 To wksBlatt.AutoFilter.Filters.Count
Spalte = Spalte_1 + intFilter - 1
Select Case Spalte
Case 9  'Spalte I
'do nothing
Case Else
If wksBlatt.AutoFilter.Filters(intFilter).On = True Then
wksBlatt.AutoFilter.Range.AutoFilter Field:=intFilter
End If
End Select
Next
End If
wksBlatt.Protect "Mein Passwort", Contents:=True, Scenarios:=True, _
AllowInsertingRows:=True, AllowSorting:=True, AllowFiltering:=True
Next wksBlatt
ThisWorkbook.Save
End Sub

Anzeige
AW: Makro Filter zurücksetzen trotz Passwortschutz
10.07.2015 06:07:30
Marco
Hallo Franz,
Auf dieses Makro wäre ich in 1000 kalten Wintern nicht gekommen...
Funktioniert einwandfrei! Macht genau, was es soll!
Riesen Dank!
Grüße,
Marco

9 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige