Příspěvky uživatele


< návrat zpět

Strana:  « předchozí  1 2 3 4 5 6 7 8

Zdravím , potřeboval bych použít makro , které se spustí samo po otevření sešitu, aniž bych cokoliv musel spouštět. Stačí mi příklad např. přepnutí z listu2 na list1

Chtěl bych se zeptat , jak vytvořím po spuštění makra např. k listu1 dalších třeba 10 listů s názvy třeba data1-data10? a pokud bude tento sešit obsahovat např. listy data1-data8 smazat tyto nadefinované listy a pak následně znova vytvořit listy data1-data10.

Chybí vám tam přípony těch souborů , ze kterých to chcete tahat....ve vašem případě
např. soubory = Array("sesit1.xls", "sesit2.xls", ... )
podmínkou je aby tyto sešity samozřejmě existovaly.
Navíc záložky se musí taky jmenovat sesit1.xls a sesit2.xls.

Pokud by jste to chtěl nechat jak to máte , tak soubory na disku by nesměly mít žádnou příponu xls , tedy jen sesit1 a sesit2 , sám jsem to bez přípon netestoval , tak snad by to takto fungovalo taky , problém by byl jen ten , že windows by nevěděl čím otevřít soubor bez přípony , ale to je jen technická maličkost.

Pro zajímavost já to mám takto:

Sub copy_data_from_files()
'Zkopírování dat ze souborů
Dim soubory, soubor, nazev_souboru, tento_soubor As String
Dim i As Variant
Application.ScreenUpdating = False
soubory = Array("benesov.xls", "breclav.xls", "brno.xls", "bruntal.xls", "cbudejovice.xls", "chomutov.xls", "clipa.xls", "decin.xls", "dubnany.xls", "frydek.xls", "hodonin.xls", "hradec.xls", "jablonec.xls", "jihlava.xls", "kladno.xls", "kolin.xls", "kromeriz.xls", "kvary.xls", "liberec.xls", "louny.xls", "mboleslav.xls", "melnik.xls", "njicin.xls", "olomouc.xls", "opava.xls", "ostrava.xls", "pardubice.xls", "pisek.xls", "plzen.xls", "praha.xls", "pribram.xls", "prostejov.xls", "sumperk.xls", "svitavy.xls", "tabor.xls", "teplice.xls", "trebic.xls", "trutnov.xls", "ustinl.xls", "zlin.xls")

tento_soubor = ThisWorkbook.Name

For Each i In soubory

soubor = i
nazev_souboru = ThisWorkbook.Path + "\" & soubor

Set wb = Workbooks.Open(Filename:=nazev_souboru)
Cells.Select
Selection.Copy

Windows(tento_soubor).Activate
Sheets(soubor).Select
Range("A1").Select
ActiveSheet.Paste


Windows(soubor).Activate
Application.CutCopyMode = False
ActiveWindow.Close SaveChanges:=False

Next

Windows(tento_soubor).Activate
Application.ScreenUpdating = True
Sheets("vyhodnoceni").Select
End Sub

Už jsem se zaradoval , jak skvěle elegantní , ale počítá to blbě , do přílohy jsem hodil ručně mnou vypočítané hodnoty , jak to vychází vám a jak mě , ale vám to neustále narůstá , což není pravda. Je to vidět u černé náplně , kde se to liší , já to hodil do listu 2 jak jsem to řešil já , je to sice funkční , nicméně takové neelegantní. pomůžete co s tím?

Mám problém s výpočtem počtu výtisků a počtu dní měněných cardtridgí tiskáren. Např. z této tabulky:

kde typ je typ zda černá (B), žlutá (Y) atd...
a strany jsou celkové strany vytištěné na tiskárně , chtěl bych to prohledat smerěm nahoru a spočítat počty stran od poslední výměny ke konkrétní barvě náplně a počet dní , od poslední výměny. Čili by se hledalo např. B směrem nahoru další B a pak se odečetli jednotlivé hodnoty z rádků. Poradí někdo jak na to?

prosím ještě o nakopnutí s tímto příkladem:

kdyby se mi ty soubory jmenovaly třeba zlin.xls , praha.xls , brno.xls , luhacovice.xls atd... pak listy v tom vyhodnocovacím listu by měly shodné názvy s těmito soubory ??? nebo stačí aby se jmenovaly jen zlin , praha , brno atd...?? , nebo by se nějak dalo zabezpečit aby se ty listy samy vytvářely a plnily těmi dílčími xls soubory ? A moc prosím jak by vypadal ten celý zápis makra v tomto příkladu?, jsem v tomhle laik.
Děkuji zdvořile za odpověď a pomoc.

tohle je makro? to by se dalo dát pod nějaké tlačítko načtení dat že? kdyby se mi ty soubory ale jmenovaly jako třeba zlin.xls , praha.xls , brno.xls , luhacovice.xls atd... pak listy by měly shodné názvy s těmito soubory nebo stačí aby se jmenovaly jen zlin , praha atd... a jak by vypadal ten celý zápis toho makra , jsem v tomhle laik , ale tohle by mi zjednodušilo život , nyní to dělám tak , že si otevřu 40 sešitů a do cílového to provážu a pak uložím prostor xlw a otevírám tento prostor a tím se mi otevře všech 40 sešitů , což sice funguje , ale je to docela zvrhlé....

No právě to vím...
mám napsáno =NEPŘÍMÝ.ODKAZ(A1&"!"&C5) kde v A1 je napsáno List2 a pokud do C5 napíšu C5 pak se mi skutečně zobrazí obsah buňky C5 na Listu2 , ale můj dotaz je zda je možné nějak zadat tou buňkou A1 , že to je list2 a dál už volat napřímo ty buňky listu2 čili něco jako ve smyslu jako A1-z listu1&"!"& a C5 z listu2 prostě ne aby mi vznikali další buňky na listu1 pro adresaci kde to leží v listu2....

to by sice šlo , ale jde o to , že bych chtěl tou buňkou A1 řídit ze kterého listu to vlastně chci načíst a buňky jako takové již číst z těchto listů , takle by mi musela existovat tabulka kompletní jakoby adresace , což nechci. viz obr.img

Chtěl bych vědět , jak udělat načtení z několika sešitů cca 40 do 1 centrálního , každý externí xls sešit na svůj list , aniž by pak zůstaly ty externí sešity otevřeny , prostě bych chtěl v centrálním sešitu , aby se mi vytvořilo 40 listů , které budou obsahovat to co každý z těch jednolistových sešitů.


Strana:  « předchozí  1 2 3 4 5 6 7 8

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