Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  7 8 9 10 11 12 13 14 15   další » ... 70

Sakra holka, to jako vážně?!
Ani já ani Veny NEJSME AUTOREM listu HelpSheet!
To je Tvůj skrytý list ve Tvém původním souboru s Tvými vzorci. Tak se mě prosím neptej proč si použila takové vzorce jaké si použila.
Celkově je tam ten list zbytečný. A už vůbec neovlivňuje hodnoty na listu "Hlavní tabulka".
List "Hlavní tabulka NEOBSAHUJE žádné vzorce!

Lebo ked si vytvorím aj list s číslom 10 tak stále mi nedáva hodnoty do hárka2 ani keď kliknem na spustenie makra. Vždy zadá údaj s hlavnej tabulky lebo táto tabuľka slúži len na skopírovanie tejto tabuľky ktorú následne vložím do nového číselneho harka a tu si už zadavam ina údaje do zostatku

Což je blbost, viz můj koment z 9.10.2021 5:47

V souboru orig_tabulka sem upravil část kódu
With Worksheets("Hárok2") nahrazeno za
With Worksheets("Hárok2").Range("C27")
aby se nemusela přepisovat adresa buňky na několika místech v kódu při změně umístění výsledné tabulky.

simona1 napsal/a:

dakujem len som si vsimla ze do harka2 neberie udaje vzdy s posledneho harka 1-31 ale s hlavnej tabulky viete sa mi nato este raz pozriet.dakujem


Ne, to opravdu ne. Makro bere data z posledního listu, tedy listu s názvem 6.
Makro vezme poslední list v souboru, co se týče pořadí a provede kontrolu zda je název listu číslo a zda je rozsah 1 - 31. Pokud nebudou podmínky splněny zobrazí chybovou hlášku.

V Příloze je Tvůj původní soubor který má listy 1-5. Všimni si, že sem nechal zobrazený původně skrytý list HelpSheet, který je přesunut na první pozici z důvodu popsaného výše.
Makro tedy v tomto souboru pracuje s listem 5. Tuto skutečnost si můžeš ověřit zobrazením okna Immediate v editoru VBA a odstraněním apostrofu (komentáře) z řádku kódu - Debug.Print list.Name
Při každém spuštění makra se do okna Immediate zapíše název listu, se kterým se pracovalo.

simona1 napsal/a:

Je este to mozne upravit aby som nemusela zadavat cestu suboru . Dovod je to ze si ukladam zosit za kazdy mesiac podla aktualneho mesiaca a roku napr: Október 2021


???
Makro žádnou cestu k souboru nepoužívá.
Použil sem soubor, který přiložil Veny abys to měla vše pohromadě a taky pro kontrolu výsledků. Popravdě sem ani nějakou cestu k souboru nezaregistroval. Nejspíše je potřeba k PowerQuery, s kterým nejsem kamarád.

simona1 napsal/a:

Dakujem pekne prave v query este neviem pracovat ked chcem nieco upravit mozna este ak by pomohol pan elninoslov s tvorbou VBA


Nejsem sice Elnino, ale podobné téma se tu řešilo nedávno.
https://wall.cz/index.php?m=topic&id=49894
Upravil sem makro použité v předešlém vlákně, snad to bude stačit.

Zdejší web, knihy, youtube. Vlastně se dá říct - internet.

Tak máš pravdu, že SVYHLEDAT je řešením, pokud bude cena za jednotku vždy stejná.
Pokud bude pracovat s cenou rozdílnou (dražší nákup...) má další volbu.

To Lugr
Nevím proč si svůj post smazal.
Upřímně sem čekal s čím přijde tazatelka, ale na Tvůj popud sem vyplodil tohle:viz soubor

Řešení pomocí Dictionary
Jednotlivé položky + jejich součet.

Např. na začátku kódu načíst jednotlivé soubory (sešity) do proměnných a v kódu pracovat s nimi.

To samé si dá přece udělat i s tou částí, jak si má uživatel vybrat. Na začátku se zeptám a pak se podle toho v kódu zařídím.

Nepoužívat "humpolácký kód" a SELECT.

Na prvním listě je filtr zapnut i na sloupci ID, na druhém listě nikoliv.

OB napsal/a:

Ještě prosím o jednu pomoc. Když se stáhnou všechny data ze všech souborů z adresáře DATA do souboru Souhrn02_funguje, ale v listu DataSouboru ve sloupci G jsou příliš "nafouklá" čísla a to vždy o "tři nuly" takže pak umazávám poslední 000, zřejmě je to chyba při převodu z jednotlivých souborů (hodnoty jsou čísla) z adresáře DATA.

Díky.


Bohužel tady neporadím. Chyba nastává při programovém otevření souboru. Pokud soubor otevřu ručně (poklepáním na soubor), dostanu chybovou hlášku o neshodě formátu a přípony. Když potvrdím otevření soubor se otevře a obsahuje hodnoty např. 984, 981, 985 ...

Pokud se tentýž soubor (konkrétně např. 33683975) pouze otevře makrem! Hodnoty jsou uvedeny jako 984000, 981000, 985000 ...
Makro žádné převody hodnot neprovádí, vyjma použití funkce VAL k převodu čísel uložených jako text. Což není tento případ.

Nenapadá mě jiné řešení, než si opatřit jiné vstupní soubory.

Aha, takže Tvůj problém je, že neumíš vyhodnotit podmínku. Do proměnné Volba1 si můžeš narvat co je libo, nebo ji klidně nechat prázdnou (Volba1 = ""). Tvůj zápis Volba1 ="<>" (proměnná tedy obsahuje textový řetězec <>.

If ListZdroj1.Cells(Radek1, 6).Value = Volba1 Then
Tedy:
If ListZdroj1.Cells(Radek1, 6).Value = <> Then
Což je samozřejmě blbost.
Tedy pokud buňka v šestém sloupci neobsahuje hodnotu <>

Vyhodnocovací operátor je přeci v tomto případě =, nikoliv <>.

PS:
Pokud hodláš vyhodnocovat 39 různých hodnot v proměnné, místo IF THEN ELSE, používej SELECT CASE.

Porovnávací operátor <> (Nerovná se) ve VBA samozřejmě funguje.
Problém bude v deklaraci nebo převodu datových typů - (je to 39 různých hodnot, text i číslo)
Je to číslo opravdu číslo? Nebo je to text?

@Veny Ti to už jednou psal, vzorec musí být MATICOVÝ (poznáš to podle toho, že je uzavřen do složených závorek).


Strana:  1 ... « předchozí  7 8 9 10 11 12 13 14 15   další » ... 70

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