< návrat zpět

MS Excel


Téma: Zamčení buňky při zavření souboru rss

Zaslal/a 21.3.2013 13:12

Ahoj,
prosím o pomoc zdatnější :-)
Mám v excelu několik sloupců, do kterých se každý měsíc vyplní do jedné buňky hodnota. Po uložení a zavření souboru bych potřebovala, aby se vyplněná buňka uzamčela. Pomůžete mi? Díky

Zaslat odpověď >

Strana:  1 2 3 4   další »
#012408
avatar
Řešení z tohoto fóra by nepomohlo? http://wall.cz/index.php?m=topic&id=950 1citovat
#012411
avatar
Super, díky. Použila jsem:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Locked = False And Target <> "" Then
ActiveSheet.Unprotect
Target.Locked = True
ActiveSheet.Protect
End If
End Sub

Buňky se mi ale zamykají hned po zápisu hodnoty a nejde ji již při překlepu změnit. bylo by možné, aby se uzamčeli až po uložení?citovat
#012417
avatar
Buňky se mi ale zamykají hned po zápisu hodnoty a nejde ji již při překlepu změnit. bylo by možné, aby se uzamčeli až po uložení?

A po tom uzamčení to chceš znovu uložiť? Alebo ako?citovat
icon #012420
avatar
@marjankaj: ja to chápem tak, že nie po uložení, ale pred uložením, čiže vložiť niečo, čo dáva zmysel, do kódu pre BeforeSave event 1 (akurát sa mi to nechce teraz písať, no). Ale videl by som to zhruba tak, že Worksheet_Change využiť pre vytvorenie Range, ktorý by bol načítaný do nejakej premennej a pred uložením vrámci BeforeSave event daný Range zamknúť.citovat
icon #012421
eLCHa
Buňky se mi ale zamykají hned po zápisu hodnoty a nejde ji již při překlepu změnit. bylo by možné, aby se uzamčeli až po uložení?

Moc se mi nelíbí ono uzamčení hned po vyplnění, ale někomu to může vyhovovat.
Nicméně při překlepu jednoduše odemkněte list (viditelně není zaheslovaný, takže žádný problém)- opravte překlep a zase jej zamkněte ;)citovat
#012429
avatar
Do souboru zapisuje více osob, které nemají heslo. V kódu heslo není, ale ve skutečnosti ano, takže není možné soubor odemknout a hodnotu opravit.
Ve výsledku bych potřebovala, aby osoba, která si soubor otevře, mohla zapisovat hodnoty a jakmile soubor uloží a uzavře, budou buňky pro další práci uzamčeny.citovat
icon #012434
avatar
Ve výsledku bych potřebovala, aby osoba, která si soubor otevře, mohla zapisovat hodnoty a jakmile soubor uloží a uzavře, budou buňky pro další práci uzamčeny.
Áno, rozumiem zadaniu, už som Vám naznačil riešenie: potrebujete to napísať do procedúry BeforeSave v kódovom okne ThisWorkbook 1citovat
#012435
avatar
To AL: děkuji za řešení. Bohužel programovat neumím 7 Nemůžeš mi napsat finální podobu kódu? Umím to jen překopírovat 5citovat
icon #012437
avatar
Najbližších pár dní sa k tomu určite nedostanem, bude to musieť buď počkať, alebo sa toho ujme niekto iný. Nie je to síce nič zložité, ale nejaký čas, ktorý momentálne nemám, to i tak zaberie.citovat
icon #012468
avatar
Takže, nejako takto:

Do Modulu vložiť:Option Explicit
Public MyLockedRange As Range
Do kódového okna listu, v ktorom sa to zamykanie vyplnených buniek pred uložením má používať:Private Sub Worksheet_Change(ByVal Target As Range)
If MyLockedRange Is Nothing Then Set MyLockedRange = Target Else Set MyLockedRange = Union(MyLockedRange, Target)
End Sub
Do kódového okna ThisWorkbook:Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.ScreenUpdating = False
Dim SheetToProtect As Worksheet
On Error Resume Next
Set SheetToProtect = MyLockedRange.Parent
SheetToProtect.Unprotect ("HESLO")
MyLockedRange.Locked = True
SheetToProtect.Protect ("HESLO")
Application.ScreenUpdating = True
End Sub

Reťazec HESLO v kóde nahraď skutočným heslom, ktorým máš chránený ten list. Aby to heslo niekto úplne jednoducho nenašiel cez VBA editor, tak môžeš zaheslovať i projekt, ale pokiaľ o to niekto bude skutočne stáť, tak túto ochranu prelomí pomerne jednoduchými technikami.citovat

Strana:  1 2 3 4   další »

Uživatelské menu

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

Menu

Formulář Faktura

Formulář Faktura IV

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

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje