1. Myslel som okno Watches, podľa tohto obrázku, ale to je jedno viď nižšie.
2. Problém robí parameter xlExcel8, ktorý E2003 nepozná. Je nutné použiť parameter xlNormal v ukladacích príkazoch. Vyskúšal som tento parameter aj v E2016 a funguje, teda nemuseli by sme doprogramovávať kontrolu verzie, ale budiš, je to tam.
3. Podmienka je podľa mňa presne podľa požiadavky, teda upozorní v posledný deň mesiaca po 15:30:00. Ak by sme chceli urobiť, že to prebehne hocikedy po poslednom dni (teda napr. v polke ďalšieho mes.), musíme zabezpečiť niekde v súbore (v bunke) uložený príznak, ktorým makro pri prípadnom ďalšom otvorení súboru spozná, či už bolo vykonané (premazané, prečistené, uložené). Inak by to mohlo spôsobiť nemilé prekvapenie. Ale dá sa to.
4. Malá úprava vzorca v C1 prvého listu, kvôli chybnej interpretácii "yyyy" CZ Excelu (ten požaduje "rrrr").
5. Pridaná kontrola odmietnutia prepísania súboru, lebo to vyvolalo chybu.
6. Musel som si kvôli Vám nahodiť virtuálku s XP a Off2003
1. Keď dáte Debug v hláške a máte ten riadok označený, kliknite pravým na "Subor" a zvolte "Add Watch" a zo spodného okna si dvojitým klikom skopírujte hodnotu Value, a vložte sem.
2. Aká je to verzia Excelu ?
3. Skúste mi nahrať u Vás makro na "Uložiť ako". Teda na karte Vývojár kliknete na "Zaznamenať makro", súbor dáte Uložiť ako, vymyslíte názov a uložíte ho na miesto kde sa nachádza tento súbor. Na karte Vývojár dáte "Zastaviť záznam", a kód toho makra sem skopírujte.
4. Keď budete na kóde toho nahraného makra, zmente v ňom názov súboru za ďalší pokusný, a stláčaním F8 makrom po kroku spúšťajte. Či dobehne bez chyby do konca.
Aby ste si nemýlila "Workbook_Open_Test" s "Workbook_Open", premenujte si "Workbook_Open_Test" na "Skuska_Funkcnosti".
Samozrejme, že Vám to nefunguje, keď "Skuska_Funkcnosti" spustíte s dátumom 18.2.2017. Nič sa neudeje, lebo 18. nieje posledný deň v mesiaci. Posledným februárovým dňom v tomto roku je 28. ! Nie 18. A ešte pozor na ten čas. Obe podmienky musia byť splnené.
Akurát, že makro nemôžete len tak kopírovať do akého chcete súboru. Vedel som, že si to nevšimnete :) Pre potreby ukladania súboru (potreba zistenia mesiaca daného súboru), je nutné niekde v liste uchovávať dátum (stačil by aj mesiac). Preto som zmenil rozloženie v prvom riadku, a teraz nieje zlúčená bunka B1:J1, ale iba C1:J1 a do B1 sa ukladá dátum daného mesiaca. Toto je vkladané do prvého listu, ostatné si to kopírujú. Isteže Vám to potom nefungovalo.
Metóda "Workbook_Open_Test()" je tam iba aby ste si to mohli vyskúšať v iný ako posledný deň a po zadanom čase. Pretože klasická metóda zošitu "Workbook_Open" Vám testuje aktuálny dátum a čas. Teda doobeda Vám to neurobí nič, a ani v dátum menší ako posledný deň v mesiaci to neurobí nič. Mohli by ste to dnes otvárať koľko chcete.
Dal som tam aj krátke popisy. Neviem, či by nebolo vhodné robiť pred výmazom riadkov zálohu do nejakého backup súboru v samostatnom adresári, pre istotu, lebo vymazanie a uloženie má za následok nevratnú editáciu dát. Na to nezabúdajme. To sa mi už ale nechce...
Plus mínus autobus ...
Možné riešenie v G:H s jedinečnými hodnotami z 2 stĺpcov a následným súčtom priradených hodnôt, pomocou vzorcov s 2 pomocnými stĺpcami I:J.
príklad zmazania na všetkých listoch pri otvorení súboru.
príklad.
PS: Inak needitovali ste svoj príspevok ? Mne sa zdá (a tak som urobil verziu 1), že ste chceli dátumy od najbližšieho pondelku...
Výsledok nieje
1 1
2 2
3 3
ale
5 5
2 2
1 1
3 3
7 7
(zatiaľ nezoradené)
Ak to chcete zo stĺpcov A B do rovnakých stĺpcov A B, tak jedine makrom, a treba si uvedomiť že nerovnaké údaje stratíte.
Príklad v prílohe.
Dajte prílohu, pretože to vyzerá, akoby ste sa pýtal na logický nezmysel.
Pretože vravíte, že chcete rovnaké hodnoty (z rôznych riadkov) mať vedľa seba, a zároveň vravíte že po zoradení nezodpovedá hodnota v riadku tej ktorá bola v susednom riadku pred zoradením = logický nezmysel.
Možno zlý popis, možno to zle chápem. Príloha je základ. Plus lepší popis.
Na prikladanie príloh musíte byť prihlásený (jednoduchá registrácia), prílohu upravte (odstránenie citlivých dát), zjednodušte (nenechávajte tam tisíce riadkov), uvedte tam aj zdrojové dáta ale aj manuálne vytvorte príklad výstupu, ktorý požadujete, zabalte ju do ZIP (alebo zmente príponu z XLSX na ZIP, ale o tomto informujte v popise, že to nieje skomprimované ale iba premenované). Niekto Vám tu určite na to ušije riešenie.
EDIT: A podľa mňa je klasický FILTER na karte Údaje to čo chcete.
príklad
Na to musíte zreťaziť 2 vyhľadávacie fnc (na 3. medzeru treba zreťaziť 3 fnc atď):
=FIND(" ";A1;FIND(" ";A1)+1)
=NAJÍT(" ";A1;NAJÍT(" ";A1)+1)
Niekde sme to tu riešili:
Profíci asi upravia tento RANK, ale ako príklad môže byť ...
Takých je tam viac. Ja keď som to zbežne testol, tak mi DATEDIF na týchto dátach vypísal iba 15 správne. Ale dôkladne sa mi to testovať nechce. O DATEDIF tu (aj inde) bolo písaného veľa, a záver je vlastne v skratke - nespoľahlivá funkcia.
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
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.