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
Změna je v původním vláknu: http://wall.cz/index.php?m=topic&id=47358&r=1&autolast#post-47665
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.
Možná blbý nápad, ale asi bych vyšel z tohoto makra:
http://wall.cz/index.php?m=topic&id=17836
Jenom bych tam přidal podmínku, aby vypsal jen soubor jehož název najde v některé konkrétní buňce. Nenapadá mě důvod, proč by to nemělo fungovt.
@elninoslov: To je chytré řešení
Jen místo "and" by mělo být "or".
Bod 2 je asi špatně napsaný. Asi tam má být: Pokud bude alespoň jedna z nich obsahovat data - tiskni
Doporučuji použít soubor z tohoto vlákna: http://wall.cz/index.php?m=topic&id=24118&page=1#posts
Do sloupce A vygeneruje cestu a ve sloupci B soubory.
Ručně vymazat všechno co není obrázek. Obrázky (sloupec A a sloupec B) zkopírovat do svého souboru.
Provést ještě jednu úpravu ve svém makru, které je uloženo v listu. Z tohoto strCestaSouborObrazek = Range("R1").Text & "\" & Cells(Target.Cells(1).Row, Target.Cells(1).Column - 1).Text & "\" & Target.Cells(1).Text
vymazat toto Range("R1").Text & "\" & je to hned za znakem "=" a nechat jen toto:
strCestaSouborObrazek = Cells(Target.Cells(1).Row, Target.Cells(1).Column - 1).Text & "\" & Target.Cells(1).Text
No a tento kód říká, že v buňce vlevo vedle názvu obrázku má být uvedený podadresář. tzn.
v A2 nebude nic, protože Slunce 1 je v uvedeném adresáři
v A3 bude Rodina\001 Pejsci, protože Mazlíček (1) je v podadresáří Rodina a dále v podadresáři 001 Pejsci
v A4, A5 a A6 bude to samé
v A7 - A9 bude Rodina\002 Rodina
Ale tam žádná změna oproti původní verzi není nebo ji nevidím.
Anonym psal, že je potřeba uložit dílčí cestu.
Vy jste napsal, že jste to udělal.
Ptám se, kde jsou uvedené ty podsložky?
Stáhnul jsem si Váš příklad z 30.7 17:11.
V proceduře listu máte toto:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
.....
'zdroj obrázku
strCestaSouborObrazek = "C:\Users\Ames\Plocha\ukazka\" & Target.Cells(1).Text
Jestliže tam vložím obrázky, tak to funguje.
Anonym Vám radil vložit cestu třeba do sloupce A. Píšete "Přesně tak jsem to udělal, ale nejde to."
Takže vložte přílohu s tímto posledním souborem a ideálně tam poznačte, co jste "Přesně tak udělal". Pak se dá poradit, kde máte chybu.
Podle mě tam pořád máte natvrdo nastavenou neaktuální cestu.
Tak jsem se hluboce zamyslel a vyplodil tento poloprodukt, tak jak jsem pochopil zadání.
Aby to fungovalo musí vstupní data splňovat:
1. Tabulka s novou cenou (Q:T) musí být sezařena podle produktu (sloupec Q)
2. Tabulka již zadané ceny (J:M) musí být sezařena:
a) podle produktu (sloupec J)
b) v rámci produktu podle datumu Od (sloupec K) "od nejstaršího k nejnovějšímu"
3. V tabulce s novou cenou musí být stejné (a všechny) produkty jako v tabulce se zadanou cenou
1. Označit ve sloupci D soubory, které chci přejmenovat.
2. stisknout klávesy: Ctrl+H
3. V dialogovém menu do kolonky "Najít:" napsat Rodina?
4. Do kolonky "Nahradit:" napsat text Rodina 0
5. Kliknout na "Nahradit vše"
Kdyby něco tak se ozvěte.
Hlavní dík směřujte především @elninoslov. Je to hlavně jeho zásluha.
@mati:
Původní soubor je zde: http://wall.cz/index.php?m=topic&id=24118&page=1#posts
A ano, je od elninoslov a na začátku vlákna to kvůli autorský mprávům i zmiňuji Mimochodem, byl stažený 265x
Makro v originální verzi: po stisku talčítka "Pridaj" si mohu vybrat adresář. Z tohoto adresáře (a všech podadresářů) načte všechny soubory. Ve sloupci D si pak mohu jednotlivé soubory přejmenovat a po stisknutí tlačítka "Premenuj" se tak stane.
CMM-Team měl problém s přejmenováním souborů, tak jsem mu navrhl toto makro, kde jsem udělal jedinou úpravu a to tu, že se při načítání všech souborů automaticky vymaže vše od podtržítká doprava. Automaticky se i "zmáčkne" tlačítko Premenuj a soubory se na disku i přejmenují.
Ještě by se tam mohlo doplnit i automatické zavření souboru, ale nevím, jaké přesné plány s tím CMM-Team má, tak jsem to nechal otevřené i pro případnou kontrolu názvů.
Shrnutí:
- originál načítá všechny soubory z vybraného adresáře a všech podadresářů
- v buňce G6 je omezení na maximální počet souborů 1000 a to si může změnit každý sám
- v originále si soubory přejmenuje každý sám a to ve sloupci D
Stačí takto?
načteno 700 souborů za cca 5 vteřin.
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.