Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  4 5 6 7 8 9 10 11 12   další » ... 17

Já taky přidám řešení. (@Mosquito: opravdu nesoupeřím, kdo má lepší řešení 3 )
Už před 1,5 rokem jsem pro sebe dělal to samé! A zjistil jsem, že potřebuju přidávat do listu další sloupce a skrývání tím přestane fungovat.
Proto v příloze je navíc ještě univerzálnější řešení, kde se skrývaný sloupec hledá podle textu.

Mohlo by fungovat tohle:
ReDim Docasna_promenna(Range("Zkratky").Cells.Count - 1)
For i = 1 To Range("Zkratky").Cells.Count
Docasna_promenna(i - 1) = Range("Zkratky").Cells(i).Value
Next i

@Mosquito
Nespustí se? Já to dělám na Win7 64-bit, Excel 2010,2013 32-bit. Nevím. Mělo by to fungovat.
Neříkám lepší makro. Ale k určení složky je u mě vhodnější dialog, kde se ukáže přímo adresář a je to jednoznačné.
Když jsem zkoušel tvoje řešení, z UserForm "vyberte cestu",
1.pokus: vyberu C:\Temp, řádek Název složky = Temp, stisknu OK a napíše to "žádná složka"
2.pokus: to samé + ještě rozkliknu v okně Temp >> OK >> zase "žádná složka"
3.pokus: to samé + navíc ještě v Temp označím podadresář, třeba ABC, v řádku Název složky = ABC >> OK >> a v Userform je teprve cesta C:\Temp. Divné.

Makro na promazání v jedné úrovni jsem měl v pátek v poledne a začal to vylepšovat na podsložky. Ale Mosqito mě předešel, dal sem soubor, tak jsem to zabalil.
Teď jsem to tedy dotáhnul, i pro sebe, abych konečně víc pochopil, jak to funguje.
Základem je totiž soubor, který jsem kdysi našel někde na netu, původně dělal seznam souborů z adresářů dle přípony. Už sem ho sem taky pro někoho dával. Snad někdo neřekne, že se chlubím cizím peřím.
Předělal jsem ho na mazání, snad to bude ono.
Proti Mosqitovu řešení je tu asi lepší výběr složky, ten jeho líp pasuje na výběr souboru. A tu chybu mi to dává taky, je to něco s hledáním.
Vyzkoušej, ale pozor! Je to přeci jen mazání! 5

Pokud to má být opravdu jen na tuto zadanou oblast, tak např.
Sub kopirovat_oblast()
pocet = InputBox("Kolikrát vložit oblast?")
If Not (IsNumeric(pocet)) Then Exit Sub
If pocet <= 0 Then Exit Sub
For i = 6 To 3 + 3 * pocet Step 3
Range("A3:D5").Copy Cells(i, 1)
Next i
End Sub

Já jsem právě v souboru pro čtení přidání záznamu zakázal. S prací nad jedním souborem nemám zkušenosti, moc si to nedovedu představit, nemám to ani kde vyzkoušet. Obávám se, že už víc nepomůžu. 7

Zkusil jsem to vylepšit:
- kontroluje, zda je sešit jen pro čtení. Když ano, dá hlášku a makro skončí
- kontroluje, zda cílový soubor existuje. Když ano, zeptá se, zda přepsat nebo ne. Je možná varianta, aby se neptal a nikdy nepřepsal existující soubor. Ale to, že dá vědět o souboru, upozorní na to, že je něco divně.
- na konci makra samo uloží soubor, aby souhlasily záznamy se soubory

Trochu jsem to poupravil. Adresář může být rozbalen kdekoliv, podadresář a krycí soubor musí mít tato jména. "Ulož jako" jsem nahradil kopírováním, odpadá tím rozeznání jména souboru a pořadí se bere z tabulky. Vyhovuje?

Přidat hypertext.odkazy asi půjde.
Ale v příloze se nějak nevyznám. Co to má dělat? Hlavně makro na uložení dalšího souboru bych nedával do ThisWorkbook, ale do modulu. Proč dvě tlačítka? Tlačítko "Vyplnění funkce" přednastaví x-řádků dopředu se vzorci, ale nejsou k nim přeuložené soubory, tak jaké hyp.odkazy?
Tlačítko "Nový záznam" uloží nový soubor s posledním číslem a zafunguje nový řádek, tedy pod tohle tlačítko dodělat ten hyp.odkaz?
Nechci měnit vize, ale šlo by jedním tlačítkem přidat zadaný počet záznamů, ke kterým by se uložil správný počet souborů a přibyl správný počet řádků i se vzorci a odkazy.

Problém bude nejspíš v tom počítání souborů v adresáři. U mě to funguje i při prvním puštění správně. Smyčka Do - Loop spočítá všechny .xls mimo "krycí list". Vypadá to na jeden další .xls v adresáři, nebo je tam i 0.xls ? Zkus to otestovat jen se soubory 1,2,3, + krycí list.

Zkusil jsem něco vytvořit.
Soubor v příloze přidej do adresáře se soubory. Předpokladem je souvislá řada souborů .xls bez vynechání čísla! Mimo tyto soubory s číselným názvem a "krycí list" by tam neměly být jiné soubory .xls, ale můžou být jiné soubory Excelu (xlxs, xlsm).

Něco jsem zkusil, vyzkoušej.
Makro1 je nahrané, jako Data/Načíst externí data/Z textu - oddělovač středník. Tam je v makru napevno cesta k souborům D:\Temp, když jsou soubory jinde, je nutné to přepsat.
Makro Import vychází z mého souboru, kde načítám více *.csv Ukáže se adresář a makro z něho načte v cyklu všechny soubory csv. Upravil jsem na počet sloupců 7.
Data dá na aktuální list, který by měl být prázdný. Uložení a pojmenování souboru už je na tobě.

Třeba takto.

Skrýt nepoužívané sloupce, řádky?
Označit první sloupec ke skrytí. Stisknout a držet Shift, pak End, pak Šipka vpravo. Tím se označí sloupce do konce rozsahu, pak pravá myš, v menu vybrat Skrýt.
To samé pro řádky, jen se Šipkou dolů.

Děkuji. Objevily se přede mnou nové obzory, ale jsou hooodně daleko.
Nějak jsem to rozchodil, ale otázek by bylo... chtěl bych si ujasnit:
Set txt1.txtUni = TextBox1txt1 je název nově vytvořeného objektu?
txtUni je název nově vytvořené události v modulu class? nebo co tento název představuje?
Znám zápis: Set proměnná=objekt , proměnná.něco se vztahuje jen k tomu modulu Class nebo se dá použít vždycky, a na co?


Strana:  1 ... « předchozí  4 5 6 7 8 9 10 11 12   další » ... 17

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

Kontrola návaznosti dat

Alfan • 7.12. 9:18

Vymazat buňky v následujících listech

pepča • 6.12. 20:57

Vymazat buňky v následujících listech

elninoslov • 6.12. 10:22

Vymazat buňky v následujících listech

pepča • 6.12. 9:32

Vymazat buňky v následujících listech

elninoslov • 6.12. 7:58

Vymazat buňky v následujících listech

pepča • 5.12. 23:01

Náhodné hodnoty

Cizek5 • 5.12. 14:14