< návrat zpět

MS Excel


Téma: VBA automatické zamknutí buňky s podmínkou rss

Zaslal/a 16.9.2018 9:49

Ahoj,
vím, že toto téma už tu bylo, ale bohužel ne tak, jak potřebuji.
Jedná se o to, buňka zpočátku není prázdná, obsahuje např. hodnotu "BBB". Po vyplnění výrazem "CCC" nebo "DDD" (jeden nebo druhý) se zamkne, tedy získá ve formátu buňky zámek, ne však celý sešit. Ten by se zamknul ručně po vyplnění více buněk.
Ještě jinak, buňku, ve které bylo původně "BBB" (tohle vepsal někdo v zamknutém listu), a byla odemknutá, vepíšu "CCC" nebo "DDD" (jeden nebo druhý výraz v již odemknutém listu) a tím se buňka uzamkne, tedy získá ve formátu buňky zámek. Nakonec se list ručně zamkne.
O výraz "BBB" se ani nejedná, spíše o to, že buňka bude již vyplněná. Naopak doplnění výrazu "CCC" nebo "DDD" zapříčiní zamknutí v odemknutém listu.
Díky

Doposud jsem našel, že v zamčeném sešitě někdo něco vypíše, to ale musí vypsat heslo pro odemknutí listu. Nechci, aby se v zamknutém listu při vypisování "BBB" muselo heslo vypisovat, odemykat list atd., jen se do buňky prostě zapíše.

Poradí někdo?

Zaslat odpověď >

Strana:  1 2   další »
#041524
avatar
To si budeš muset naprogramovat vlastní zámek listu, toto vestavěná funkce zámku v Excelu nedokáže...citovat
#041526
avatar
Potřebuji jen zamknout buňku po vypsání určité hodnoty. List nechci vůbec řešit, pokud tedy nemusím...citovat
#041531
Stalker
Zámek buňky není aktivní pokud se nezamkne celý list.citovat
#041532
avatar
Já vím, ale list si zamknu vždy sám, jen potřebuji, aby se u buňky, když do ní vepíšu určitý text (bude to jedna nebo několik buněk), aby se u ní změnilo automaticky ve svém formátu buňky na zakliknutí uzamčeno. Až zamknu list, projeví se zámek u těchto buněk sám, to potřebuji.citovat
#041533
Stalker
Stále ten Tvůj systém nepobírám. Defaultně je u všech buněk na listu zámek aktivní nebo sis to nastavil jinak? To vlastně naráží na toto:

"Nechci, aby se v zamknutém listu při vypisování "BBB" muselo heslo vypisovat, odemykat list atd., jen se do buňky prostě zapíše."

"jen potřebuji, aby se u buňky, když do ní vepíšu určitý text (bude to jedna nebo několik buněk), aby se u ní změnilo"

A prozradíš nám jaké buňky se mají hlídat? Nebo se má jednat o oblast buněk?citovat
#041534
avatar
Keďže mi tu borci nedávno pomáhali s podobným problémom, viem asi ako, len sa mi to nedarí spraviť 1 . Asi som na to ešte slabý. Ale postup by som vedel:

Počítam, že heslo na odomknutie listu je všeobecne známe, tak sa dá zakomponovať do makier.

1. Všetky bunky LISTU sú majú nastavenú ochranu uzamknutím
2. TLAČÍTKO1 - ZAMKNI BUNKY: najskôr odomkne všetky bunky, označí celý rozsah tabulky a zamkne označené bunky ( celý obsah ).
3. UDALOSŤ LISTU: v stĺpci povedzme A pri zmene hodnoty bunky na CCC alebo DDD odomkne všetky bunky a zamkne len tie, ktoré majú tieto hodnoty.
4. TLAČÍTKO2 - ODOMKNI BUNKY: odomkne všetky bunky a následne zamkne tie, ktoré majú hodnoty CCC alebo DDD.


čiže: Otvorím súbor, ktorý je zamknutý. Stlačím TLAČÍTKO2 - ODOMKNI BUNKY a odomkne mi všetky, okrem tých s uvedenými hodnotami.
- pracujem, ak zmením ďalšie hodnoty na CCC alebo DDD, nastane UDALOSŤ LISTU
- skončím, stlačím TLAČÍTKO1 - ZAMKNI BUNKY a LIST zostane uzamknutý celý.
- keď budem predsa len chcieť zmeniť uzamknuté bunky s uvedenými hodnotami ( pri chybe a pod. ), zruším len zabezpečenie listu a zmením ich.


Niečo mi funguje, niečo nie, ešte sa s tým hrám, ale asi to už dnes nedám, posteľ volá 1citovat
#041535
avatar
Tak ještě upřesním. Je zamknutý sešit, ve kterém jsou určité buňky odemknuté a prázdné. Do nich se může zapsat třeba "BBB". Zapisuje tam kdokoliv a sešit není cílem odemykat. Jednou za čas sešit odemknu, a přepíšu hodnoty na "CCC" nebo "DDD". Tímto zápisem se tyto buňky musí dostat do formátu se zámkem. Já pak sešit zamknu sám a buňky jsou již nedotknutelné.
Já to nedokážu, ale když to někdo tady dokázal i v zamknutém sešitu, myslel jsem, že tohle bude ještě jednodušší. Možná to špatně vysvětluji nebo chci něco, co je možná nemožné.citovat
#041536
Stalker
Nelze měnit vlastnosti buněk v zamknutém listu (i když mají buňky neaktivní zámek).
V kódu je potřeba před změnou zámku list odemknout, změnit nastavení zámku a opět list zamknout.
Příloha: zip41536_zamek.zip (13kB, staženo 31x)
citovat
#041538
avatar
Prosím o správné pochopení. Přece píšu, že změna buňky má proběhnout v odemknutém listu. Představte si, že ho nebudu zkrátka nebudu prozatím zamykat vůbec, je jedno,jestli se zámek projeví, až list zamknu, projeví se. Jen chci změnit nastavení buňky na zámek v NEZAMKNUTÉM LISTU. Pracuji s nezamknutým listem.citovat
#041539
Stalker
Dobrá poslední pokus. Makro se neustále spouští při každé změně a jaksi netuší, že před monitorem trůníš zrovna Ty. Proto furt laboruji s tím zámkem.
Viz: "Je zamknutý sešit, ve kterém jsou určité buňky odemknuté a prázdné. Do nich se může zapsat třeba "BBB". Zapisuje tam kdokoliv"
Tudíž hlídá aktuálně vybranou buňku jestli neobsahuje kýžený text "CCC" nebo "DDD"

V příloze je soubor s upraveným kódem. Pokud bude list zamknutý nebude docházet ke kontrole hodnot. To znamená, že pokud "někdo" náhodou zadá tebou hlídané hodnoty, nic se nestane. Ke změnám zámků buněk, tedy kontrole hlídaných hodnot bude docházet jen tehdy pokud bude list odemknut (což bys měl být podle svých slov Ty).
Příloha: zip41539_zamek-2.zip (11kB, staženo 105x)
citovat

Strana:  1 2   další »

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