Stránka 1 z 2
Zamknuti Excel
Napsal: 05 bře 2010 10:53
od krtecek909
Dobry den, mam dotaz ohledně MS Excel 2003 , ale muže to byt i na jinou verzi.. Potřebuji aby když se něco zapiše do bunky aby se pak zamkla a uživatel už později nemohl zapis bez hesla nebo už vubec změnit, v praxi- napiše zaměstnanec počet odpracovanych metru ale když si to druhy den rozmysli, už to nedokaže změnit... Děkuji za rady
Re: Zamknuti Excel
Napsal: 05 bře 2010 11:02
od mmmartin
Při zamykání listu je možnost zvolit, že bez zadání hesla list nejde odemknout. Listy by ovšem musel zamykat někdo jiný než ten, kdo tam údaje zadává, aby zadávající heslo neznal.
Re: Zamknuti Excel
Napsal: 05 bře 2010 11:21
od navstevnik
Je nutno nejprve na listu pro vkladani udaju zrusit uzamknuti vsech bunek - rucne nabidka Format>Bunky>Zamek zrusit uzamceni.
Dale je ntuno vlozit dve udalosrni procedury v editoru VBA - Alt+F11:
- udalostni procedura zamykajici tento list pri otevreni sesitu vcetne vlozeni hesla (heslo v procedure si zmen dle potreby), vlozit do modulu Tento_sesit:
Kód: Vybrat vše
Option Explicit
Private Sub Workbook_Open()
Worksheets("list1").Protect Password:="MojeHeslo", UserInterfaceOnly:=True
End Sub
a udalostni proceduru do modulu prislusneho listu, vzhledem k tomu, ze nebyly uvedeny blizssi udaje o oblasti uzamykanych bunek, je uzamknuta po vlozeni udaju kterakoliv bunka na listu:
Kód: Vybrat vše
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Locked = True
End Sub
Zavri sesit a pri novem otevreni je pripraven.
Pokud je potreba omezit oblast uzamykani bunek, vloz do modulu listu tuto proceduru, uprav oblast:
Kód: Vybrat vše
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Me.Range("c1:c100")) Is Nothing Then Exit Sub
Target.Locked = True
End Sub
Re: Zamknuti Excel
Napsal: 05 bře 2010 11:31
od krtecek909
Nevim kde dělam chybu, takže kliknu na Thisworkbook a otevře se mi okno do ktereho vložim ten kod co jste napsal, pak otevřu list jedna a dam tam ten kod na uzamčeni všeho, uložim sešit a vypnu excel, pak pustim napiše mi to že makro je nastaveno na nejvyši uroven, dam ok ale normalně pišu a funguje to
Re: Zamknuti Excel
Napsal: 05 bře 2010 11:36
od navstevnik
V priloze mas sesit, prohledni si reseni
Re: Zamknuti Excel
Napsal: 05 bře 2010 11:39
od krtecek909
Takže tohle už mi funguje tak jako potřebuji ale pouze na bunce A1, pokud zkoušim napsat něco do jine bunky nedovoli mi to, funguje to spravně pouze na A1
Re: Zamknuti Excel
Napsal: 05 bře 2010 11:43
od navstevnik
Mam tomu rozumet tak, ze v prilozenem souboru to to nefunguje?
Re: Zamknuti Excel
Napsal: 05 bře 2010 11:46
od krtecek909
Čisla 100 , 20 a 2 jsou zamknute, potřebuji aby do oblasti A2 až G20 někdo mohl napsat čisla ktera by se po dopsani zamkla.. V přikladu mě to dovoli některaa přepsat a některa nedovoli
Re: Zamknuti Excel
Napsal: 05 bře 2010 11:51
od krtecek909
Takže pokud ty kody zadam podle vaši prvni rady, nikam jinam než do A1 psat nelze , ale když napišu do A1 po dopsani se to zamkne, což je spravně ale potřebuji aby to tak fungovalo na vice bunek než jen na A1
Re: Zamknuti Excel
Napsal: 05 bře 2010 12:00
od navstevnik
Neopdpovedel jsi na oatzku, nefunguje to v prilozenem sesitu?
V priloze je sesit s rozsahem bunek A2:G20 na listu1
A nezapomen si nastavit zabezpeceni pro otevirani sesitu s makry na stredni hodnotu; nabidka Nastoje>Makro>Zabezpeceni> vybrat stredni; pro Excel 2007 je to trochu jinak
Re: Zamknuti Excel
Napsal: 05 bře 2010 12:18
od krtecek909
Nevim kde je chyba, ale na vašem přikladu mi to funguje spravně pouze ve sloupci C
Re: Zamknuti Excel
Napsal: 05 bře 2010 12:53
od navstevnik
Pred vyse uvedenou procedurou jsem napsal: "...,uprav oblast:"
No v priloze mas jeste upraveny soubor. Pokud nejsou pri otevreni povolena makra, zobrazi se pouze Uvodnilist, list1 je skryt. Pokud jsou povolena makra, zobrazi se list1, Uvodnilist je skryt. Heslo pro Uvodnilist je MojeHeslo, zmen si dle potreby.
Pro zabraneni zjisteni hesla v projektu VBA muzes projekt take uzamknout. V editoru VBA: nabidka Tools>VBAProject Properties...>karta Protection>zafajfkovat Look project for viewing a dvakrat vlozit heslo>OK
Dale jsou pri uzavirani sesitu ulozeny zmeny.
PS: 14:45 - Opravena chyba v priloze, nova priloha: