< návrat zpět

MS Excel


Téma: Automatické odstranění filtru rss

Zaslal/a 10.12.2020 15:46

Ahoj,
prosím o radu jak ve workbooku kde mám několik sheetů s daty zapsat makro, které při uzavření workbooku odstraní na všech sheetech vyfiltrované hodnoty, ale nesmaže filtr z řádku jako takového.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Březen_2021").AutoFilterMode = False
End Sub

Zkoušel jsem toto, ale pak ten filtr zmizí úplně a navíc musím definovat pro každý sheet zvlášť.
Díky

Zaslat odpověď >

#049186
avatar
Třeba:

ActiveSheet.ShowAllData

ps. V Excelu je záznamník maker.citovat
#049187
avatar
Tomu rozumím, ale jde trochu o něco jiného. Zmíněný příkaz zobrazí i řádky, které jsou ručně skryté. Potřeboval bych něco co ve všech filtrech na sheetu vybere všechny hodnoty. Záznam maker mi pomůže s jedním sloupcem, ale pak bych musel rozkopírovat pro každý sloupec + upravit pokaždé když nějaký přibude. Existuje něco takto obecného (co ovšem úplně nezruší filtrovací tlačítka?)citovat
#049188
avatar
Jistě exituje, VBA. Jak jsem už psal, záznamník maker je kamarád. Stačí se pak podívat na objekty a doplnit iterace.

Filtry jsou v řadě objektů, tak jako příklad na aktivním listu tabulky a autofiltr:

Sub Makro()
Dim i As Long
Dim oList As ListObject

' tabulky
For Each oList In ActiveSheet.ListObjects
With oList.AutoFilter
For i = 1 To .Filters.Count
.Range.AutoFilter Field:=i
Next
End With
Next

With ActiveSheet.AutoFilter
For i = 1 To .Filters.Count
.Range.AutoFilter Field:=i
Next
End With
End Sub


Jo a to "pro každý sheet zvlášť", ano musí, ale může se to udělat v cyklu:

V proceduře odstraní autofiltry na všech listech:


Dim list As Worksheet
For Each list In ActiveWorkbook.Worksheets
list.AutoFilterMode = False
Next
citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje