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
1) proměnná i se musí nastavit na 21 (i = 21), což je sloupec U. Původní verze byla od 1 sloupce.
3)Vždy se zamkne celý list. Buňky, které nechci zamknout, tak u nich přes Formát změním zámek.
Tudíž, jestli chcete zamykat jen některé buňky, označte si celý list (Ctrl+A) a nastavte u nich, aby se nezamykaly. Pak si označte jen ty buňky, které chcete zamykat a ty nastavte na zamknuto. Po zamčení listu se uzamknou jen tyto buňky.
2) později
Ještě mě napadly dvě možnosti, jak si ulehčit přepisování (do budoucna).
1. Potřebuji vytvořit prostor pod tabulkou "Měřidla". Označím si G18:T18, kliknu do označených buněk pravou myší a vyberu možnost "Vložit buňky" a následně "Posunout dolů". Tímto krokem se mi tabulka "Rozsahy" posune o jeden řádek dolů a automaticky se změní i jednotlivé odkazy v posunuté tabulce. Tímto si vytvořím jednoduše pprostor pro zvětšení tabulky "Měřidla"
2. Použít pojmenování oblasti (nevím jak se to správně jmenuje) takže např. Seznamy!$G$20:$G$33 si pojmenuji jak "rozsah". Toto pak použiji ve vzorečku, kdy místo: =POSUN(POSUN(Seznamy!$G$20:$G$33;;Index... použiji =POSUN(POSUN(rozsah;;Index... Logicky pak místo přepisování vzorečku upravím parametry pojmenované oblasti.
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.