Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  49 50 51 52 53 54 55 56 57   další » ... 298

Vyskúšajte to s Vašim súborom a nejakým skorším časom, aby ste nečakal do rána :)
Možno bude treba aktualizovať Connections, PivotTables, Queries aktualizovať samostatne po jednom, s vypnutím BackgroundQuery, aby to čakalo na dokončenie. Neviem, čo tam máte.
Pri pokusoch nezabudnite potom pokusný čas z naplánovaných zmazať pomocou SERVICE_PROC_STOP.
Sub Aktualizacia_Dat()
Dim Cesta As String

With ThisWorkbook
.RefreshAll
Cesta = .Path & "\"
.Save
End With

With Workbooks.Open(Cesta & "MAKRO1.xlsm", True)
.RefreshAll
.Close True
End With

Application.OnTime TimeValue("04:00:00"), "Aktualizacia_Dat"
End Sub

Sub SERVICE_PROC_STOP()
On Error Resume Next
Application.OnTime TimeValue("04:00:00"), "Aktualizacia_Dat", Schedule:=False
End Sub

Takže v súbore "MAKRO.xlsm" bude makro, ktoré naplánuje v udalosti Application.OnTime (na najbližší čas 04:00 v noci) spustenie druhého makra v tomto súbore "MAKRO.xlsm". To druhé makro spustí aktualizáciu všetkých dát v tomto súbore "MAKRO.xlsm", uloží tento súbor. Stále sme v tom istom súbore "MAKRO.xlsm".
A teraz, načo sa má otvárať súbor "MAKRO 1.xlsx" (.xlsm ?), ukladať a zatvárať? Pri jeho otváraní dôjde k nejakej udalosti jeho vlastného makra Workbook_Open či aktualizácii dotazov? Ak nie, tak je popisovaná manipulácia zbytočná.

Ono sa dá urobiť takmer všetko. Len treba pochopiť zadanie. Ale zadanie musí chápať aj zadávateľ. Či má logiku. To nie je narážka. Proste to musí byť logicky uskutočniteľné. Aplikovanie iba na filtrované riadky nie je problém. Dokonca by sa to dalo urobiť tak, aby ste neprišli o Undo, že makro vytvorí nový list/súbor s výsledkami, ale tieto dáta si pomocou Ctrl+A, Ctrl+C, Ctrl+V, skopírujete do pôvodných dát sám. O Undo tak neprídete. A ten dočasný novovytvorený list/súbor len zahodíte, zmažete, neuložíte a pod.
Ale potreboval by som odpovede na moje poznámky vyššie a prílohu. Inak to nepôjde.

Tak teraz Vám už nerozumiem absolútne vôbec.

Kde v tom príklade sú nejaké produkty? Logicky by mali byť niekde v prvom stĺpci, príp. v druhom ak v 1. je ID. V tom prípade ale nesedí to, že sa vyhľadáva od 1. stĺpca doprava po Cenu.

Stále nereagujete na to, či dopĺňaný text do buniek, je rovnaký pre všetky dopĺňané bunky (v príklade červené), alebo je text pre každý riadok (produkt) iný, prípadne pre každý stĺpec kategórie iný (teda pre riadky v category1 je TextABC, pre riadky v category2 je TextQWERTY, ...).

Sú vlastne teda stĺpce nazvané "categoryX" ?

To, že budú dáta filtrované je zásadná info. A to, že sa má dopĺňať iba vyfiltrovaná časť ešte zásadnejšia.

Ako môže taký zoznam filtrovania horizontálnych kategórií fungovať vo vertikálnom zozname rôznych druhov produktov? To by chcelo prílohu, redukovanú, anonymizovanú, so zmysluplnými názvami produktov a kategórií, reálne rozmiestnenie a formáty.
Ak totiž v category1 vyberiem "dopravný prostriedok" AUTO a RAKETOPLÁN, v category2 bude u ÁUT farba ČERVENÁ a ČIERNA, v RAKETOPLÁNOCH bude ČERVENÁ a BIELA. Lenže v do akcie pôjde len ČIERNE Auto a ČERVENÝ Raketoplán. Ako zaistíte, aby sa nezobrazovalo ČERVENÉ Auto?
Naopak, ak teda categoryX nemusia znázorňovať ten istý typ informácie/kategórie produktov, tak v tom filtri bude spolu naraz napr. ČERVENÁ, AAA, Rozbalené, CAT5E 50 m, ...?

Chcelo by to spomínanú prílohu.

A áno, makro má nevýhodu, že nielenže nemá Undo, ale navyše logicky zruší všetky vrátiteľné kroky pred spustením makra. No nijako inak ma to nenapadá urobiť. Možno malá náplasť by bola, že by makro pred aplikáciou samo vytvorilo kópiu súboru niekde v záložnom adresári.

Taký prvý nástrel. Ak treba, nový stĺpec si to vytvorí samé, vložením a posunutím. Toto je príklad na vloženie rovnakého textu do všetkých riadkov. Ak má ísť na každý riadok iný text, tak sa to dá ľahko prerobiť tak, že sa hodnoty vyplnia do zadávacieho stĺpca. a budú sa brať odtiaľ. Ďalej sa dá upraviť, ak sa teda všetky kategóriové stĺpce začínajú na rovnaký text "category" a mení sa číslo na konci, tak sa dá urobiť, aby ten nový stĺpec automaticky nazvalo aj s nasledujúcim číslom. Ak je každý z tých stĺpcov nazvaný podľa nejakého iného pravidla alebo zdroja, treba uviesť akého.

Makro je popísané, ktorý riadok čo robí. Bez makra neviem, ako by sa to dalo poriešiť.

Tie stĺpce "categoryX", tých je pevne stanovený počet 5 ? Alebo je rozhodujúcim stĺpcom stĺpec Cena? Teda prvá voľná bunka sa hľadá od prvého stĺpca A:A category1 až po x-tý stĺpec, pokiaľ nie je stĺpec Cena? A čo v prípade ak voľnú bunku nenájde? Vytvorí pred Cena nový stĺpec categoryX+1? Alebo neurobí nič? Tie texty v tých bunkách sú texty alebo vzorce? Asi texty, len pre istotu sa pýtam, lebo by bolo jednoduchšie urobiť hromadný zápis poľa hodnôt, aj tých istých do tých istých buniek, a aj nových do nových buniek. Makro nebude problém, len upresnite veci...

PS: Prílohu môžete priložiť až po zaregistrovaní.

Ako môže byť niečo vpravo, keď vravíte, že ste za poslednou bunkou v riadku??? Ja by som to čo popisujete urobil makrom na tlačítko.
Každý riadok končí na inom stĺpci? Priložte prílohu s príkladom.

Dátum tam zapíšete pomocou Date
Bunka.Offset(0, 2).Value = Date
Tú bunku/oblasť/celý stĺpec, kam to vkladáte, majte buď predformátovanú na Vlastný formát
dd.mm.yyyy
v CZ
dd.mm.rrrr
alebo nastavujte formát bunky v makre
Bunka.Offset(0, 2).NumberFormat = "dd/mm/yyyy"

To je tým, že Vy nevkladáte dátumy, ale text.

Riešenie vo vedľajšom dotaze

=IF(C10="";"";SUMPRODUCT(1*NOT(ISERROR(FIND(C10;""&A2:A6)))))
=KDYŽ(C10="";"";SOUČIN.SKALÁRNÍ(1*NE(JE.CHYBHODN(NAJÍT(C10;""&A2:A6)))))

Včera som zabudol na verziu s filtrom, takže tu je:
=IF(C10="";"";SUMPRODUCT(1*SUBTOTAL(3;OFFSET(A2:A6;ROW(A2:A6)-2;;1))*NOT(ISERROR(FIND(C10;""&A2:A6)))))
=KDYŽ(C10="";"";SOUČIN.SKALÁRNÍ(1*SUBTOTAL(3;POSUN(A2:A6;ŘÁDEK(A2:A6)-2;;1))*NE(JE.CHYBHODN(NAJÍT(C10;""&A2:A6)))))

Ak bude čas urobím na to makro. Zatiaľ vyrobte výzor. Ako má ten výsledok vyzerať? Koľko tých trojriadkov na A4, aké vysoké jednotlivé riadky, aké medzery, aký ten úvodný nadpis, prípadné hlavičky (podľa toho bude počet na stránku). Podľa toho určím, či bude treba vložiť manuálne zlomy strán alebo nie (aby nelámalo stranu uprostred trojriadku). Takže priložte požadovaný výzor a makro riešenie bude One-Click.

A ešte otázka: Tie dáta do Excelu dostanete ako? Otvoríte nejaký Export z nejakého SW? Zodpovedá teda presne tomu prvému hárku z obrázku? Počet určujúci stĺpec bude A?

Koľko riadkov bude tých origo dát ? Ak nie veľa, dalo by sa navzorcovať niekoľko strán takýchto zostáv a vytlačiť si dáte iba koľko vidíte vyplnených strán. Ak ich bude veľa, tak použiť makro, čo to postupne obmení a zároveň poposiela rovno do tlačiarne. MAC nemám, takže ak sa bude nutné zisťovať zoznam tlačiarní a pod. tak nepomôžem, pretože u Win sa to zisťuje aj s portami cez Register, u MAC neviem.

Text ohraničujeme úvodzovkami. Úvodzovky sú teda riadiaci znak. Čo je v úvodzovkách, je text. Napr.
"abc"Zobrazí sa text, úvodzovky sa nezobrazia:
abcAle ak potrebujete, aby bol v texte zobrazený aj znak úvodzovky {"}
a"bcnemôžete iba napísať
"a"bc"ale ten znak úvodzoviek, ktorý má byť súčasťou zobrazeného textu, musí byť napísaný 2x, aby Excel vedel, že sa nejedná o riadiaci znak, ale signál, že daný 2x napísaný znak úvodzoviek je 1x zobrazený znak úvodzoviek
"a""bc"a zobrazí sa
a"bc

Funguje aj prvý variant čo Stlaker písal, len ak má obsahovať text aj úvodzovky, musia byť zduplikované
=CHOOSE(A1;".<span style=""color: #ffffff;"">Sklad 1</span></p>";".<span style=""color: #ffffff;"">Sklad 2</span></p>")
=ZVOLIT(A1;".<span style=""color: #ffffff;"">Sklad 1</span></p>";".<span style=""color: #ffffff;"">Sklad 2</span></p>")


Strana:  1 ... « předchozí  49 50 51 52 53 54 55 56 57   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