-Pklik "Upraviť komentár"
-Pklik na okraj komentára - "Formátovať komentár"
-Záložka "Farby a čiary"
-"Výplň" - "Farba" - "Efekty výplne" - "Obrázok"
-"Vybrať obrázok" - pri tomto kroku požaduje internetové spojenie, ale asi iba kvôli Bing a OneDrive (?)
-"Prehľadávať" - nájdite obrázok na disku - "Vložiť" - "OK" - "OK"
Mizerné možnosti úprav...
Pridané aj makro aj vzorce ako príklad. U vzorcov bude záležať aj na tom, či je ten stĺpec premiestnený.
V tom prípade by som použil to druhé riešenie čo som spomínal. Prekopať ten export v Accese tak, aby dával dáta pod seba, nie vedľa seba. A obídete sa potom bez makra. Ja Vám kľudne makro na to urobím (možno iba vzorce, pozriem na to podľa času), ale ako lepšie riešenie mi to nepripadá.
Každopádne úpravu exportu z Accesu Vám nikto neurobí, lebo nemáme tú DB. Ak by ste mohol dať tú DB k dispozícii (čo pochybujem), tak by možno niekto urobil aj priame dotazovanie na tú DB (to ale zadara asi nebude).
Uveďte ešte manuálne vyrobený príklad pre 3 mená, ako má vyzerať výsledkový list, a výsledné CSV.
Rozumiem tomu tak, že už nechcete používať ten Access ale Excel ? Ak áno, ja by som tú vyexportovanú tabuľku jednorázovo prerobil tak, aby som mal data pod sebou. Potom môžem použiť jednoduché filtre, pár na ukážku (použijem len tie ktoré chcem, dajú sa nastaviť aby zobrazovali aj nezahrnuté položky atď.).
Ak chcete aj naďalej používať aj Access aj Excel, tak prerobte ten Export tak, aby dával data pod seba,a pokračujte v Exceli obdobne ako v tomto návrhu.
KT ?
Vy chcete uchovávať predošlé výsledky KT, a niekde za ne (v tej istej KT) vložiť nové výsledky z nových vstupných dát ? To nejde. Jediné riešenie je, že si na iný list po aktualizovaní KT odkladajte jej výsledok (celú oblasť KT), a takto dokola. A budete mať všetky výsledky KT pod sebou. Makrom poriešte nejaké optické oddelenie výsledkov, formát a pod.
No problema...
Sub Vymaz_nezamcene_bunky()
Dim c As Range, v As Range
For Each c In ActiveSheet.UsedRange.Cells
If c.Locked = False Then
If v Is Nothing Then Set v = c.MergeArea Else Set v = Union(v, c.MergeArea)
End If
Next c
If Not v Is Nothing Then v.ClearContents
Set c = Nothing: Set v = Nothing
End Sub
EDIT: Ešte som upravil
v.ClearContents
na
If Not v Is Nothing Then v.ClearContents
aby nedalo chybu, keď žiadne také bunky nebudú.
Tá stránka neexistuje, ale aj tak, prečo doplnok mne všade funguje ?
Trochu som si o tom počítal, ale k ničomu som sa nedočítal... Spôsobilo to docela poprask... Ale ako to u MS býva, tak vlastne zbytočný.
No veru neviem. Teraz som to skúšal na 3 mašinách (W10x64 + Off2016x64, W7x64 + Off2007, W7x32 + Off2016x32) a všade OK, nikde doplnok po exnutí Excelu nemizne.. Len pre použitie tlače na Off2007 som zabudol, že treba zmeniť procedúru
Sub TiskniData(control As IRibbonControl)
Application.CommandBars.ExecuteMso ("PrintPreviewAndPrint")
End Sub
na
Sub TiskniData(control As IRibbonControl)
If Val(Application.Version) > 12 Then
Application.CommandBars.ExecuteMso ("PrintPreviewAndPrint")
Else
ActiveSheet.PrintPreview
End If
End Sub
lebo Off2007 ešte neobsahuje Mso "PrintPreviewAndPrint".
Ono by sa tam ešte šiklo pár veci, ako napr. kontrola, či vôbec nejaké dáta sú, a pod. Len som navrhol, či by sa dalo týmto smerom doplnku isť.
Urobte si doplnok. Uvádzam inšpiráciu.
Rozbalte ho sem:
c:\Users\meno užívateľa\AppData\Roaming\Microsoft\AddIns\
Zatvorte Excel, otvorte ho - Súbor - Možnosti - Doplnky - označte Spracuj_vymaz_tlac - Spustiť - zaškrtnite ho - OK
Pribudla v Exceli záložka Spracuj, kde sú 2 tlačítka, použitie je jasné.
Neviem, ako to myslíte s tou hlavičkou. Na to som ešte nepozeral, skúste to najskôr upresniť. Veď hlavičku môžete nastaviť vždy pred tlačou makrom, nemusí byť na to nejaká šablóna. Alebo tam majú byť vložené nejaké spešl objekty ?
...
Tie listy nemajú ani rovnakú štruktúru. Raz je "Picked pallets" v stĺpci AU, potom AV, potom AL, ...
Tipujem správne, ak poviem (podľa stĺpca A), že každý rok sa nejaká (neviem aká, napr. "Cumulative total") konečná hodnota vo všetkých listoch vloží do riadku hore, pred prvým riadkom, čo nieje rok, ale je to posledný mesiac a v ňom 1. deň. Vymažú sa mesiace, ostane teda len jediný riadok skončeného roku a dni 1-31 nasledujúceho mesiaca. Do týchto sa budú kopčiť hodnoty zo zošitu zo SAP. Ak bude ďalší mesiac, urobí sa to isté ako s koncom roku, len sa nezmažú mesiace. A to všetko v jednom a tom istom liste. Táto operácia sa bude robiť pre všetky listy zvlášť.
Teda inak povedané
-uzavreté roky majú jeden riadok
-uzavreté mesiace majú jeden riadok
-neuzavreté mesiace majú 31 riadkov
Odniekiaľ ešte treba získavať info o tom, koľko stĺpcov má daný list. Viď 1. veta.
Pekná pakáreň.
Ja som si to tu začal robiť postupne podľa popisu, čo ste dal. A teraz len tak omylom reloadnem okno, a tu je niečo iné. V zdrojových dátach máte dátum, v cieli nezačínate na predtým uvedenom riadku, nemáte tam 10 stĺpcov, pod tabuľkou sú dáta, máte tu niekoľko mesiacov v jednej tabuľke (teda vôbec nie tak ako ste vravel) ...
Tu máte zatiaľ rozrobenú verziu (podľa predchádzajúceho popisu). Mám teplotu, tak neviem, či sa mi bude chcieť piplať s tými Vašimi obrázkami, ktoré sú iné ako predošlý popis...
A kde sú nejaké dáta (alebo čo sú tie dáta) ?
DH, DI, DIALL sú kategórie, teda listy.
10, 11, 12, 13, ... sú :
a) poradové čísla (poradie dňa v mesiaci, alebo celkové poradie ???), a kde sú potom dáta ?
b) dáta. A podľa čoho určiť na aký dátum ich treba zapísať ?
EDIT: Doplňujúce :
-Kde sú súbory umiestnené? Na sieti ?
-Môže nastať situácia, že budú otvorené u iného užívateľa ?
-Z ktorého z nich sa má volať makro ?
-Teda každá kategória má každý deň 1 riadok, s rovnakým počtom stĺpcov ? Lebo Vám to na tú modrú tbl nesedí.
-Alebo kategória môže aj nemusí byť v daný deň, môže mať viac riadkov, a variabilný počet stĺpcov ?
-Ak kategória nieje, zapíšu sa 0 ?
-Ak list s kategóriou nieje, má sa vytvárať ?
-Každý deň sa teda vytvára dátum, ak to chápem.
...
Z druhej vety (ktorá je neviem prečo bez čiarok, potom ju treba čítať 5x na pochopenie) plynie, že chcete získať pozíciu aktívnej bunky, a podľa pozície prečítať z tabuľky výsledkov výsledok.
Lenže z 3. vety plynie, že chcete zadávať pozíciu aktívnej bunky, teda meniť aktívnu bunku. A to je presný opak predošlého.
Každopádne, obe tieto veci bez makra neurobíte.
Skúste priložiť prílohu s príkladom.
PS: Class - trieda - je tiež makro.
Záležať bude na tom, na čo chcete tú pozíciu aktuálnej bunky. Ak na to aby ste na základe práve aktuálne označenej bunky počítali niečo v úplne inej bunke, tak jedine makrom. Ak to chcete aby vzorec v nejakej bunke vedel o svojom riadku a stĺpci, tak vzorcom.
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.