Ahoj,
Hledám řešení, které zjistí, zda je definovaný list zamčen a vrátí např., hodnotu True nebo false.
Zatím se mě nedaří najít způsob,jak to napsat.
VBA - zjištění zamčení listu Vyřešeno
-
- Level 4.5
- Příspěvky: 1547
- Registrován: březen 11
- Bydliště: Drsná Vysočina :D
- Pohlaví:
- Stav:
Offline
Re: VBA - zjištění zamčení listu
Nevím jak list, ale dalo by se podle buňky na listu.
Kód: Vybrat vše
zamek = Sheets("nazev").Range("A1").Locked
Re: VBA - zjištění zamčení listu
Dík, ale není to ono. Sleduje to zda je v nabídce formát buňky - záložka zámek zaškrtlé políško "zámek". Tzn., bez ohledu na zamknutí listu, hlásí stav buňky.
Já v podstatě potřerbuji navázat následujícím makrem, reagující na stav zámku listu.
Já v podstatě potřerbuji navázat následujícím makrem, reagující na stav zámku listu.
Kód: Vybrat vše
If zamek = False Then
Sheets("DS").Select
Exit Sub
End If
-
- Level 4.5
- Příspěvky: 1547
- Registrován: březen 11
- Bydliště: Drsná Vysočina :D
- Pohlaví:
- Stav:
Offline
Re: VBA - zjištění zamčení listu
Tak asi takto.
Najít nějakou buňku do které se pokusit zapsat něco a podle toho jestli to je možné vyhodnotit v makru.
Nejlépe zapsat nic, to aby nebylo vidět pokud to půjde.
Najít nějakou buňku do které se pokusit zapsat něco a podle toho jestli to je možné vyhodnotit v makru.
Nejlépe zapsat nic, to aby nebylo vidět pokud to půjde.
Kód: Vybrat vše
On Error Resume Next
Sheets("nazev").Range("A1") = ""
' run-time-error
If Err.Number = 1004 Then
MsgBox "List zamknut!!"
End If
Re: VBA - zjištění zamčení listu
Ahoj,
díky, vyzkoušel jsem. Bohužel to funguje pouze v případě, když je list zamknutý. To je Ok. V případě, že je list odemknutý, stále to hlásí, že je list zamknut.
Tzn., v mém případě, musím znovu zadat heslo, což nechci, chci pouze list vybrat.
díky, vyzkoušel jsem. Bohužel to funguje pouze v případě, když je list zamknutý. To je Ok. V případě, že je list odemknutý, stále to hlásí, že je list zamknut.
Tzn., v mém případě, musím znovu zadat heslo, což nechci, chci pouze list vybrat.
-
- Level 4.5
- Příspěvky: 1547
- Registrován: březen 11
- Bydliště: Drsná Vysočina :D
- Pohlaví:
- Stav:
Offline
Re: VBA - zjištění zamčení listu
Nevím, ale mě to normálně jde jak na 2003 tak 2010,
list odemknut - hláška se nezobrazí
list zamknut - hláška se zobrazí
list odemknut - hláška se nezobrazí
list zamknut - hláška se zobrazí
Kód: Vybrat vše
On Error Resume Next
Sheets("nazev listu").Range("A1") = "zapis"
' run-time-error
If Err.Number = 1004 Then
MsgBox "List zamknut!!"
End If
Re: VBA - zjištění zamčení listu
Tak jsem našel rozdíl. Pokud je makro pro nový, čistý sešit tak to funguje skvěle. když ho vložím do mojeho sešitu, kde již jsou nějaké funkční objekty, tak nefunguje, viz můj poslední příspěvek.
Přikládám sešit. Jak funguje. Při jeho otevření se zobrazí hlavní stránka, kde vybírám co chci zobrazit. Když vyberu např., DS (tlačítko DS), pak se po zadání hesla zobrazí list DS a Csl. Stejné pro Tlačítko Csl.
Sešit je mnohem rozsáhlejší - trochu jsem ho pro přehlednost ořezal. Když se vrátím na list "Main" a znovu kliknu na tlačítko DS (list DS je již odemknut), znovu to po mě chce heslo. V tomto kód od Cmucha nezafunguje, vnímá list jako zamknutý.
Přikládám sešit. Jak funguje. Při jeho otevření se zobrazí hlavní stránka, kde vybírám co chci zobrazit. Když vyberu např., DS (tlačítko DS), pak se po zadání hesla zobrazí list DS a Csl. Stejné pro Tlačítko Csl.
Sešit je mnohem rozsáhlejší - trochu jsem ho pro přehlednost ořezal. Když se vrátím na list "Main" a znovu kliknu na tlačítko DS (list DS je již odemknut), znovu to po mě chce heslo. V tomto kód od Cmucha nezafunguje, vnímá list jako zamknutý.
- Přílohy
-
- Udrzba_PrehledCidel_Kres.xls
- Vzorový soubor k řešení
- (122.5 KiB) Staženo 28 x
-
- člen HW spec týmu
-
Elite Level 12
- Příspěvky: 16119
- Registrován: květen 08
- Bydliště: České Budějovice
- Pohlaví:
- Stav:
Offline
Re: VBA - zjištění zamčení listu Vyřešeno
Pokud jde jen o zjištění zda je uzamčen či nikoliv, potom
Kód: Vybrat vše
If ActiveSheet.ProtectContents = True Then
MsgBox "Sešit uzamčen"
Else: MsgBox "Není uzamčen"
End If
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?
Chcete si nechat sestavit nový počítač?
Re: VBA - zjištění zamčení listu
díky funguje skvěle.
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti