Příspěvky uživatele


< návrat zpět

Strana:  1 2   další »

edit: beru zpět, ještě něco zkusím...

Vovka napsal/a:

Jev, který popisujete, nejspíš souvisí s tím, že z jiného aktivního listu došlo ke změně na listu, k němuž patří ta procedura. V důsledku toho pak špatně zafunguje příkaz
ActiveSheet.Protect Password:="HESLO"
který zamkne list, z nějž byla změna realizována. Doporučuji příkaz upravit na
ThisWorkbook.Sheets("JménoListu").Protect Password:="HESLO"


No, jak by mohlo dojít ke změně z jiného listu, to teda nevím, uživatelé vyplňují list ručně, popřípadě do něj kopírují údaje ze specializovaného SW, maximálně kopírují údaj ze sešitu s makrem do jiného. Ale zamkne se jim úplně klidně i list v sešitu, kam nic nekopírovali. Pro mě je to teda záhada. Ale tato úprava by snad měla mít požadovaný efekt.
Vyzkouším a uvidíme. Každopádně díky.

elninoslov napsal/a:

Odstavte
On Error Resume Next


chybu to neháže, On Error Resume Next je tam kvůli chybě způsobené uživatelem - při špatném vyplnění buňky třeba, asi by existovalo i vhodnější řešení, ale toto je dostačující a makro bez jakéhokoliv zásahu běží dál, což je hlavní

JoKe napsal/a:


Set rngSledovanaOblast = Workbooks("...").Sheets("...").range("H8:N1005")


tohle nevím, můžu zkusit, ale spíš si představuji, že je problém v tom, co už tu vlastně padlo, že se zamyká aktivní list, nikoliv konkrétní list v konkrétním sešitu, všechny kódy na automatické zamykání listu, které google najde, používají Activesheet.protect, takže mně nenapadlo, jestli to jde i jinak..

Změnu na listu provádí pouze uživatel, žádná jiná makra ani jiné sešity s makry se nepoužívají, to vím bezpečně. Problém je, když uživatelé tohoto sešitu potřebují pracovat ještě s jiným sešitem. Občas se jim zamknou listy i v těch jiných sešitech a oni tam pak nemohou psát, což je prostě fatální problém. Včera se dokonce stalo, že se zamknul list ve sdíleném sešitu. To vůbec nechápu. Museli jsme sešit odsdílet a odemknout..

Uf, no, uznávám, že jsem poněkud roztržitý člověk, ale ono do nadpisu už se to stejně delší nevešlo... samozřejmě se zamykají pouze listy v jiných sešitech. Makro mám umístěné v sešitu pouze na listu, který chci zamykat. Tomuhle úplně nerozumím:

Vovka napsal/a:

Pokud zamykám aktivní list, měl bych si ověřit, zda je aktivní právě ten, který chci zamknout.
Makro je na listu, tedy jen a pouze na tom listu, který se má zamykat ve chvíli, kdy na něm proběhne změna a v tu chvíli snad aktivní být musí...? Listy v jiných sešitech se nezamykají úplně stále a pořád a pokaždé, ale jen někdy, bohužel nedokážu ani přibližně určit situaci, kdy k tomu může docházet, protože mně se to nikdy nestalo, děje se to jen kolegům, pro které je sešit určen, ale občas je to docela fatální.

Ahoj, dobrý den,
prosím o pomoc,
mám sešit s makrem na automatické zamykání buněk resp. listu při změně a obrovský problém, protože se stává, že se zde nastaveným heslem zamkne jakýkoliv jiný sešit. Setkal jste se s tím někdo prosím? Čím to může být, kde může být chyba? Přiznávám, že makra až tak moc neumím a u tohoto z velké části nejsem autorem, ale z mé strany v něm nedošlo k velkému zásahu a funguje perfektně. Přikládám makro, které mám v sešitu na listu.
Díky moc

Ono to funguje! Tohle jsem potřeboval. V ideálním případě by při vkládání ctrl+v i při vkládání paste byl napevno daný způsob vložení, ale vyhovět všem asi nelze, dát jim instrukci, že vkládat jen přes ctrl+v, to asi můžu. Většina určitě používá klávesovou zkratku a ostatní se holt přizpůsbí. Teda fakt děkuju, tohle asi vážně můžu použít!

(jinak při copy-paste je možnost vybrat formátování cíle nebo zdroje a to je pro cílovou skupinu prostě složité)

Tak text se z webu nebo jiného software kopíruje normálně přes ctrl+c ctrl+v nebo copy-paste, jen je pořád nutné řešit formátování. A to je právě ten problém.

Z Wordu možná, ale třeba z Exploreru už to nefunguje.
Toto řešení jsem už zkoušel a myslel jsem, že asi dělám něco špatně, ale to co jsi poslal, je úplně stejné. Zřejmě to neumí rozpoznat hodnotu, pokud se kopíruje z programu mimo MS Office.

To s Undo je makro, které sleduje Worksheet Change, hlídá formát a při jeho změně provede krok zpět, zmiňoval ho xlnc.

No to už je opravdu poněkud mimo. Není to hlavní náplň jejich práce, má jim to ulehčit evidenci práce, kterou odvedli, je to kontrola pro ně, částečně je to kontrola systému, že eviduje, co má, a do sešitů může nahlížet i vedení. Jenže to má právě skoro přemrštěné požadavky na to, co všechno má tabulka dělat a umět a přitom vyhovět i požadavkům jednotlivých pracovníků.

Jejich práce nespočívá ve vyplňování tabulky, ta tabulka jim má práci jen ulehčit. Bohužel požadavky vedení jsou takové, že to jde fakt těžce skloubit.

psal jsem to v úvodu, že hodnoty kopírují odevšad možně..

Mám pět sloupců, cca sto řádků. Do části buněk se vyplňují hodnoty z jiného software, část se vyplňuje ručně. Jenže potřebuju, aby vyplnění bylo rychlé, blbuvzdorné a neměnilo formát. Uživatelé sešitu jsou zvyklí na to, že označí buňku, pak dají ctrl+v a šipkou nebo tabulátorem přeskočí na další buňku, kterou vyplní ručně. Když po nich budu chtít, aby ještě odklikávali způsob vložení, to oni prostě dělat nebudou, nebo to budou vorat. už takhle si stěžují, že je list zamčený, že je v něm makro, že nemohou provádět krok zpět a že kdesi cosi, ale to jsou věci, které stojí na požadavku vedení, to nemohu měnit. Tak bych jim rád víc nekomplikoval to vyplňování..

V podstatě by mi stačilo to makro s řešením přes worksheet change a "Undo", jenže to se při provedení undo vrátí do měněné buňky. Což je blbé, protože jak píšu výše, oni prostě automaticky skáčou šipkou, tabulátorem nebo myší jinam, nekoukají na monitor a píšou, takže uvíznou v té hlídané buňce. Betatesterka mi tohle řešení omlátila o hlavu, že je moc komplikované dvakrát sahat na klávesnici, aby se dostala do jiné buňky. Ale je to zatím to nejlepší, co jsem objevil.

Moc děkuju, ale měl jsem to úplně stejně. Potřebuju ošéfovat kopírování z jiného software, ne jen na listu 7 a to pak právě hlásí error.

To jsem už zkoušel 7 Nevím, jestli něco nedělám špatně, jsem dost začátečník, hlásí to error 1004, metoda pastespecial třídy range selhala..

Undo jsem zkoušel a to má právě své ale. Fakt neexistuje jednoduchý způsob, jak tohle při kopírování ohlídat? Jde mi fakt jen o kopírování z jiného sw nebo jiného sešitu a při této akci oni nemohou nic jiného, než vložit bez možnosti výběru jak nebo vložit jinak. Tam by mohli dát jako text, ale to oni prostě dělat nebudou, potřebuju to mít fakt blbuzvdorné. Jak vy řešíte tabulky, které vyplňují klienti nebo zaměstnanci, a kde nechcete, aby se měnil formát?


Strana:  1 2   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

Čas od do

lubo • 19.4. 16:30

Makro smyčka

MilanKop • 19.4. 10:46

Makro smyčka

elninoslov • 19.4. 9:02

Čas od do

elninoslov • 19.4. 8:46

Čas od do

jarek1111 • 18.4. 13:46

Čas od do

lubo • 18.4. 11:13

Čas od do

jarek1111 • 18.4. 8:32