Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1128to1132
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 sperren in Excel 2007

Filter sperren in Excel 2007
Andrea
Hallo zusammen
In einer Excel-Datei habe ich den Filter für den User gesperrt, damit er nur die Zeilen sieht, welche das Kriterium der in Feld C2 erfassten Zahl betreffen. In Excel 2000 hat dies mit dem Code
Dim xy As Variant
ActiveSheet.Unprotect Password:="Passwort"
Range("C2").Select
xy = ActiveCell.Value
Selection.AutoFilter Field:=5, Criteria1:=xy
ActiveSheet.Protect Password:="Passwort", DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
bestens funktioniert. Nun haben wir aber das Problem, dass wir User haben, welche Excel 2007 verwenden. Und dort ist leider der Filter weiterhin offen trotz dieses Codes.
Hat jemand von euch eine Lösung, wie ich den Code anpassen kann, damit er in beiden Versionen funktioniert?
Ganz herzlichen Dank schon im voraus!
Herzliche Grüsse
Andrea

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

Betreff
Benutzer
Anzeige
AW: Filter sperren in Excel 2007
19.01.2010 00:01:58
Josef
Hallo Andrea,
versuche es so.
Sub andrea()
Dim xy As Variant
Dim intVersion As Integer

intVersion = Val(Application.Version)

With ActiveSheet
  .Unprotect Password:="Passwort"
  xy = Range("C2").Value
  Range("C2").AutoFilter Field:=5, Criteria1:=xy
  
  #If lngVersion < 12 Then
    .Protect Password:="Passwort", DrawingObjects:=True, Contents:=True, _
      Scenarios:=True
    #Else
    .Protect Password:="Passwort", DrawingObjects:=True, Contents:=True, _
      Scenarios:=True, AllowFiltering:=False
    #End If
  End With
End Sub

Gruß Sepp

Anzeige
Korrektur
19.01.2010 00:09:15
Josef
Hallo nochmal,
da haben sich zwei Fehler eingeschlichen.
Sub andrea()
Dim xy As Variant
Dim intVersion As Integer

intVersion = Val(Application.Version)

With ActiveSheet
  .Unprotect Password:="Passwort"
  xy = Range("C2").Value
  Range("C2").AutoFilter Field:=5, Criteria1:=xy
  
  #If intVersion < 11 Then
    .Protect Password:="Passwort", DrawingObjects:=True, Contents:=True, _
      Scenarios:=True
    #Else
    .Protect Password:="Passwort", DrawingObjects:=True, Contents:=True, _
      Scenarios:=True, AllowFiltering:=False
    #End If
  End With
End Sub

Gruß Sepp

Anzeige
AW: Korrektur
19.01.2010 08:12:25
Andrea
Hallo Sepp,
Super, das Makro funktioniert einwandfrei. Eine Frage habe ich doch noch: wofür sind die #-Zeichen? Das Makro läuft auch ohne diese, wie ich festgestellt habe.
Ganz herzlichen Dank für die rasche Unterstützung! Das macht immer wieder Freude bei herber.de! :-)
Herzliche Grüsse
Andrea
Stichwort: Bedingte Kompiliereung o.T.
19.01.2010 08:18:41
Josef
Gruß Sepp

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige