Stránka 1 z 1
VBA marko - nastavení filtrů sešitu/souboru při otev
Napsal: 18 čer 2014 14:54
od Karbos
Dobrý den,
potřeboval bych poradit s makrem v MS EXCEL - potřebuji, aby při otevření sešitu byly veškeré filtry nastaveny na zobrazení veškerých hodnot.
Zápis makra:
Sub Auto_open()
On Error Resume Next
ActiveSheet.ShowAllData
End Sub
Sice funguje, ale pouze u nezamčeného sešitu. Sešit potřebuji zamklý (ochrana proti smazání vzorců,...) a tam už to nefunguje. Umíte někdo vyřešit?
Díky
Re: VBA marko - nastavení filtrů sešitu/souboru při otev
Napsal: 18 čer 2014 15:23
od Azuzula
Ahoj, je to jednoduché
V tomhle pomůže i záznamník maker
Odemknout list, provést úpravy a list zase zamknout. Záznamník bohužel heslo nanahraje, tak ti přikládám ukázku jak by to mělo vypadat.
Kód: Vybrat vše
Sub Auto_open()
On Error Resume Next
ActiveSheet.Unprotect Password:="heslo"
ActiveSheet.ShowAllData
ActiveSheet.Protect Password:="heslo"
End Sub
Re: VBA marko - nastavení filtrů sešitu/souboru při otev
Napsal: 18 čer 2014 16:21
od Karbos
Ahoj,
tohle funguje, fajn.
Problémy jsou ale dva:
- i při zamčení listu a sešitu se uživatel dostane do VBA editoru a vidí heslo, dokonce odsraní makro!
- makro odemkne soubor, provede akci a zavře. Při uzamčení sešitu nerespektuje volby posledního uzamčení v menu "akce povolené všem uživatelůmn listu" , což v mém případě znamená, že nepovolí např. používat automatický filtr.
V makrech začínám, asi jsou to dost laický dotazy...
Re: VBA marko - nastavení filtrů sešitu/souboru při otev Vyřešeno
Napsal: 18 čer 2014 17:36
od Azuzula
Metoda Protect má spoustu nastavení která stačí přidat, pro povolení filtrace bude vypadat následovně
Kód: Vybrat vše
ActiveSheet.Protect Password:="heslo", AllowFiltering:=True
V nápovědě pod heslem "worksheet.protect method" nebo na
http://msdn.microsoft.com/en-us/library ... 15%29.aspx se dozvíš všechny nastavitelné parametry metody protect.
Přístup do modulu VBA se dá zaheslovat, aby se tam nedostala neoprávněná osoba.
Menu "Tools" > "VBAprojectProperties" > záložka "Protection" > zaškrtnout "Lock project for viewing" + zadat heslo
Re: VBA marko - nastavení filtrů sešitu/souboru při otev
Napsal: 18 čer 2014 20:43
od cmuch
Jen pro doplnění.
Práci se zamknutým listem můžeš v makru nastavit takto, napsat hned na začátem makra.
Nemusí se psát Unprotect a pak Protect.
Kód: Vybrat vše
ActiveSheet.Protect Password:="heslo", UserInterfaceOnly:=True
To jak se má zamknutý list chovat si můžeš nastavit ručně ( karta Revize - Zamknout list ), nemusíš vypisovat v makru.
Re: VBA marko - nastavení filtrů sešitu/souboru při otev
Napsal: 19 čer 2014 08:23
od Karbos
Super, díky. Hlavně ta stránka s nápovědou řeší mnohé:-)