< návrat zpět

MS Excel


Téma: Zámek dat podle datumu rss

Zaslal/a 13.4.2016 19:20

Merlin99Zdravím všechny
Potřeboval bych aby řádky, které mají datum ve sloupci A nižší jak "dnes" aby celé řádky byli zamknuté a čísla nešla přepsat.
Pouze pokud bych napsal dnešní datum tak by se řádek odemknul.

Předpokládám že klasicky to nepude a bude muset být MACRO.. kdyby nekoho neco napadlo díky za nápady.

Příloha: rar31120_pokus-11.rar (8kB, staženo 23x)
Zaslat odpověď >

#031123
avatar
Nemusíte nic zamykat. Do listu vložte následující událostní proceduru
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim N As Long
N = Target.Row
If Target.Rows.Count > 1 Then
Cells(N, 1).Select: Exit Sub
End If
If Cells(N, 1) <> Int(Now) Then
Cells(N, 1).Select: Exit Sub
End If
End Sub
Pak bude možné vybrat buňky pouze v řádku s dnešním datem. Výběr v jiných řádcích povede vždy do sloupce A vybraného řádku.citovat
icon #031125
avatar
vovka, chytré, chválimcitovat
#031126
avatar
Dík za pochvalu. Podobnou filozofii ochrany buněk někdy používám pro ochranu vzorců před nechtěným přepsáním místo zamykání buněk a listů.
Pro laického uživatele Excelu bývá často obtížné udržet pořádek v zámcích na buňkách v kombinaci se stavem listu. Běžné zamčení listu také vyřazuje z použití řadu operací s listem a jemnější nastavení režimu pro zamčený list bývá pro laiky oříšek.
Použití šablony, která chrání existující vzorce testem na výskyt vzorce v aktuální oblasti, žádné speciální nastavování listů nevyžaduje. Navíc zůstávají plně funkční všechny operace, které jsou zamčením listu blokované.
K používání výše zmíněné šablony zatím nemám žádné negativní reakce.citovat
#031127
avatar
Zdravím, je to dobrý nápad, ale zjistil jsem jak tyto buňky přepsat. Stačí potáhnout buňku (y), do které lze zapisovat, směrem nahoru nebo dolů a dílo je hotovo. 4citovat
#031128
avatar
Dík za upozornění, pokusím se s tím "nějak" vyrovnat. Obecně a téměř bezvýhradně platí, že všechno v Excelu lze nějak obelstít. Všem svým excelským partnerům stále tvrdím, že ochrany slouží výhradně k tomu, aby je nešlo porušit nevědomky a nechtěně. Proti těm, kteří chtějí ochrany obejít vědomě a mají na to znalosti, se prostě Excel svými nástroji není schopen ubránit.
Vámi popsaný postup bohužel patří do kategorie, v níž nelze vyloučit blbou náhodu při běžné manipulaci s listem. To je také důvodem, proč se chci pokusit tuto možnost nějak vyřešit. Jinak upozorňuji, že stejnou technikou lze snadno rozbít např. ověřování v buňkách, aniž by Excel proti tomu za celou dobu své existence cokoliv podnikl 7 .citovat
#031129
avatar
Nabízím odpověď s ochranou tabulky před přepsáním dat v důsledku tažení z oblasti mimo tabulku. Jako obvykle vede lepší funkčnost na složitější řešení. Když už jsem si s tím hrál, zobecnil jsem možnou polohu tabulky na listu. Ani to moc nebolelo 1
Příloha: zip31129_ochranatabulky.zip (17kB, staženo 28x)
citovat
#031131
avatar
Zdravím, teď je to dokonalé. Jistě se najde nějaký jiný šikula, který vymyslí něco jiného jak to obejít, ale pro běžného uživatele je to asi dostatečné zabezpečené. Pro vovka.h dávám palec nahoru.
Přeji hezký den.citovat
icon #031132
eLCHa
Sub subUnlockIf()
ActiveSheet.Protect UserInterfaceOnly:=True
Cells.Locked = True
Columns(1).Locked = False
With ActiveSheet.UsedRange.Columns(1)
Range(Application.ConvertFormula("R" & Join(Filter(Evaluate("=TRANSPOSE(IF(" & .Address & ">=" & CLng(Date) & ",ROW(1:" & .Rows.Count & "),""#""))"), "#", False), ",R"), xlR1C1, xlA1, True)).Locked = False
End With 'ActiveSheet.UsedRange.Columns(1)
End Sub


Volat v Open a Changecitovat
#031134
Merlin99
Ty jo tak to se Vám povedlo SUPER práce hned to využiju DíKY MOC všem 9citovat

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