Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  44 45 46 47 48 49 50 51 52   další » ... 122

Zápis do .csv sa dá úspešne riešiť pomocou statementu Open. Bližšie info napr. tu: https://msdn.microsoft.com/en-us/library/office/gg264163.aspx
Spôsob použitia potom napr. tu:http://www.homeandlearn.org/write_to_a_text_file.html

Pokiaľ by som mal problém vyriešiť ja, tak by som sa v prvom rade zamyslel nad tým, či by nebolo lepšie dáta zapisovať na jeden list a z neho potom tvoriť samostatné listy pre jednotlivých pracovníkov - t.j. presne opačný koncept, než je použitý v zadaní. O dôvodoch, prečo to má vyzerať, ako navrhujem, sú popísané spústy stránok.

V prípade, že by ale nebolo možné postupovať hore načrtnutou cestou, tak by som asi zapojil MS Query s jednoduchým zjednocovacím dotazom, ktorého možný základný tvar, ktorý je ďalej modifikovateľný, by bol nasledujúci:SELECT *
FROM `List2$`
UNION ALL
SELECT *
FROM `List3$`
UNION ALL
SELECT *
FROM `List4$`
UNION ALL
SELECT *
FROM `List5$`
. Jeho vytvorenie trvalo cca 2 minúty, za tak krátku dobu, obávam sa, nikto funkčné makro nenapíše, to samé by platilo i o riešení cez vzorce. Napísanie odpovede mi zabralo viac času, než samotné vytvorenie uvedeného dotazu v MS Query.

Ešte dodám, že príklady rôznych riešení konsolidácie dát má na svojich stránkach veľmi dobre popísané Ron de Bruin, takže pokiaľ máš záujem, môžeš študovať a niečomu sa priučiť, stojí to za námahu, tuná: http://www.rondebruin.nl/win/section3.htm

Nie je. Je to napísané i priamo v dialógovom okne podmieneného formátovania - môžeš meniť štýl, podtrhnutie, farbu a preškrtnutie. Voľba veľkosti fontu je šedivá, ani font samotný cez podmienené formátovanie nejde zmeniť.

Prípadne s nevolatilnou fn Index
=MID(INDEX(import56!AB:AB;7; 1); 1; 2)

O.k., možný postup:
1. Pomocou funkcie dir testovať v cykle existenciu súborov (.xls alebo .xlsx) v danom adresári
2. Vo vnútri cyklu:
súbor otvoriť, testnúť existenciu listu BOM
pomocou funkcie countif vyhodnotiť prítomnosť hľadaného reťazca v oblasti c5:c19
pokiaľ je hľadaný reťazec prítomný, zapísať hodnotu bunky F2 (neuvádzaš, kam sa má hodnota zapisovať, takže to popisujem schematicky, súbory fakt tvoriť nebudem), súbor zavrieť a vyskočiť z cyklu (viď. bod 1)
3. pokiaľ podmienka z bodu 2 nie je splnená, zavrieť príslušný súbor a pokračovať v cykle (bod 1) spracovaním ďalšieho súboru.

@JC-Group
Mám dojem, že príspevok odporuje pravidlám fóra, konkrétne:

Pravidla a návod, jak správně vkládat příspěvky. Příspěvky s vulgárními výrazy, warez, spam, komerční reklama a jiné příspěvky, které jsou v rozporu se slušnými mravy budou odstraněny. V krajních případech bude být uživateli udělen BAN.

Je to ale čisto môj názor, je možné, že sa v skutočnosti nejedná o komerčnú reklamu. Každopádne ale, uvedené stránky na mňa osobne nepôsobia dojmom, že by dokázali niekomu pomôcť.

Mám za to, že tuná sa riešilo niečo podobné:http://wall.cz/index.php?m=topic&id=25883

@ eLCHa
ešte som sa k tomu nedostal, bohužiaľ. Ozvem sa, akonáhle to bude možné 7

Asi by si mal vziať do úvahy, že excel súbory môžu mať i viac, než jeden list, teda v prípade, kedy preferuješ slovný popis zadania pred uverejnením tajných príloh 7.

Budeš musieť list odomknúť, nastaviť vlasnosť príslušnej oblasti buniek Locked na False, následne povoliť triedenie na zamknutom liste, bližší popis viď tuná:https://msdn.microsoft.com/en-us/library/office/ff839266(v=office.15).aspx

Tu je príklad umožnenia triedenia v oblasti K8:K40:Sub Test()
With ActiveSheet
.Unprotect
.[K8:K40].Locked = False
.Protect userinterfaceonly:=True, AllowFiltering:=True, AllowFormattingColumns:=True, AllowFormattingCells:=True, _
AllowSorting:=True
.EnableOutlining = True
End With
End Sub

Dnes mám dovču, vyskúšam zajtra, ďakujem.

Nakoniec som na to prišiel - tipoval som správne na nutnosť late binding; nakoľko by sa to mohlo niekomu hodiť, tak tu je moje riešenie:Sub SapOds()
Dim xl As Object
Set xl = CreateObject("Excel.Application")
xl.Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:="C:\Users\al057494\Desktop\pom.ods", FileFormat:=xlOpenDocumentSpreadsheet
xl.Application.DisplayAlerts = True
Set xl = Nothing
End Sub
Má to ešte jednu chybku na kráse, a to je, že neviem prísť na to, ako programovo zabezpečiť úplný rozpad výkazu (sapia skratka Shift+F9) pred jeho uložením do .ods. To zatiaľ robím ručne, pokiaľ má niekto šikovný skriptík na toto, tak sem s ním. 1

Ahoj,

report v SAP report writeri, pokiaľ sa zobrazí v Exceli v okne SAP - po vykopírovaní do Excelu metódou COPY/PASTE (mimo SAP) sa zmení paleta farieb a to tak, že brutálne. Toto je známy problém spôsobený tým, ako je to v SAPe naprogramované.
Uvedené sa dá obísť tým, že sa súbor uloží v SAP/Excel okne ako .ods a v Exceli (mimo SAP) sa potom otvorí tento .ods súbor, ktorý tentokrát zobrazí pôvodnú paletu farieb. Na toto som si nahral jednoriadkové makro:Sub SapOds()
ActiveWorkbook.SaveAs Filename:="C:\Users\al057494\Desktop\pom.ods", FileFormat:=xlOpenDocumentSpreadsheet
End Sub
V podstate funguje bez väčších problémov až na jeden detail: Ukladám vždy do jedného a toho samého pomocného súboru na ploche, takže súbor existuje a pri SaveAs pochopiteľne vyskočí hláška s upozornením, že súbor existuje a treba potvrdiť jeho prepísanie. Tú hlášku by som rád eliminoval, ale tradičné Application.DisplayAlerts = FALSE / TRUE skončí chybou. Makro spúšťam zo Sapieho Excelu (z Excelu v SAPom okne), uložené je v Personal.xls. Takže, milí sapáci, vedel by niekto, čo s tým? Predpokladám, že to bude pravdepodobne spôsobené potrebou nastavenia referencií, alebo použitím pozdnej väzby, ale trochu tápem a spolieham na to, že možno niekto pozná jednoduché riešenie..

Videl by som to na kombináciu funkcií MIN a IF, ale súbor tvoriť nebudem, pokiaľ píšeš, že ho máš, tak sa zaregistruj a vlož ho sem.

Odpoviem za kolegu, ktorý už zrejme touto dobou spí: zmyslom &" - "& je oddeliť (vizuálne ale i logicky), dva spájané reťazce; bez použitia &" - "& by sa totiž v istých prípadoch mohlo stať, že spojením dvoch nerovnakých dvojíc by vyšiel ten samý výsledok, čo môže viesť k neočakávaným problémom, príklad:

1.
reťazec A1: PrvýDruhý
reťazec B1: Tretí

2.
reťazec A1: Prvý
reťazec B1: DruhýTretí

Za použitia A1&B1 by v oboch prípadoch bolo výsledkom PrvýDruhýTretí, zatiaľ čo za použitia A1&" - "&B1 to bude výsledok rozdielny pre prvý a druhý príklad. Spojovník teda slúži k vizuálnemu oddeleniu a zároveň (a to je to podstatnejšie) k eliminácii možnej chyby.


Strana:  1 ... « předchozí  44 45 46 47 48 49 50 51 52   další » ... 122

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