Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  22 23 24 25 26 27 28 29 30   další » ... 44

@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 1 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.

A jaký problém nastane?
Pokud je 7 a 8 název listu, tak musí být v uvozovkách.

Tak to je fakt moc. Já to teď nemám jak vyzkoušet, možná večer. Jestli máte čas můžete zkusit všechny verze. První originál, druhá co neumí soubory bez podtržítka a třetí, co zvládne i soubory bez podtržítka. A porovnat čas zpracování.
A nebo přiložte váš soubor.

A co zkusit: Range("B1").Value = Cells.(Compld.Row, 3).Value

A je to pomalé až po té poslední úpravě? A nebo to trvalo dlouho i předtím?
Já jsem to zkoušel asi na deseti a bylo to hned. Ale bylo to před tou poslední úpravou. Možná se pletu, ale na rychlost by to nemělo mít podstatný vliv. Teda určitě ne na pár souborech.

Tak místo
NoveNazvy(i) = Left(StareNazvy(i), InStr(1, StareNazvy(i), "_", vbTextCompare) - 1)

Použijte toto:
If (InStr(1, StareNazvy(i), "_", vbTextCompare) - 1) > 0 Then
NoveNazvy(i) = Left(StareNazvy(i), InStr(1, StareNazvy(i), "_", vbTextCompare) - 1)
Else
NoveNazvy(i) = StareNazvy(i)
End If
když název nebude obsahovat podtržítko, zůstane nový název stejný jako starý

Co kam kopírovat? Z buňky do buňky:
List1.Range("A1").Value = List2.Range("A1").Value

Přidal jsem do makra dva řádky.
Do funkce GetAllFiles jsem přidal automatické smazání všeho od podtržítka do konce názvu: NoveNazvy(i) = Left(StareNazvy(i), InStr(1, StareNazvy(i), "_", vbTextCompare) - 1)

Pak jsem na konec procedury Sub Pridaj_Click() přidal volání procedury Premenuj_Click. Tato procedura se spouští po stisku tlačítka Premenuj

Takže po stisku tlačítka +Pridaj se objeví okno pro výběr adresáře. Po výběru adresáře se soubory načtou do excelu a hned přejmenují i na disku.

Já myslím, že to předělávat nemusíte.

1. načtete všechny soubory z vybrané složky do sešitu.
2. Změníte si názvy souborů ve sloupci D podobně jak popisoval Nomi u Total Commanderu.
označím si sloupec D9:D?? - názvy souborů
Ctrl+H
V dialogovém okně zadám: Najít: _*
Nahradit: nechat prázdné

Po přejmenování ve sloupci D se po stisknutí tlačítka přejmenují soubory na disku.

zkuste toto:
http://wall.cz/index.php?m=topic&id=24118&page=1#posts

Mě teda vůbec ni nenapadá. Nevidím tam žádnou logiku. Nic čeho bych se mohl chytit.

Dotaz:
Jak se to bude zpracovávat? Dostanu najednou hromadu produktů (viz příklad) s Již zadanou cenou a s Novou cenou třeba za jeden rok a to se zpracuje?

Nebo se průběžně doplňuje Již zadaná cena a Nová cena a po zadání Nové ceny se přidá výsledek...
Prostě potřebuji znát postup, jak vznikne/vzniká soubor, který se má zpracovat.

Buď jsem blbý já nebo je blbý příklad.
Píšete, že přednost má nová cena a přitom ve výsledku uvádíte Novou cenu.
Proč není u produktu 1 cena 8,3, která je nejnižší?
Proč jsou u produktu 1 je dvě rozmezí data a navíc na sebe ani nenavazují.

Předpokládám, že rozmístění bude jiné, než je v příkladu, protože není nikde prostor na zápis více produktů. Příklad má vycházet z reálné situace.

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).

2)
Mám vyplněné U:AA, všechny data jsou VIP a proto je AE odemčené. Smažu obsah AA. Co udělá buňka AE:
a) zamkne se
b) smaže se a zamkne


Strana:  1 ... « předchozí  22 23 24 25 26 27 28 29 30   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