Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  177 178 179 180 181 182 183 184 185   další » ... 289

-Takže meníte ručne hodnoty v F:I ? Ak ručne, použite metódu Worksheet_Change s kontrolou týchto stĺpcov, kde si vypočítate to isté ako vzorec v C a máte to.
-Nedoťahujú sa napríklad od niekiaľ vzorcom ? Ak vzorcom, použite Worksheet_Calculate, s duplikátom tohto starého listu s pôvodnými hodnotami, porovnajte v cykle alebo pomocou EVALUATE staré hodnoty aby ste zistili zmenu, a vždy uchovávajte pôvodné hodnoty v duplikáte po vykonaní požadovaných operácií.
-S tým súvisí aj to, čo sa má stať s tými, ktoré už pre poslednou odchytenou a verifikovanou zmenou už na 1 boli. Aj tie sa majú poslať ?
-Je tento list sklad ? Podľa mňa nie. Podľa mňa je to objednávka/denný jednorázový odpis/alebo niečo podobné...
-Odkiaľ sa berie hodnota v J (napr. Sklad = 5) ?
-Je zadávaná ručne ? Podľa mňa nie, myslím si že VLOOKUP-om zo skutočného skladu.
-Ak vzorcom, musíte kontrolovať aj ju, lebo má vplyv na vzorec C ZBÝVÁ, ktorého hodnota Vás zaujíma.
-Každú položku chcete riešiť samostatným mailom ? To naozaj ?
-Teda keď sa naraz zmení 5 hodnôt na 1, šéf dostane 5 mailov alebo jeden s 5 riadkami ? Podľa mňa je 2. možnosť lepšia.
-Čo potom s týmto listom ? Vymazať a zapísať do Skladu nové zostatky z C ?
...

Tých otázok je veľa, a nedajú sa ani jednoznačne položiť, pretože sú previazané odpoveďami, ktoré ale nedávate. Zoberte si každú moju otázku a skúste nájsť na všetky Vašu odpoveď. My vieme, že chcete odrátať 5-4=1, ale nevieme čo spôsobuje zmenu čísel 5 a 4. My vieme že 4 vzniká súčtom buniek, ale čo spôsobuje zmenu tých buniek ? Vy klávesnicou ? Vzorec ? Makro ? Dotaz ? Riešenie sa totálne líši.

No mne to skôr pripadne takto:
-je jedno v akom riadku stĺpca A (doteraz ukazovalo iba 5 riadkov)
-môže byť vyššia súvislá oblasť (doteraz iba 1 bunka)
-najskôr sa zistí, či v zmenenej oblasti sú 0
-zistí sa pozícia prvej 0 v zmenenej oblasti, a uloží sa artikel (pre neskoršie označenie)
-zoradí sa (aby 0 boli za sebou)
-označia sa a odošlú
-označí sa prvá z 0, ktoré boli naposledy pridané, pozícia v zoradených sa zistí podľa čísla artiklu

Ak som vedľa tak nič...

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Art As String, R As Long
  If Target.Column = 1 Then
    On Error Resume Next
    R = WorksheetFunction.Match(0, Target, 0)
    On Error GoTo 0
    If R > 0 Then
      Art = Target.Cells(R).Offset(, 2).Value2
      With Cells(2, 1).Resize(Cells(Rows.Count, 1).End(xlUp).Row, 4)
        .Sort Key1:=Cells(2, 1)
        Cells(1, 1).Resize(WorksheetFunction.CountIf(.Columns(1), 0) + 1, 4).Select
        Call Send_Range
        .Columns(3).Find(What:=Art, LookIn:=xlValues).Offset(, -2).Select
      End With
    End If
  End If
End Sub

Sub Send_Range()
  ActiveWorkbook.EnvelopeVisible = True
  With ActiveSheet.MailEnvelope
    .Introduction = "This is a sample worksheet."
    .Item.To = "elninoslov@gmail.com"
    .Item.Subject = "My subject"
    .Item.Send
  End With
End Sub

Makrá sú hrozné, ale tie sa dajú ľahko upraviť. Logika je problém. Nerozumiem tam veľa veciam. Napr.
-prečo sa musia neustále prekopírovávať rovnaké údaje?
-odkiaľ sa berú stĺpce F:AF v Sklad? Ako k nim prichádzate?
-to sú Ks na iných skladoch?
-Ako dospejete k "Pozícia na vymazanie" v stĺpci AH?
-Keď je v stĺpci AH označený iný sklad (alebo čo to je), má sa riadok zmazať?
-Ako riešite pridanie novej položky na sklad? Normálne ako "Príjem" v Pohyby? To nieje možné kvôli neexistencii PLU. To pridávate do ZDROJ ručne?
-Čo znamená počiatočný/konečný stav ?
-Načo je vôbec v celom zošite toľko čudlíkov ? Nestačí 1 na to aby aktualizoval sklad na základe vyplnenia Pohyby, zapísal pohyby do Archívu, vymazal kompletne vyskladnené položky zo skladu, a zároveň pripravil Report, všetko jedným čudlíkom ?
...

Ach jaj. No posnažte sa ešte. Obrázok je iný ako "príloha". Z "prílohy" osobne neviem kde a ako sa zadávajú aké údaje, a kde sa má počítať a zobraziť zvyšok. V prílohe nieje nič, ani len makro nieje vo VBA ale v bunkách, chýba Sklad, nevieme ako sa do skladu zadávajú +-. Ten list čo tam je je čo ?
Zadávanie objednávky ? Sklad ? Medzivýpočet ? Pre riešenie je podstatné, to na čo som sa pýtal, ako máte riešenú tú zmenu skladu, odkiaľ, čo, kam, kedy. Táto "tabuľka" na tú otázku žiaľ neodpovedá. Osobne Vám takto pomôcť fakt neviem. Málo podstatných info...
Aby Vám niekto pomohol, musíte mu dať kompletný súbor informácií, nie útržok z kontextu.

Prílohou som myslel súbor Excelu s príkladom ako funguje ten zošit. Nie obrázok.
Môžete to mať urobené niekoľkými spôsobmi, napr. Máte list Objednávka, a list Sklad. Do objednávka vkladáte matroš a počet, stlačíte čudlík, a vykoná sa odpis položiek v liste Sklad prepísaním počtu, list objednávka sa zaeviduje a zmaže.
Alebo môžete pod seba do "nekonečna" v liste Sklad vpisovať všetky pohyby, a napr cez KT na inom liste napr Stav, mať vypísaný aktuálny stav skladu.
...atď...

Na toto som sa pýtal, že ako je to urobené a podľa toho by sa šilo riešenie. To súvisí s prvým bodom - príloha (súbor Excelu) s dátami, ktoré môžete zmeniť za nefiremné, ale konštrukciu a formát ponechajte.

Príloha vo forme zošitu Vám nejde priložiť za
a) lebo je prípona XLSM, a tú musíte zabaliť do ZIP (alebo ju premente na ZIP a upozornite na to,
b) je väčšia ako 256 KB, v tom prípade zredukujte dáta alebo nahrajte prílohu na GoogleDrive, ulož.to či iné Free úložisko a link sem uveďte.

Podľa obrázkov to nepôjde.

- Príloha ?
- Na základe čoho sa menia hodnoty v sklade ?
- "...když dojde sklad některého z dílů z 8 položek klesne na 1..." - teda ak dôjde k zmene z 9 na 1 tak sa nič nedeje ? Alebo to znamená, že kontrolujete len 8 položiek a ostatných 1392 Vás nezaujíma ?

Ak zmena skladu prebieha makrom, tak kontrolu budúcej hodnoty skladu robte rovno v tej procedúre, v ktorej to odčítate.
Ak pomocou vzorcov (neviem ako), tak v metóde Calculate kontrolovať záložnú kópiu skladového listu zo starými hodnotami, vyhodnotiť, a následne prepísať starú kópiu novými dátami - čo bude pomalé.

To podmieneným formátom nepôjde. Asi iba makrom, hore spomínaným spôsobom. Teda napr. pre A1:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Cells(1, 1)) Is Nothing Then
With Cells(1, 1)
Select Case .Value2
Case "N": .HorizontalAlignment = xlRight
.VerticalAlignment = xlBottom
Case "R", "C": .HorizontalAlignment = xlLeft
.VerticalAlignment = xlTop
Case Else: .HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End Select
End With
End If
End Sub

Ale nevieme stále, či bude premenný počet stĺpcov. V prvom príklade je dátových 5 a v druhom 7. Tu je príklad, kde to odstráni duplicity aj prázdne v jednom kroku, ale dal som tam pre jednoduchosť napevno oblasť B2:H81.
Vzhľadom na to, že sa jedná len o 80 riadkov, tak bude ale asi ľahšie pochopiteľné vymazanie duplicít pomocou rady čo ste dostal v minulom vlákne, a mazanie prázdnych riadkov v B:H postupne. Skúste, či rozumiete funkčnosti kódu.

Určite máte na mysli len zachovanie 1. riadku ? Nie náhodou aj 1. stĺpca ? Ten stĺpec je divný, pže číslo 1 začína na riadku s hlavičkou.
Tie čísla majú ostať priradené tak ako sú k určitým menám, alebo majú ostať stále v nemennej postupnosti bez ohľadu aké meno pri nich je a nemajú sa mazať, alebo ako ?
Je to vždy takto "konštruovaná" tabuľka, a na rovnakom mieste, alebo aj inak široká a začínajúca na inom stĺpci ako A ?
O koľko sa jedná max riadkov pre kontrolu ?
Toľko otázok preto, že sa to dá navrhnúť za určitých okolností tak, aby to bolo rýchlejšie. Ale keď ich je iba pár tak to netreba riešiť.

EDIT: Pridávam príklad rýchleho riešenia "Makro2" pre prípad, keď by boli dáta vždy na 6 stĺpcov a začínali by v A1 (čo by tak aj malo byť, ak chcete niečo automatizovať). Hromadne zistí prázdne riadky a hromadne ich vymaže. Nepristupuje k bunkám po jednom (pomalé) ale naraz. Význam to bude mať ale len pri väčšom množstve riadkov. Ak to myslíte inak, treba upresniť.

Buď kliknite na prvú bunku oblasti, ktorej sa má podmienené formátovanie týkať, alebo danú oblasť označte (dá sa to neskôr zmeniť).
Karta Domov - Podmienené formátovanie - Nové pravidlo (alebo Spravovať pravidlá) - vyberte požadovanú možnosť, v tomto prípade je to posledná možnosť "Použiť vzorec na určenie buniek, ktoré sa majú formátovať".
Napíšte vzorec, ktorý jednoznačne vráti výsledok TRUE/FALSE (PRAVDA/NEPRAVDA), začínate znakom "=", viď príklad.
Nastavte požadovaný formát, tlačítkom formát - v tomto prípade iba Výplň.
Potvrďte 2x alebo 3x OK (podľa toho, kadiaľ ste tam išli)
Oblasť, ktorej sa má podmienené formátovanie týkať, sa dá zmeniť práve v tom Domov - Podmienené formátovanie -
Spravovať pravidlá. Vzorec sa na viac buniek vždy automaticky prepočítava pri vytváraní Podmieneného formátovania podľa pozície kurzora. A to podľa nasadeného adresovania relatívne/absolútne, ale toto už vysvetľovať nejdem.
Príklad

Presne tak, záleží na tom, čo zadávateľ presne potrebuje, a či to premyslel do takýchto "detailov". Takže by kľudne mohol mať Stano číslo 2, lebo jeho čas je druhý najlepší keďže pred jeho časom je len jeden čas (aj keď ho majú piati). Alebo tak ako píše eLCHa. Netuším.

Teraz si dokonca neviem spomenúť, či keď majú dvaja pretekári v nejakom športe rovnaký čas na prvom mieste, tak dostanú obaja zlatú medailu, ale čo strieborná a bronzová... ako sa to udeľuje ?

Mne to zadanie príde divné z dôvodu vylúčenia zhodných výsledkov. Nemalo by platiť, že ak budú mať piati rovnaký (najvyšší) výsledok, tak by mali byť ako číslo 1 uvedení všetci piati ? A nie len traja.
Teda napr.:
1. Fero
1. Juro
1. Miro
1. Jano
1. Ďuro
2. Stano
3. nejsou data


a nie
1. Fero
2. Juro
3. Miro

lebo Fero nieje lepší ako Juro, je len v najbližšom stĺpci.

Rostislav, urobte nám manuálne jeden výsledok, tak ako si ho predstavujete, a niekto Vám ho už snáď zautomatizuje. Rozdiely vo forme zobrazenie sú veľké. Doteraz ste neukázal, ako má vyzerať to zlúčenie. Iba hádame. A bude to teda ťahať z iných zošitov alebo nie (nemýľte si zošit a list)...

ja som to pochopil takto...


Strana:  1 ... « předchozí  177 178 179 180 181 182 183 184 185   další » ... 289

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

vyhledání obsahu buňky

vfort • 18.7. 11:22

Názvy z řádků do sloupců Power Query

Alfan • 18.7. 10:01

Tlac 2 roznych tabuliek

loksik.lubos • 17.7. 20:43

Týden v roce

Petr92 • 16.7. 15:34

Řazení podle času v kategoriích

veny • 16.7. 11:34

špatný výpočet ze zisku - příčina?

Anonym • 12.7. 22:56

špatný výpočet ze zisku - příčina?

Jakoby • 12.7. 12:35