Stránka 1 z 1
Filtr nebo makro?
Napsal: 27 říj 2006 10:12
od Olorea
ahoj, potrebovala bych poradit s nasledujicim problemem: mam v excelu tabulku na vypocet ukolove mzdy, takze nazev - kč/ks - počet vyrobenych kusu - funkce počet * kč/ks, a potrebovala bych docilit toho, aby se, napr. na druhy list, zkopirovaly jenom radky s nenulovym vysledkem..
Napsal: 27 říj 2006 10:28
od Olorea
tak uz vim, automatickym filtrem jde vyfiltrovat nenulovy polozky, akorat bych potrebovala aby to bylo uzivatelsky prijemnejsi
Napsal: 27 říj 2006 12:58
od mmmartin
Do cílové buňky na druhém listu dáš: +když(zdrojovábuňka=0;"";zdrojovábuňka). zdrojovábuňka je souřadnicové označení buňky (např. b2), ve které je přenášené číslo.
Napsal: 27 říj 2006 13:18
od Olorea
dekuju, tamto z jsem vyresila filtrem a kaslu na to, ale horsi je, ze bych potrebovala nektery bunky zamknout, coz jsem vyresila vyjmutim nekolika bunek ktery muzou zustat po zamknuti listu otevreny, jenze to mi pak zase nefacha filtrovani, i kdyz mam filtrovany bunky odemknuty

Daji zamknout bunky nejak jednotlive?
Napsal: 27 říj 2006 13:22
od mmmartin
Pokud vím ne. Buˇka se zamkne zamknutím listu, buňky, které musí zůstat v zamčeném listu odemčené, se označují ve formátu, ale to jistě víš sama

Napsal: 27 říj 2006 13:25
od mmmartin
Asi by pomohlo makro, který by napřed odemklo list, pak aplikovalo filtr a zase list zamklo.
Napsal: 27 říj 2006 13:29
od Olorea
no potes koste, jeste makro do toho, ja jsem se makrum chtela vyhnout

ale diky za pomoc

Napsal: 28 říj 2006 12:04
od mikel
Maker se bát nemusíš.

Podívej, jak stručně se to dá vyřešit:
Kód: Vybrat vše
Sub FiltrZero()
ActiveSheet.Unprotect
Set Start = Range("D2")
For Each Mzda In Range(Start, Start.End(xlDown))
If Mzda.Value = 0 Then Mzda.EntireRow.Hidden = True
Next Mzda
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Sub CancelFilter()
ActiveSheet.Unprotect
Cells.EntireRow.Hidden = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
První makro (FiltrZero) odemkne list, skryje všechny řádky s nulovým výsledkem a zamkne zase list. Stačí abys jenom do
Range("D2") napsala místo D2 první buňku s výsledkem, podle tvé tabulky.
Druhé makro (CancelFilter) zase odemkne list, zobrazí všechny skryté řádky a zase list zamkne.
Stačí, aby sis přes panel Formuláře vložila vedle tabulky 2 tlačítka, každému přiřadila jedno z maker, a pak už bude celá záležitost vyřízená jedním klikem na příslušné tlačítko.
