Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  20 21 22 23 24 25 26 27 28   další » ... 63

Ty jsi náročný zákazník :-).

Třeba takto:
Sub Filtr_dle_vybrane_bunky_3()
Dim pole_filtru As Byte

If ((ActiveCell.Column = 6) And (ActiveCell.Row >= 14)) Or (ActiveCell.Column = 11) Then
pole_filtru = 4
ElseIf ActiveCell.Column = 8 Then
pole_filtru = 1
ElseIf ActiveCell.Column = 9 Then
pole_filtru = 2
End If

If pole_filtru > 0 Then
On Error Resume Next
ActiveSheet.ShowAllData

ActiveSheet.Range("$H$1:$K$10000").AutoFilter _
Field:=pole_filtru, Criteria1:=ActiveCell.Value
End If

End Sub
P.

Pro tvůj konkrétní případ by mělo fungovat takto upravené:
Sub Filtr_dle_vybrane_bunky_2()

On Error Resume Next
ActiveSheet.ShowAllData

ActiveSheet.Range("$H$1:$K$10000").AutoFilter _
Field:=4, Criteria1:=ActiveCell.Value

End Sub
Máš tam zapnutý filtr pro 4 pole, to jsem musel v makru ošetřit...
P.

Přečetl jsem za tebe toto vlákno :D, odpověď (řešení) na tvůj dotaz je již napsaná výše, ne?
P.

Zkus problematiku popsat ještě jednou a lépe ;-)...
P.

Např.:
Sub Filtr_dle_vybrane_bunky()

On Error Resume Next
ActiveSheet.ShowAllData

ActiveSheet.Range("$E$1:$E$10000").AutoFilter _
Field:=1, Criteria1:=ActiveCell.Value

End Sub
Nezapomeň, že když budeš mít takto dva sloupce vedle sebe, tak při filtrování budeš skrývat data (řádky) z obou sloupců...
P.

Nedá mi to, musím se zeptat ;-).
Proč nechceš využít funkce POSUN a INDEX?
P.

Jedno z možných maticových řešení:
{=IFERROR(INDEX($B:$B;SMALL(KDYŽ($A:$A=F$3;ŘÁDEK($A:$A));ŘÁDEK($A1)));"")}

Například nějak takto:
Sub Zrusit_filtr_dle_podminky()
Dim posledni_obsazeny_radek As Long

posledni_obsazeny_radek = ActiveSheet.Range("A10000").End(xlUp).Row
If posledni_obsazeny_radek = 1 Then
ActiveSheet.Range("$A$1:$O$10000").AutoFilter Field:=5
End If

End Sub

Případně lze navázat na událost listu:
Private Sub Worksheet_Change(ByVal Target As Range)

Call Zrusit_filtr_dle_podminky

End Sub
P.

Možností je více, jednou z nich je využití funkce ZVOLIT a DENTÝDNE.
Logika je jednoduchá, nejdříve si zjistíš, jaký den týdne je první den v měsíci, a pak podle toho jenom přičteš příslušný počet dní (pondělí = +1, úterý = +0, středa = +6 atd.).
P.

Př.:
=A1+ZVOLIT(DENTÝDNE(A1;2);1;0;6;5;4;3;2)

http://lmgtfy.com/?q=excel+funkce+%C4%8Desky
P.

Řešení touto funkcí je prosté. Píšeš, že ve sloupci "B" máš názvy souborů. V tom případě do nějakého dalšího sloupce, třeba "C", zadej vzorec:
=HYPERTEXTOVÝ.ODKAZ(B1)Tímto se automaticky z textu (názvu souboru) vytvoří hypertextový odkaz na soubor.
P.

Makrem například takto:
Sub Otevrit_soubor()
Workbooks.Open Filename:=ThisWorkbook.Path & "/" & ActiveCell.Value
End Sub
Za předpokladu, že máš v buňce celý název souboru s příponou...
Vyvolání makra klávesovou zkratkou lze nastavit na kartě Vývojář (pokud nemáš zobrazeno, tak Soubor / Možnosti / Přizpůsobit pás karet) v položce Makra. Stačí vybrat dané makro, a kliknout na "Možnosti...".
P.

PS:
Na hypertextový odkaz je i zabudovaná funkce HYPERTEXTOVÝ.ODKAZ. Stačilo by tedy pouze přidat jeden sloupec, a využít ji. K otevření souboru pak stačí jedno kliknutí...

Řešením mohou být víceúrovňové popisky kategorií.
To znamená, že je potřeba přidat ještě jeden pomocný sloupec, ve kterém bude položka rok (lze využít zabudované funkce ROK).
P.

Viz příloha:

Vyzkoušej hypertextový odkaz na soubor.
Karta Vložení / Hypertextový odkaz
P.

Pokud to dobře chápu, tak řešením je funkce VVYHLEDAT s ošetřením chybových (nenalezených) hodnot přes IFERROR.
P.

Např.:
=IFERROR(VVYHLEDAT(B5;$B$2:$D$2;1;NEPRAVDA);"")

Těžko říct bez ukázky dat. Vzorec je podle mě OK.
Některé výpočty v Excelu trvají déle, u nás byl třeba problém zejména s častým využitím COUNTIFS, SUMIFS apod.

Co pomáhá v těchto případech:
1.) Optimalizace vzorce.
2.) Vypínání přepočtů.
3.) Výpočet provádět makrem (bez vzorců, pouze hodnoty).
4.) Rychlejší PC.

Vypínání přepočtů:
Vzorce / Možnosti výpočtů / Ručně
U výpočetně náročných sešitů máme většinou nastavený ruční přepočet, s tím, že se vždy při změně musí přepočítání spustit (ručně, nebo přes makro). Případně výpočet řešíme pouze makrem.
P.


Strana:  1 ... « předchozí  20 21 22 23 24 25 26 27 28   další » ... 63

Uživatelské menu

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

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

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

Aktivní diskuse