Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  278 279 280 281 282 283 284 285 286   další » ... 300

Skúsil som maticu, vyskúšajte. (Dátumy som pomenil)

??? Absolútne nemám potuchy, čo chcete. Akože vybrať názov oblasti zo zoznamu ? Akej oblasti, tej ktorá sa bude kopírovať ? Čiže sa bude od teraz kopírovať iba jedna oblasť (tabuľka) ? Alebo chcete do databázy zapísať iba súčet zaplnených buniek v jednej jedinej oblasti určenej tým zoznamom oblastí, ktoré sa pred tým kopírovali cez tlačítko ? A ako bude makro vedieť z ktorého listu chcete túto oblasť adresovať, keď vravíte že listov bude viac ? Asi bude výber oblasti v každom liste.

Narýchlo som pozrel na to makro, a poviem Vám to na rovinu, vôbec sa mi nechce to makro celé naštudovať, vymyslieť riešenie toho čo požadujete, a hlavne zisťovať to čo vlastne chcete. A napíšte pre lepšie pochopenie aj presne čo chcete mať v tom zozname, nie xxx,yyy, to nič nikomu nenapovie.

Takže lepšie, presnejšie napíšte čo chcete. Krištáľová guľa sa mi rozbila, a tak som pri týchto slovných logicko-vešteckých úlohách fakt natvrdlý.

Definované názvy, by sa dali jednoducho priradiť iba k určitým listom, čiže by mal každý list svoje, alebo by ich možno šlo nahradiť poľom.

Do pondelku nemám absolútne čas, od utorka ešte neviem. Ja osobne Vám to teda určite nesľúbim.

To Address máte dobre vysvetlené na MSDN:
https://msdn.microsoft.com/en-us/library/office/ff837625.aspx

To R1C1 (konkrétne relatívny odkaz pomocou []) mi príde úplne blbý, pretože treba myslieť nielen na premenné vo vzorcoch, ale navyše aj na konkrétne súradnice bunky, pretože do [] sa zapisuje rozdiel (posun chcenej bunky oproti aktuálne nastavovanej).

Tak to skúste okľukou :
Cells(hoa, hoa).Formula = "=" & Cells(hoa, hob).Address(0, 0)

Áno, napadlo ma to po odoslaní, že by to malo byť nakoniec asi takto. Všetko funguje, eLCHa je hlava, darmo ...

Ja do toho nechcem rýpať, to v žiadnom prípade, ale ak tam mal zostať aj posledný deň z predošlého mesiaca, tak u mňa teda neostane. Chybu to nehodí, ale ani posledný deň tam nieje. Je tam iba 01, teda prvý deň, čo vlastne bolo tak isto aj pred úpravami.
Mier...

Chyba je inde.
Tu je treba iba presunúť ")"
Set sh = ThisWorkbook.Sheets(Format(dDen - 1), "dd")
Set sh = ThisWorkbook.Sheets(Format(dDen - 1, "dd"))


Ale po vyplnení 31 v Júli a stlačení Ďalší deň, sa správne vytvorí nový mesiac s posledným dňom predošlého (31), ale ak dám opäť Ďalší deň, tak to stroskotá na
Set sh = Worksheets(Format(dDen - 1, "dd") & " (2)")
pri odkaze na neexistujúci list, lebo dDen má už hodnotu 2.8. List "01" tam ale nieje.
Pri prechode na nový mesiac, bude treba ako som písal, zachovať 3 listy, nie 2. (31, 01, SAKO)

To akože chcete mať po vytvorení napr. nového mesiaca Júl (Červenec), ako prvý list posledný deň z Júna (Červen) čiže 31 ? Potom budete mať vlastne 3 listy - 31,01,SAKO. Takto ? Tak to bude problém, pretože keď prídete potom na koniec Júla (Červenec), tak sa vytvorí list 31, to ale nieje možné keď už list 31 existuje (ten Júnový - Červnový). Muselo by sa napr. testovať, pri vytváraní listov, či je deň číslo 2, a vtedy ten posledný Júnový 31 zmazať. Plus iné komplikácie, spojené s náväznosťou na list 01. Možno keď bude čas a chuť ... snáď si ale eLCHa nájde ešte na Vás čas, predsalen je to najlepšie upravovať autorovi makra.

Vyskúšajte toto, urobil som to aj na D, N, očr, akurát netuším, či som trafil správne stĺpce.

Toto dajte do I3 s Ctrl+Shift+Enter. Potom nakopírujte do potrebného počtu riadkov. Ale ako vidíte bolo by potrebné nastaviť dynamickú oblasť (posledný riadok). Budete s tým vedieť pohnúť ?
=IFERROR(INDEX($C$2:$C$23&" vs. "&$D$2:$D$23;MATCH(G3;IF($B$2:$B$23=H3;$A$2:$A$23);0));"")

Urobil som Vám možnosť si zvoliť, ktoré údaje sa pri splnení podmienky budú mazať. Máte tam aj použitie funkcie COUNTA s vrátenou chybou ak je 0, dá sa to použiť napr. pri dynamickom rozbaľovacom zozname (Vaše použitie COUNTA ako som písal nepoznám).

Pozrite si toto. Upravil som Vám tam filter aj pre "všeobecné chyby (desky laser)", a nastavil automatické formátovanie orámovania pri každom riadku, v ktorom je nejaká hodnota, pre všetky 3 listy. Teda orámovanie nebude presahovať tabuľku.

Môže to byť takto ako je to teraz urobené v "opravené chyby (desky laser)" ?
Ak áno, tak Vám tak urobím aj ostatné listy, keď je treba. Stačí potom iba klik na filter v prvom stĺpci a dať zoradiť zostupne či vzostupne. Lenže predtým, je treba rozdeliť všetky zlúčené bunky. Preto Vám to nešlo.

ClearContents riadky nemaže. Maže iba obsah. Budete mať "deravú" tabuľku. Tam kde používate to COUNTA() dajte napr.
=IF(COUNTA(A3:A978)=0;ERF(;);COUNTA(A3:A978))
a vráti Vám to chybu #NEDOSTUPNÝ, a nie A2:A2. Alebo proste iba testujte 0. Neviem aké máte presne použitie toho COUNTA, čo robíte s výsledkom ďalej...

Tú chybu na vyššie spomínanom riadku spôsobuje to, že ak si zmením dátum napr. na dnešný, že chcem začínať od dnes, tak treba zmeniť aj názov listu na číslo dnešného dňa, inak vzniká odkaz na neexistujúci list. Potom už to ide ako ste zamýšľal. Ešte by som tam ale doplnil uloženie nového xlsx po jeho vyplnení, nielen jeho otvorenie. A uloženie iba dát, bez vzorcov, ak bude ten súbor napr. poslaný mailom, bez Master súboru, dostane otravnú hlášku o prepojení.


Strana:  1 ... « předchozí  278 279 280 281 282 283 284 285 286   další » ... 300

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