Alle Filter beim Schließen der Datei zurücksetzen
#21
... na toll !

Es braucht hier im 'Cleveren' Forum 2 ganze Seiten und 20 Posts, bis einer dem Fragenden richtig hilft ?

Respekt ... die Herren.

So sollte es eigentlich gehen ...
PHP-Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
For
i = 1 To Thisworkbook.Worksheets.Count
  With Thisworkbook
.Worksheets(i)
     .Unprotect Password:=""
     If .FilterMode = True Then .ShowAllData

.Protect UserInterfaceOnly:=True, _
DrawingObjects
:=True, Contents:=True, Scenarios:=True, _
AllowFormattingCells
:=True, AllowFormattingRows:=True, _
AllowInsertingRows
:=True, AllowDeletingRows:=True, _
AllowFiltering
:=True, AllowSorting:=True, _
Password
:=""

.EnableOutlining = True 'für Gliederung
.EnableAutoFilter = True '
für Autofilter
End With
Next
End Sub
Wenn das nicht funktioniert, dann weiß ich nicht warum.
Top
#22
Hallöchen,

Zitat:Es braucht hier im 'Cleveren' Forum 2 ganze Seiten und 20 Posts, bis einer dem Fragenden richtig hilft ?
da hat sich vom Anfang bis zum Ende aber auch einiges getan ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#23
Hallo,

@Schauan:
Sorry, bin ich hier nur nicht gewohnt.

Habe mir übrigens den ganzen Thread noch einmal durchgelesen ... ListObjects hat der TO auf seinen Tabellen (siehe Post #10) ... dann so ...

PHP-Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
For
i = 1 To ThisWorkbook.Worksheets.Count
   With ThisWorkbook
.Worksheets(i)
      .Unprotect Password:=""
      With .ListObjects(1).AutoFilter
         
If .FilterMode = True Then .ShowAllData
      End With

     
.Protect UserInterfaceOnly:=True, _
      DrawingObjects
:=True, Contents:=True, Scenarios:=True, _
      AllowFormattingCells
:=True, AllowFormattingRows:=True, _
      AllowInsertingRows
:=True, AllowDeletingRows:=True, _
      AllowFiltering
:=True, AllowSorting:=True, _
      Password
:=""
       
     
.EnableOutlining = True 'für Gliederung'
      .EnableAutoFilter = True 'für Autofilter'
   End With
Next
End Sub
Top
#24
Hallo Sabina,

wenn Du jetzt noch eine Schleife über alle Listobjekte eines Blattes einbauen würdest Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#25
Hallo Sabrina,

ich habe den Code nun ausprobiert. Wenn ich die Datei speichere erhalte ich immer die folgende Fehlermeldung:

Laufzeitfehler 9:
Index außerhalb des gültigen Bereichs

-> es liegt an der folgenden Zeile: With .ListObjects(1) .AutoFilter

Unabhängig davon läuft es trotzdem durch und macht am Ende was es soll:)
Top
#26
Abgesehen davon, dass ich Sabina heiße ... Yippie !!! :19:

Dann hast du wohl in einer Tabelle keine intelligente Tabelle drin ...
Top
#27
Hi,

(14.11.2018, 16:01)Flotter Feger schrieb: Dann hast du wohl in einer Tabelle keine intelligente Tabelle drin ...

jetzt ziehst Du es aber unnötig in die Länge. Mit der Umsetzung der Bitte von André gäbe es keinen Fehler (zumindest ListObjects betreffend). Wink

PS: Man kann auch mehr als 10 Posts pro Seite einstellen.  Blush

Gruß Uwe
Top
#28
Hallo Uwe,

du bist ja hartnäckig ... :20: 


PHP-Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim i As Long, LstO As ListObject

For i = 1 To ThisWorkbook.Worksheets.Count
   With ThisWorkbook
.Worksheets(i)
       .Unprotect Password:=""
       For Each LstO In .ListObjects
           With LstO
.AutoFilter
               If
.FilterMode = True Then .ShowAllData
           End With
       Next LstO
   
       
.Protect UserInterfaceOnly:=True, _
       DrawingObjects
:=True, Contents:=True, Scenarios:=True, _
       AllowFormattingCells
:=True, AllowFormattingRows:=True, _
       AllowInsertingRows
:=True, AllowDeletingRows:=True, _
       AllowFiltering
:=True, AllowSorting:=True, _
       Password
:=""

       .EnableOutlining = True 'für Gliederung'
       .EnableAutoFilter = True 'für Autofilter'
   End With
Next
End Sub


Jetzt zufrieden ? Ja, ich weiß ... wieder ein Post mehr ... den hätte ich mir sparen können, wenn ich es gleich so gemacht hätte ... schon klar, Onkel Uwe !!! :17: :19:
[-] Folgende(r) 1 Nutzer sagt Danke an Flotter Feger für diesen Beitrag:
  • ExcelNeuling99
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste