Zdravim ještě jednou,
filtr se zvýrazněnou buňkou funguje, přestala ale fungovat klasická možnost volby ÚPRAVY - ZPĚT. Když makro s vybarvením buňky aktivního filtru smažu vše funguje..
Dá se to nějak spravit/obejít?
Díky za odpověď
Makro v Excelu - buňka s aktivním filtrem PROBLEM
Moderátor: Mods_senior
-
navstevnik
- Level 4

- Příspěvky: 1142
- Registrován: 29 srp 2008 16:49
Re: Makro v Excelu - buňka s aktivním filtrem PROBLEM
Procedura pouzita pro zvyrazneni aktivnich kriterii aut filtru ma za nasledek reset nastaveni Undo (ReUndo), takze lze mit bud zvyraznovani nebo Undo, nelze mit oboje.
Moznym resenim je na list vlozit Prepinaci tlacitko (z Panely nastroju>Ovladaci prvky>ToggleButton) a dle potreby toto tlacitko aktivovat/deaktivovat, pricemz procedura podle stavu bude zpri zmenach v nastaveni autofiltru patricne upravovat/neupravovat podbarveni bunek, v neaktivnim stavu lze pouzit Undo.
Ovladaci prvek ToggleButton - upravit:
Name: tggAF
Caption: "Aktivovat zvýraznění AF"
a upravena procedura:
Nevylucuji, ze muze existovat i jine reseni celeho problemu zvyraznovani.
PS: napr. zvyraznovat stiskem tlacitka, nikoliv automaticky
Moznym resenim je na list vlozit Prepinaci tlacitko (z Panely nastroju>Ovladaci prvky>ToggleButton) a dle potreby toto tlacitko aktivovat/deaktivovat, pricemz procedura podle stavu bude zpri zmenach v nastaveni autofiltru patricne upravovat/neupravovat podbarveni bunek, v neaktivnim stavu lze pouzit Undo.
Ovladaci prvek ToggleButton - upravit:
Name: tggAF
Caption: "Aktivovat zvýraznění AF"
a upravena procedura:
Kód: Vybrat vše
Private Sub Worksheet_Calculate()
Dim af As AutoFilter
Dim fFilter As Filter
Dim iFilterCount As Integer
' vyhodnoceni stavu prep tlacitka tggAF
If Me.tggAF.Value Then
If ActiveSheet.AutoFilterMode Then
Set af = ActiveSheet.AutoFilter
iFilterCount = 1
For Each fFilter In af.Filters
If fFilter.On Then
af.Range.Cells(1, iFilterCount) _
.Interior.ColorIndex = 6 'změnou čísla lze měnit barvu výplně (3-červená,5- modrá...)
Else
af.Range.Cells(1, iFilterCount) _
.Interior.ColorIndex = xlNone 'zde se nastavuje barva výplně buňky s neaktivním filtrem
End If
iFilterCount = iFilterCount + 1
Next fFilter
Else
Rows(1).EntireRow.Interior.ColorIndex = xlNone
End If
End If
End SubNevylucuji, ze muze existovat i jine reseni celeho problemu zvyraznovani.
PS: napr. zvyraznovat stiskem tlacitka, nikoliv automaticky
-
- Podobná témata
- Odpovědi
- Zobrazení
- Poslední příspěvek
