Příspěvky uživatele


< návrat zpět

Strana:  « předchozí  1 2 3 4 5 6 7 8   další »

Tak snad již mám řešení, které už snad funguje.

...
ActiveSheet.Unprotect Password:="123"

...
ActiveSheet.Protect Password:="123", AllowFormattingCells:=True, AllowFiltering:=True, DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlLockedCells
Application.EnableEvents = True
End Sub

Pohyb mi umožňuje NoRestriction, ale to mi zase zablokuje zámek v poslední buňce. 4 7

ActiveSheet.Protect Password:="123", AllowFormattingCells:=True, AllowFiltering:=True, DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlNoRestrictions
Application.EnableEvents = True
End Sub

MilaF napsal/a:

Do A2:T501 se budou nahrávat data, se kterými bude dále pracovat konkrétní pracovník.
ostatní pracovníci budou pracovat v oranžové části U:AE, ale měli by mít možnost vidět data v A:T.
Zámek jsem již zkusil, ale když A:T označím jako odemčeno, tak pak je celá oblast přístupná pro editaci všem, což nemá být.
Není to náhodou v "Next cell", že přeskočí na nejbližší "volnou" buňku a vynechává právě ty uzamčené?

Do A2:T501 se budou nahrávat data, se kterými bude dále pracovat konkrétní pracovník.
ostatní pracovníci budou pracovat v oranžové části U:AE, ale měli by mít možnost vidět data v A:T.
Zámek jsem již zkusil, ale když A:T označím jako odemčeno, tak pak je celá oblast přístupná pro editaci všem, což nemá být.
Není to náhodou v "Next cell", že přeskočí na nejbližší "volnou" buňku a vynechává právě ty uzamčené?

Jiří497 napsal/a:

V předchozím příspěvku jsi psal: Event. bych potřeboval zamknout při vkládání dat oblast A2:T501. Takže změna?
Takže:
1. Odemknout list
2. Označit oblast, která má být přístupná ( např. A1:B501)
3. Formát buněk, zámek
4. Zrušit zaškrtnutí "uzamknout"

Tam kde je zámek, se po uzamknutí listu nedá dostat

Jirko, moc děkuji za řešení. 1
Už snad jen poslední věc. Tím, že je list uzamčen, není možné se šipkami posouvat vpravo a vlevo po celém sešitě. Uživatel má možnost se posouvat jen ve zpřístupněných žlutých polích. To, že je část A-T uzamčena se hodí, ale potřebuji, aby se uživatel měl možnost po řádku posouvat i na začátek souboru, např. do A1, atd... 4
Předpokládám, že je to jen nějaká drobnost, ale nevím, kde.

Jiří497 napsal/a:

Nová verze: pokud se do buňky ve sloupci U zapíše text, tak se uzamkne a nejde ji změnit (samozřejmě, že po odemčení listu půjde).

Musel jsem při zamčení listu nastavit, aby nebylo možno vybrat zamčené buňky, protože jinak šlo změnit i zamčenou buňku. Nepřišel jsem na to čím to je. Jestli to souvisí s dalším kódem nebo jestli je to kvůli "Ověření dat" na buňce... netuším. Zkušenější asi budou vědět.Příloha: 47665_mf_ciselniky-kontrola-zamku2.zip (32kB, staženo 2x)

Dobrý den,

obracím se na Vás s dotazem, jak upravit VBA kód, kde mám nadefinovaný zámek buňky v sloupci AE.

Dotaz je takový, že pokud se vybere hodnota (jméno) v sloupci U, pak se daná buňka s vyplněným jménem musí uzamknout a nesmí být přístupná pro další editaci. Např. v je vyplněno jméno v U5, tak již nesmí být možnost vybrat jiné jméno v U5).

Našel jsem si toto řešení, které funguje,

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set xRg = Intersect(Range("U2:U10"), Target)
If xRg Is Nothing Then Exit Sub
Target.Worksheet.Unprotect Password:="MilaF"
If xRg.Value <> mStr Then xRg.Locked = True
Target.Worksheet.Protect Password:="MilaF", AllowFiltering:=True
End Sub


ale zamyká mi pak celý sešit a nefunguje mi pak vkládání data do buněk AE, na které je již napsané jiné makro.
Potřeboval bych to ideálně udělat tak, aby se mi ohledně zámku buněk v U nezamykal sešit, ale jen právě ta konkrétní buňka U a nešla dále editovat.
Moc děkuji za pomoc.

SMEKÁM A MOC DĚKUJI ZA POMOC. 9

elninoslov napsal/a:

Nerozumiem, ale skúsim:
=COUNTIF(NOVÉ_xlsm[Měsíc];"*"&TEXT(B7;"[$-cs-CZ]mmmm")&"_"&YEAR(B7)&"*")
=COUNTIF(NOVÉ_xlsm[Měsíc];"*"&HODNOTA.NA.TEXT(B7;"[$-cs-CZ]mmmm")&"_"&ROK(B7)&"*")
=COUNTIFS(NOVÉ_xlsm[Měsíc];"*"&TEXT(B7;"[$-cs-CZ]mmmm")&"_"&YEAR(B7)&"*";NOVÉ_xlsm[Jméno];"<>";NOVÉ_xlsm[KONTROLA];"<>")
=COUNTIFS(NOVÉ_xlsm[Měsíc];"*"&HODNOTA.NA.TEXT(B7;"[$-cs-CZ]mmmm")&"_"&ROK(B7)&"*";NOVÉ_xlsm[Jméno];"<>";NOVÉ_xlsm[KONTROLA];"<>")

Dobrý den,

moc děkuji za vysvětlení.
Mohu ještě poprosit o další "špeky"?

V buňce B7 mám vzorec, ke kterému bych potřeboval doladit další podobné vzorce v B10 a v B11.

Dále si nevím rady, když potřebuji jednoduše doplnit text z B7 do buňky A10, tak mi funkce =CONCAT("Celkem Oaa za ";B7) text data kopíruje jako datum číslo.

Dobrý den,

moc děkuji za řešení. Funguje jak má (pouze alternativa =COUNTA(NOVÉ_xlsm[číslo]) nefunguje.

Mám ještě asi primitivní dotaz, jelikož mi uniká, jak excel pozná, že se jedná o list "2020", když je ve vzorci NOVÉ_xlsm?

elninoslov napsal/a:

=COUNTIFS(NOVÉ_xlsm[Jméno];"<>";NOVÉ_xlsm[KONTROLA];"")
EDIT: Aj ten predošlý je divný, dal by som ho takto:
=COUNTIFS(NOVÉ_xlsm[Jméno];"<>";NOVÉ_xlsm[KONTROLA];">=1.1.2019")
a ten prvý počíta milión riadkov. Načo. Veď odkazujte iba Tabuľku:
=COUNTIF(NOVÉ_xlsm[číslo];"*")
alebo
=COUNTA(NOVÉ_xlsm[číslo])
=POČET2(NOVÉ_xlsm[číslo])

Dobrý den,

můžete mi, prosím, poradit?
V tabulce mám určitá data potřeboval bych znát počet záznamů (řádků, bez záhlaví), pokud platí:
jestliže je záznam v listu 2020 v sloupci V a zároveň je prázdná buňka v sloupci AG, tak aby se řádek započítal.
manuálně si to dokážu vyfiltrovat a zjistit, že výsledek má být 105, ale potřeboval bych na to přijít vzorcem.
=KDYŽ(A(('2020'!V:V)<>"";('2020'!AG:AG)="");COUNTIF('2020'!AG:AG;""))
Někde mám však chybu...., viz příloha 7

Už to mám.
Stačilo jen na chvíli vymazat celý zdrojový kód, upravit si tabulku pro filtrování a pak celý VBA kód znovu nahrát + ještě doplnit do závěru AllowFiltering:=True.

ActiveSheet.Protect AllowFiltering:=True
Application.EnableEvents = True
End Sub
1

Jirko, moc děkuji. Ještě jeden malý detail, ale podstatný. V záhlaví by měl fungovat filtr a nejde tam vložit, dokud neodemknu list. Jakmile nastavím možnost filtru a začnu opět psát data, tak se první řádek pro filtr zamkne a nejde filtr používat 7 . Vím, že to jde obejít možností zamknout list a naklikat povolit automatický filtr, ale to bych tam musel dát heslo. Tabulka s filtrem musí být přístupna uživatelům bez hesla.
Event. bych potřeboval zamknout při vkládání dat oblast A2:T501.

Jiří497 napsal/a:

1) Opraveno (místo i=1 musí být i=21)

2) AE se odemkne jen když je U:Z vyplněno VIP hodnotou a v AA je cokoliv

3) Všechny buňky kromě sloupce AE jsou odemčeny. Tzn. i při zamknutém listu se bude moci psát do kterékoliv buňky (Mimo celého sloupce AE).Příloha: 47418_mf_ciselniky-kontrola-zamku.zip (34kB, staženo 3x)

Dobrý den,
Prosím opět o pomoc.

1) Nyní bych potřeboval zadávat data do polí $U$2:$AD$501 s tím, že data ve sloupcích U:Z jsou povinná a jsou závislá na žlutých buňkách v listu číselníky.
Zdrojový kód VBA jsem upravil pro výše uvedenou oblast, ale z nějakého důvodu mi přestal kontrolovat, zda data z číselníku jsou žlutá (pravdivá pro odemčení zámku). Nyní je zámek závislý na tom, že buňky U:Z jsou vyplněné.

2) Dále bych potřeboval rozšířit vliv zámku i na sloupec AA, kam se bude zadávat nějaká hodnota (buňka nesmí zůstat prázdná; pokud zůstane, AE buňku musí zůstat zamčená).

3) Je možné to celé nastavit tak, aby se zamykaly pouze buňky v AE a ne celý list?

Děkuji za ochotu i pomoc.

Jirko, klobouk dolů. Moc, moc, moc děkuji.
Funguje, jak má.
Jste machr a super!

Jiří497 napsal/a:

Zkuste otestovat.Příloha: 47379_mf_ciselniky.zip (20kB, staženo 2x)

V pohodě, budu rád za nápad, případně i za řešení.
Děkuji.

Jiří497 napsal/a:

Aha, špatně jsem četl a jak jsem viděl žlutá, vztahoval jsem to na buňky A2: F10 listu OHL19.

To by mělo jít, ale nebudu to dělat podle barvy, ale ke každému číselníku vytvořím "Seznam povolených slov",což budou ty žlutě označené.

Ale dostanu se k tomu až v noci nebo zítra.

Problém je v tom, že se buňky musí odemykat na základě žlutých buněk z listu číselníky. Na listu OHL19 jsou v polích A:F pro uživatele k dispozici všechny hodnoty, avšak zámek musí reagovat pouze na ty, které uživatel vybere a které jsou žluté z listu číselníky.

A dále, když už tam je datum ve sloupci L napsané, tak zůstane zapsané, i když se ve stejném řádku nějaká hodnota ze sloupců A:F vymaže. Pokud by k tomu došlo (např. omylem), tak se datum z buňky L musí vymazat a L buňka znovu uzamknout, dokud nejsou splněny podmínky k otevření zámku.
Děkuji za ochotu a pomoc.

Jiří497 napsal/a:

1) Je to VBA. Procedura je umístěna v modulu listu OHL19

2) Pochopil jsem to tak, že v momentě, když se vyplní poslední žluté pole (v jednom řádku), tak se odemkne buňka v daném řádku ve sloupci L.
Kdy tedy má dojít k odemknutí buňky L? Kdykoli vyplním nějakou buňku A:F? Pak mi není jasné, kdy má být buňka L zamknuta.

Vycházím z toho, že když je list prázdný, tak je L uzamknuto. Vyplním hodnoty A1,B1,C1,D1,E1 a F1 a až po vyplnění poslední hodnoty se odemkne buňka L1.
Vyplním B7, D7, E7, F7, A7, C7 (napřeskáčku) a teprve po vyplnění poslední žluté buňky se odemkne L7.


Strana:  « předchozí  1 2 3 4 5 6 7 8   další »

Uživatelské menu

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

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

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

Aktivní diskuse

Vynásobit hodnoty kurzem - Power Query

Alfan • 26.4. 7:56

Relativní cesta - zdroje Power Query

Alfan • 26.4. 7:54

Vynásobit hodnoty kurzem - Power Query

elninoslov • 26.4. 7:54

Vynásobit hodnoty kurzem - Power Query

lubo • 25.4. 19:18

Relativní cesta - zdroje Power Query

elninoslov • 25.4. 15:12

Relativní cesta - zdroje Power Query

Alfan • 25.4. 15:08

Relativní cesta - zdroje Power Query

elninoslov • 25.4. 14:21