Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
800to804
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
800to804
800to804
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Blattschutz - Autofilter verwenden

Blattschutz - Autofilter verwenden
11.09.2006 20:46:43
Kornelia
Hallo zusammen,
ich habe hier vor einiger Zeit Hilfe erhalten. In meiner Excel Arbeitsmappe sind Arbeitsblätter mit Blattschutz mit Kennwort eingerichtet. Auf einem Blatt sind aber auch Autofilter. In Excel 2003 läßt sich beim Schutz zwar vorab einrichten, dass die Autofilter verwendet werden können, jedoch liegt das Problem darin, dass meine Arbeitsmappe auch in Excel 2000 oder älter verwendet wird.
Hilfe hatte ich hier bekommen mit einem VBA-Code, wo der Kennwort-Schutz aufgehoben wird, um neue Zeilen einfügen und dass der Autofilter aktiviert wird. Das Makro lässt sich unter Excel 2003 ausführen, aber danach wird nur der Schutz wieder aktiviert, aber der Kennwortschutz geht verloren. In Excel 2000 wird nach Ablauf dieses Makros wieder Blattschutz mit Kennwort aktiviert.
Das Makro in Excel 2000 lautet:
With ActiveSheet
.EnableAutoFilter = True
.Protect userInterfaceOnly:=True
End With
In Excel 2003 funktioniert das Makro nur, wenn ich die folgende Zeile dem Makro hinzufüge:
.Protect AllowFiltering:=True
Dann habe ich jedoch das Problem, wenn ich in Excel 2000 das Makro ausführe, dass es nicht mehr funktioniert.
Hat jemand eine Idee, wie ich das in einem Makro vereinigen kann und das Makro in Excel 2000 und Excel 2003 korrekt läuft?
Für schnelle Hilfe bin ich dankbar.
Gruss Kornelia

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blattschutz - Autofilter verwenden
11.09.2006 21:07:27
Josef
Hallo Kornelia!
Vielleicht so.
With ActiveSheet
  If Val(Application.Version) > 9 Then
    .Protect userInterfaceOnly:=True, AllowFiltering:=True
  Else
    .EnableAutoFilter = True
    .Protect userInterfaceOnly:=True
  End If
End With

Gruß Sepp

Anzeige
AW: Blattschutz - Autofilter verwenden
11.09.2006 22:21:10
Kornelia
Hallo Sepp,
vielen Dank für die schnelle Antwort. In Excel 2003 scheint das Makro nun so zu laufen. Ich kann erst morgen austesten, wie es in Excel 2000 ist.
Vielleicht kannst Du mir aber noch weiterhelfen. Es sind insgesamt 3 Blätter in der Mappe die Schutz mit Kennwort und Autofilter haben. Bislang ist mein Makro so aufgebaut, dass eines der Blätter mit Workheets("...") angebe, kann man auch mehrere Blattnamen angeben?
Ich habe noch ein Makro mit Auto_Open() in der Mappe. Aber da reagiert Excel nicht. Schön wäre es dass der Autofilter aktiv ist, sobald die Mappe geöffnet wird, dann muss der Anwender nicht auf drei Blätter jeweils das Makro ausführen.
Danke im voraus.
Gruss Kornelia
Anzeige
AW: Blattschutz - Autofilter verwenden
11.09.2006 22:34:56
Josef
Hallo Kornelia!
So sollte es klappen.
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_Open()
Dim objWs As Worksheet
Dim appVersion

appVersion = Val(Application.Version)

For Each objWs In Me.Worksheets
With objWs
  If Not .AutoFilterMode Then .UsedRange.Cells(1, 1).AutoFilter
  #If appVersion > 9 Then
    .Protect userInterfaceOnly:=True, AllowFiltering:=True
    #Else
    .EnableAutoFilter = True
    .Protect userInterfaceOnly:=True
    #End If
  End With
Next

End Sub


Gruß Sepp

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige