automatický filtr, rozšířený filtr

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Reno70
nováček
Příspěvky: 7
Registrován: březen 16
Pohlaví: Nespecifikováno
Stav:
Offline

automatický filtr, rozšířený filtr

Příspěvekod Reno70 » 09 srp 2016 14:43

Dobrý den.

Může mě někdo poradit?

Potřebuji po změně hodnoty v buňce f9, použít hodnotu buňky a spustit filtr, který vyfiltruje všechny hodnoty mimo ty, které jsou v buňce f9.

Prozatím jsem zjistil toto, ale to dohledá obsah pole f9 a já potřebuji vše mimo to, co to pole obsahuje:
HledanyText = Range("f9").Value
ActiveSheet.Range("$H$15:$L$1000").AutoFilter Field:=5, Criteria1:=(HledanyText)


děkuji

Reklama
guest
Pohlaví: Nespecifikováno

Re: automatický filtr, rozšířený filtr

Příspěvekod guest » 09 srp 2016 14:52

"Různé od" se ve filtru a VBA (pokud vím) řeší.. no blbě. Zpravidla se realizuje přes Rozšířený filtr s kritériem "<>"&F9 (vyskytuje se v samostatné buňce pod hlavičkou s názvem, jaký má i skutečná hlavička sloupce, nad nímž kritérium aplikujeme).

Reno70
nováček
Příspěvky: 7
Registrován: březen 16
Pohlaví: Nespecifikováno
Stav:
Offline

Re: automatický filtr, rozšířený filtr

Příspěvekod Reno70 » 09 srp 2016 14:56

toto asi není to, co jsi měl na mysli že?
ActiveSheet.Range("$H$15:$L$1000").AutoFilter Field:=5, Criteria1:="<>" & F9

po spuštění zobrazil vše mimo prázdné

Dodatečně přidáno po 5 minutách 22 vteřinách:
ale pomohlo to.. pokus, omyl a toto již dělá, co má.

HledanyText = Range("F9").Value
ActiveSheet.Range("$H$15:$L$1000").AutoFilter Field:=5, Criteria1:="<>" & (HledanyText)

za chvilku ještě doplním o spuštění, to ještě nemám dořešené. zatím moc děkuji

Dodatečně přidáno po 10 minutách 27 vteřinách:
a nyní doplnit do již existujícího příkazu.
ten se týká zadání nebo změny hodnoty v poli F11 a nyní potřebuji doplnit i zadání nebo změny hodnoty v poli F9. V podstatě v poli F11 nebo v poli F9.
Case 4 si doplním, neměl by být problém. A opět moc děkuji za pomoc.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Nazvy, KeyCells As Range, i As Byte

'Sem vepsat nazvy listu kterych se tyka
Nazvy = Array(ActiveSheet.Name, "2", "3", "5", "6", "7", "8")
' Tato buňka nebo oblast když se změní, spouští se makro
Set KeyCells = Range("F11")

If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then

With Application
.EnableEvents = False
.ScreenUpdating = False

For i = LBound(Nazvy) To UBound(Nazvy)
With Worksheets(Nazvy(i))
.Activate 'aktivace listu
.Range(KeyCells.Address).Value = KeyCells.Value
Select Case .Range(KeyCells.Address).Value
Case 0: Aktualizace0
Case 1: Aktualizace1
Case 2: Aktualizace2
Case 3: Aktualizace3

End Select
End With
Next i
Worksheets(Nazvy(0)).Activate 'activace puvodniho listu

.EnableEvents = True
.ScreenUpdating = True
End With
End If
End Sub

guest
Pohlaví: Nespecifikováno

Re: automatický filtr, rozšířený filtr

Příspěvekod guest » 09 srp 2016 15:34

Stejně jako máte objektovou proměnnou Set KeyCells = Range("F11"), zavedete i já nevím Set KeyCells2 = Range("F9") a další bude odvislé od toho.

Máte v tom od oka ale podstatnější - no podle všeho bejkárny. Vložit hodnotu na jiný než aktivní list nevyžaduje aktivaci tohoto listu. Navíc, pokud se událost a "to samé v kódu" řeší pro více listů, pak se kód umísťuje do událostní procedury na úrovni celého sešitu (ThisWorkbook, Workbook_SheetChange) a sledujete Sh.Name. Zbytek neposoudím, nevím, o co Vám jde.

Reno70
nováček
Příspěvky: 7
Registrován: březen 16
Pohlaví: Nespecifikováno
Stav:
Offline

Re: automatický filtr, rozšířený filtr

Příspěvekod Reno70 » 09 srp 2016 15:48

určitě máte pravdu, jsem mnohdy rád, že to zpatlám tak, aby to dělalo, co chci a je pravda, že mnohdy si to více komplikuji, že by to mohlo jít jinak, jednodušeji.

jak tam to nastavení doplním?
mělo by to fungovat tak, že po vložení hodnoty v listě A se v listech 2,3,5,6,7,8 do polí F9 načte hodnota a provede se ve všech listech filtr, který jsme řešili nahoře (ten funguje, samostatně, když ho spustím).

zatím děkuji


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti