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 BooleanCancel As Boolean)
For 
1 To Thisworkbook.Worksheets.Count
   With Thisworkbook
.Worksheets(i)
 
     .Unprotect Password:=""
 
     If .FilterMode True Then .ShowAllData

      
.Protect UserInterfaceOnly:=True_
      DrawingObjects
:=TrueContents:=TrueScenarios:=True_
      AllowFormattingCells
:=TrueAllowFormattingRows:=True_
      AllowInsertingRows
:=TrueAllowDeletingRows:=True_
      AllowFiltering
:=TrueAllowSorting:=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 BooleanCancel As Boolean)
For 
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
:=TrueContents:=TrueScenarios:=True_
       AllowFormattingCells
:=TrueAllowFormattingRows:=True_
       AllowInsertingRows
:=TrueAllowDeletingRows:=True_
       AllowFiltering
:=TrueAllowSorting:=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 BooleanCancel As Boolean)
Dim i As LongLstO As ListObject

For 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
:=TrueContents:=TrueScenarios:=True_
        AllowFormattingCells
:=TrueAllowFormattingRows:=True_
        AllowInsertingRows
:=TrueAllowDeletingRows:=True_
        AllowFiltering
:=TrueAllowSorting:=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