Vyzkoušejte
Ale to je přece v zadání.
Když si otevřu soubor 2.6, tak se zamknou buňky od 2.62021 do 1.6.2022.
Když pak otevřu soubor 3.6, tak se zamknou buňky od 3.6.2021 do 2.6.2021 a to co bylo zamknuté (tedy 2.6.2021), tak zamknuté zůstává.
V přiloženém souboru jsou zamknuty buňky od 4.6.2021.
A co teď?
Nic se nepokazilo. Mně to funguje správně. Vámi uvedené zamknuté buňky se tam musely dostat jinak.
Do kodu jsem doplnil příkaz, který buňku, kterou makro zamyká, tak zároveň přeškrtne. Ať je vidět, s kterými buňkami se pracuje.
CFC48 napsal/a:
cell.Value >= Date And cell.Value > Date + 365 Then
Ještě připomenutí: list je zamčený bez hesla
CFC48 napsal/a:
Bylo by mozné, aby se toto makro spustilo pri kazdem otevreni souboru?
Možné to je, ale nejdřív zítra
Nebo někdo jiný.
CFC48 napsal/a:
Nic to nedela, tak nevim jestli se to makro vubec spusti.Díky
Tak jestli to dělá to co potřebujete, tak je to fajn.
Nějak takhle?
Ještě záleží na tom, jak ta pravidla chcete uplatňovat. Jestli bude jen jedno pravidlo pro všechny buňky nebo na každou buňku jiné pravidlo nebo se bude podle něčeo vybírat...
ActiveCell.Comment.Text Text:=Left(ActiveCell.Comment.Text, 3) nebo ActiveCell.Comment.Text Text:=Replace(ActiveCell.Comment.Text, "f", "7")
Třeba takto. Výsledky zapisuje do buňky.
Jinak mrkněte třeba sem: https://office.lasakovi.com/excel/vba-funkce-vzorce/Textove-funkce-ve-VBA-Excel/
Sub koment()
Range("B1").Value = Range("A1").Comment.Text
'1.
Range("B2").Value = Left(Range("A1").Comment.Text, 3)
'2.
Range("B3").Value = Replace(Range("A1").Comment.Text, "def", "")
'3.
Text = Range("A1").Comment.Text
Range("B4").Value = Left(Text, InStr(1, Text, "(") - 1) & Right(Text, Len(Text) - InStr(1, Text, ")"))
'4.
Range("B5").Value = Replace(Range("A1").Comment.Text, "f", "7")
End Sub
tady v souboru
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
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.