Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  7 8 9 10 11 12 13 14 15   další » ... 44

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
Tak jak to máte napsáno tady, tak to zamkne všechny buňky za rok a více.
Dnes je 1.6.2021. Zamknuté budou buňky 2.6.2022, 3.6.2022,4.6.2022...atd.

Jestli chcete mít zamčené buňky 1.6.2021 - 31.5.2022, tak musíte změnit druhé znaménko: If cell.Value >= Date And cell.Value < Date + 365 Then
Sheets(jmenoListu).Cells(cell.Row, 9).Locked = True
End If
tzn. zamkni buňky ve sloupci 9, když je datum ve sloupci 1 stejný nebo větší jak dnešní den a zároveň je menší než datum za 365 dní.

Jestli vám to zamyká jen minulé datumy, tak tam máte zřejmě if cell.Value < Date then nebo tam máte nějaký jiný zádrhel.

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?

Vložit makro do Workbook_Open a nebo z Workbook_Open spustit již vytvořené makro.

Možné to je, ale nejdřív zítra 1

Nebo někdo jiný.

CFC48 napsal/a:

Nic to nedela, tak nevim jestli se to makro vubec spusti.Díky
Samo se nespustí. To mu musíte nějak říct, aby se spustilo 1

Čekal jsem, že pošlete soubor s tím makrem, které vám nefunguje.
Makro jsem vám vložil do modulu. Spouští se tlačítkem z listu. Netuším, jak to má přesně fungovat. Jestli se mají buňky zamknout při otevření sešitu, při uzavření nebo to bude navázané na jiné makro...

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

Když se zaregistrujete a vložíte sbalený soubor, tak se můžeme bavit konkrítně.
Makro nevkládejte do modulu, ale přímo do listu - viz. přiložený obrázek

Soubor není přiložen.
Soubor s makrem se musí sbalit


Strana:  1 ... « předchozí  7 8 9 10 11 12 13 14 15   další » ... 44

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