Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  143 144 145 146 147 148 149 150 151   další » ... 298

Ako vraví veny. Na toto je makro zbytočné. Text s upozornením cez vzorec, kontrola stavu cez vzorec, a farbenie cez PF.

Priložte prílohu. Cítim z popisu, že chcete vytvoriť kompletný sklad. To ľahké mať teda nebudete. Jednotky kg, ks, m3, lit, a podobne nevkladajte makrom. Pri každej skladovej položke majte záznam akú má jednotku, a môžete to dohľadať VLOOKUP-om rovnako ako ostatné info o tovare (cena, počet na sklade...)

Príklad. Príde Vám to divné ? Mne áno. Čo majú robiť tie makrá ? Ak to isté len s inými dátami, viazanými na zmenené bunky, tak treba použiť parametrizovanú procedúru a nie 30 skoro rovnakých makier. Ďalej treba špecifikovať, či tých 30 makier vplýva tiež na výpočty (nastane duplikovanie evidencie zmien - preto EnableEvents=False). Princíp je v tom, že sa musí pri každom prepočte listu zistiť voči skrytému listu so starými hodnotami, zoznam zmien. Tieto zmeny sa uložia do kolekcie, ktorá sa potom Kontrolou spracuje a volá makro podľa čísla.

PS OT: Tak nech sa všetci držíme v novom roku lepšie ako v starom :)

Už je skoro ráno, idem spať. Návrh otestujte, dajte vedieť.

Súbor - Možnosti - Údaje - Zobrazenie starších sprievodcov na import údajov - Z textu (staršia verzia)

Pravý klik na kartu Údaje - Prispôsobiť pás s nástrojmi - Získať a transformovať údaje - Nová skupina - pravý klik na ňu - Premenovať skupinu ("Starý import" bez úvodzoviek)

Oblasť výberu príkazov - Všetky príkazy - Z textu (staršia verzia) - Pridať - OK

Na karte Údaje pribudne skupina "Starý import" s tlačítkom "Z textu (staršia verzia)". Klik - výber súboru CSV - Importovať - Pôvod súboru - "65001 : Unicode (UTF-8)" - Moje údaje majú hlavičky - Ďalej -Oddeľovače "Tabulátor" - Ďalej - označiť druhý stĺpec - Spresniť - Oddeľovač desatinných miest "." bodka - Nezaškrtávať "Znamienko mínus za záporným číslom" - OK - Dokončiť

@ mepexg: V E2019 nech robím čo chcem, nijako nedokážem pri importe cez sprievodcu PQ Importom zmeniť desatinný oddeľovač. Až potom úpravou PQ dotazu. A to mi príde pre BFU fakt HardCore. Alebo teda máte na mysli niečo iné ?

EDIT: PQ dotaz by mohol byť takto (zmenené podľa návrhu mepexg):
let
Zdroj = Csv.Document(File.Contents("D:\CSV_des.csv"),[Delimiter="#(tab)", Columns=4, Encoding=65001, QuoteStyle=QuoteStyle.None]),
#"Hlavičky so zvýšenou úrovňou" = Table.PromoteHeaders(Zdroj, [PromoteAllScalars=true]),
#"Zmenený typ pomocou miestneho nastavenia" = Table.TransformColumnTypes(#"Hlavičky so zvýšenou úrovňou", {{"BUY_PRICE", Int64.Type}, {"ACTUAL_PRICE", type number}, {"WARRANTY", type text}, {"QUANTITY", Int64.Type}}, "en-US")
in
#"Zmenený typ pomocou miestneho nastavenia"

Samozrejme, pretože je tam ako desatinný oddeľovač bodka "." a nie ako je u nás bežné - čiarka ",". Ani neviem, či v novom "vylepšenom" Exceli ide ešte použiť štandardný Import dát, kde bolo možné krásne nadefinovať oddeľovač desatín, alebo to ide už iba automaticky cez PowerQuery, kde touto voľbou nie som si istý. Každopádne najjednoduchšie asi pre Vás bude, Označenie stĺpca, Ctrl+H, hore bodka dole čiarka, Nahradiť všetky.

Lebo si makro nepreberalo rodiča volajúcej bunky - teda jej list.

No a kde je tá Vaša faktúra, aby sme videli čo to robí za šarapatu, kde je aký zdroj umiestnený, ako sa mení, náväznosti polohy zdroja od zmeny čísla fak. a pod. ?

Alebo nahraďte toto
ThisWorkbook.Worksheets(1).Copy
ActiveWorkbook.SaveAs Filename:="D:\Data_" & Format(Now, "dd.mm.yyyy hh-mm-ss") & ".csv", FileFormat:=xlCSV, Local:=True
ActiveWorkbook.Close (False)

týmto
i = FreeFile
Open "D:\Data_" & Format(Now, "dd.mm.yyyy hh-mm-ss") & ".csv" For Output As #i
Print #i, Join(Pole, vbCrLf)
Close #i

a bude to rýchlejšie.

No a čo vstupný zostatok z minulého obdobia/predošlej karty ?

PS: Bez urážky, ak tápete nad SUM(), čo potom asi robíte s tým "šifrovacím" algoritmom v makre ?

Prípadne ešte zmeniť SUMIFS na SUMIF, teda prvú položku poľa Array() zmeniť
z
"=SUMIFS(DATA!$B$2:$B$" & PoslRadekD & ",DATA!$A$2:$A$" & PoslRadekD & ",$B5)"
na
"=SUMIF(DATA!$A$2:$A$" & PoslRadekD & ",$B5,DATA!$B$2:$B$" & PoslRadekD & ")"
Teda celý riadok bude:
.Formula = Array("=SUMIF(DATA!$A$2:$A$" & PoslRadekD & ",$B5,DATA!$B$2:$B$" & PoslRadekD & ")", "=VLOOKUP($B5,DATA!$A$2:$B$" & PoslRadekD & ",2,FALSE)", "=COUNTIF(DATA!$A$2:$A$" & PoslRadekD & ",$B5)")

Skúste toto:
Sub MALED()
Dim PoslRadekV As Long, PoslRadekD As Long

PoslRadekD = wsData.Cells(Rows.Count, 1).End(xlUp).Row
If PoslRadekD < 2 Then MsgBox "Žádná data v liste DATA.", vbExclamation, "Chyba": Exit Sub
With wsVypocet
PoslRadekV = .Cells(Rows.Count, 2).End(xlUp).Row
If PoslRadekV < 5 Then MsgBox "Žádná data v liste VÝPOČET.", vbExclamation, "Chyba": Exit Sub

Application.ScreenUpdating = False
With .Cells(5, 3).Resize(PoslRadekV - 4, 3)
.Formula = Array("=SUMIFS(DATA!$B$2:$B$" & PoslRadekD & ",DATA!$A$2:$A$" & PoslRadekD & ",$B5)", "=VLOOKUP($B5,DATA!$A$2:$B$" & PoslRadekD & ",2,FALSE)", "=COUNTIF(DATA!$A$2:$A$" & PoslRadekD & ",$B5)")
.Value = .Value
End With
Application.ScreenUpdating = True
End With
End Sub

Príklad

Mne by to dávalo zmysel približne takto:
-Ak dosiahne hodnota skladu minimálnu hodnotu 5 - upozornenie na dosiahnutie minimálneho stavu.
-Ak je stav medzi 1-4 (vrátane) - upozornenie na dochádzanie produktu.
-Ak je stav 0 - upozornenie na chýbajúci produkt (tu nechápem použitie makra s názvom "Aktuálne", žeby v zmysle "Je aktuálne priobjednať ďalšie kusy" ??? To sa má robiť pri dochádzaní, nie ?).
- Treba zobrazovať všetky druhy správ, lebo pri viacnásobnej zmene (viac buniek naraz), môže dôjsť k rôznym stavom.
-Treba myslieť nielen na rôzne stavy, ale aj na výpis konkrétnych produktov v konkrétnych stavoch.
-Táto komplexná správa musí vynechať prípadné nepoužité stavy.
-Táto komplexná správa musí mať ikonu najvyššej použitej priority. Preto som pridal, logicky, informačnú ikonu pri dosiahnutí minimálneho stavu 5.

Všetko uvedené obsahuje toto riešenie. Dá sa to vylepšiť, napr. tým, že sa použijú kolekcie, a vylúčia sa duplicitné položky.

Ale. O koľko sa má jednať riadkov ? Je tento počet riadkov stále rovnaký ? Ak nie, čo určuje posledný riadok ? Takéto "upozornenie" by sa dalo asi riešiť (ak položiek nebude 100 000) aj vzorcami tak, že by maticové vzorce, vypisovali vedľa všetky položky, na ktoré treba upozorniť + Podmienené formátovanie. A bolo by to bez makra.

Treba ďalšie info ...

Vyskúšajte či som obsiahol všetky možnosti...


Strana:  1 ... « předchozí  143 144 145 146 147 148 149 150 151   další » ... 298

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