< návrat zpět

MS Excel


Téma: Odkaz na buňku v jiném sešitu bez jeho otevreni rss

Zaslal/a 10.11.2015 10:42

Dobrý den, obracím se na Vás s prosbou o pomoc. Potřebuji se v rámci jednoho sešitu odkazovat na buňky z jiných sešitů. Podařilo se mi toho docílit pomocí funkce nepřímý odkaz, ale ta požaduje otevření odkazovaného excelu. Tato vlastnost mi přijde poměrně nesystémová (při větším množství excelů). Existuje obdobná funkce, která by to zvládla bez nutnosti otevření souborů?

Zaslat odpověď >

Strana:  « předchozí  1 2 3   další »
icon #027992
avatar
@marjankaj: Ono si za to do značnej miery môžeme sami, vďaka svojej ješitnosti, alebo ako to vlastne nazvať 1 . Pokiaľ by sme za riešenie striktne požadovali nejakú úhradu, OP by sa začali snažiť trochu viac, aby poskytli čo možno najpodrobnejšiu a najpresnejšiu špecifikáciu problému hneď na začiatku. Ale pokiaľ sa nájde niekto, ochotný radiť zadarmo (a to poväčšine, k našej škode, platí), tak sa niet čomu diviť, že existujú vlákna na 4 a viac strán i v prípadoch, že pri zrozumiteľnom zadaní a dodaní prílohy, z ktorej bude hneď jasné, čo sa chce, by stačila na vyriešenie jedna odpoveď. Za seba ale hovorím, že bedhov problém som, trúfam si tvrdiť, pochopil hneď z jeho úvodných príspevkov.citovat
#027994
elninoslov
Ja som to pochopil výnimočne hneď , s tým sa musím pochváliť, lebo to sa nestáva 5 .
Teraz k veci, mám niečo už rozrobené, žiaľ nedostatok času, aj teraz len z tabletu ...
1. Makro použijeme tak či tak.
2. Makrom môžeme do pomocného listu vytvoriť 5000 odkazov na súbory, tak že v A bude číslo (názov súboru), a v B link na hodnotu v súbore. Makro potom vymažeme, súbor bude bez makra.
3. V hlavnom liste hlavného súboru v B, použijeme VLOOKUP/POZ.VYHLEDAT.
=VLOOKUP(A1;LinkList!A1:B5000;2;0)
Do A si zadáme zošit, ktorý chceme, vzorec bude kopírovateľný, bude to bez makra, a rýchle.
4. Len treba zabrániť hláškam o neexistujúcom prepojení, keď bude dopredu viac prepojení pre prípad pridávania súborov.
5. Môžeme v udalosti Worksheet_Change v A odchytiť zmenu a makrom vložiť do B správny link, v tomto prípade kopírovanie vzorcov netreba, stačí napísať názov súboru do A. Nevýhoda je, že prídeme o Undo funkciu.
6. Môžeme použiť ExecuteExcel4Macro, kde musíme buď vytvárať novú inštanciu Excelu v každom volaní UDF, alebo sa použije globálna premenná inštancie, čo je podstatne rýchlejšie. Súbor bude bez otvárania, vzorec kopírovateľný.
7. Použiť ADO Record na ťahanie dát ale rovnako makrom v UDF, čo má tiež značnú réžiu.

Ja som za uskutočnenie krokov 2, 3, 4. Len ako vyradiť tie hlášky a nutnosť vyberania umiestnenia pre 5000 súborov.citovat
#028000
avatar
@elninoslov
Ja som to tušil, že ty to dáš aj bez prílohy. 2citovat
#028007
elninoslov
Tu je ten príklad bez makra. je tam aj súbor s makrom, v ktorom som si vytvoril tie odkazy, aby sa nemuseli ručne, a potom sa to používa bez makra, ale je v tom háčik. Súbor, je kvôli tým 5000 odkazom obrovský (4,1 MB).
http://uloz.to/xxHuRpY2/ext-rar

Tak keď bude čas, pozriem ešte na tú makro-verziu s ExecuteExcel4Macro... prípadne Worksheet_Change.

@marjankaj: No to určite, ja práveže slovné úlohy takmer nikdy nedokážem "dešifrovať" 5

EDIT:
Tak do prílohy dávam ešte riešenie pomocou makra s detekciou zmeny údaju v A, a automaticky priradí do B správny odkaz, kopírovanie vzorca postráda zmysel.
A ešte verziu s ExecuteExcel4Macro v UDF (s u niekoho problematickým Excel.Application objektom), ktorú si síce môžete nakopírovať vložiť kamkoľvek s parametrom bunky ktorá obsahuje číslo súboru, čiže je to kopírovacie ťahaním, ale má to jedno veľké mínus. Nedajú sa vypnúť hlášky o nesprávnom odkaze. Resp. som neprišiel na to ako. Vypnúť DisplayAlerts ani EnableEvents nezaberá.
Příloha: rar28007_ext23.rar (37kB, staženo 64x)
citovat
#028016
avatar
Dobrý den, moc děkuji za nápady a makra. Bohužel se mi dnes nedaří je rozchodit, tak to nechám raději na další den.
Podařilo se mi ještě najít jednu utilitku, která by měla umožnit přesně to co bych chtěl. Bohužel není určená pro 64-bit verzi, tak nemohu otestovat. http://www.ashishmathur.com/extract-data-from-multiple-cells-of-closed-excel-files/citovat
#028030
avatar
Zkusil jsem projít jednotlivé soubory a bohužel to asi není tak jak byla moje představa. Soubor Hlavný3.xlsm mi nefunguje vůbec. U ostatních 2 musí být název zdrojových souborů číselný a když dojde k úpravě dat ve zdrojovém souboru tak musím hlavní soubor vypnout a znovu zapnout, jinak se data nenačtou. Pokud nějaký název vynechám, (třeba 8) tak mi to číslo 9 nenačte.
Nečekal jsem, že chci od excelu něco tak moc extra.
Všem Vám moc děkuji za Váš čas.citovat
#028039
avatar
Ahoj! Dovolil jsem si doplnit Funkci od elnina.
Ten Hlavný3 ti nešel pravděpodobně proto, že bylo třeba ve vzorci na listu SETUP zaměnit "názovsúboru" za "filename".
Příloha: rar28039_hlavny3.rar (20kB, staženo 65x)
citovat
#028067
elninoslov
Samozrejme, že to pri zmene v liste so všetkými odkazmi potom nefunguje. Tie odkazy si musíte najskôr všetky pripraviť, podľa mien všetkých súborov. To vôbec nemusia byť iba čísla. Napr. ako som spomínal, makrom, cez vyhľadávaciu funkciu "dir" prebehnete celý adresár, a urobíte si zoznam všetkých súborov, a vytvoríte si stály, aktívny, automaticky aktualizovaný zoznam hodnôt (pomocou vzorcov vytvorených týmto makrom) zo všetkých súborov. Makro môžete zmazať, ak Vám budú pribúdať ďalšie súbory, tak si ich obdobne dopíšte do tohto listu, analogickými vzorcami. To nieje riešenie na mieru, ale len ukážka.

Potom v pracovnom liste už vyhľadávate medzi hodnotami zo všetkých súborov, ktoré Excel natívne (vzorcami) číta sám. A ako vyhľadávacie kritérium je názov súboru.

PS: To ako vyzerá ten vzorec, je tam iba na ukážku, ako by mal vyzerať. Pri zmene názvu súboru sa nezmení aj odkaz, ktorý už reálne načíta data. To je práve to nerealizovateľné, čo ste chcel.citovat
#028076
avatar
Za dodatečnou přílohu bych palec nahoru nedal. V podobných případech by měla být příloha samozřejmostí. Poskytnutí vhodné rady by totiž nemělo vyžadovat věštecké schopnosti pro správnou reakci.
Očekávat, že pro daný případ bude možné napsat "rozkopírovatelný vzorec", svědčí o nepochopení, co Excel při rozkopírování dělá: neděje se totiž nic jiného, než že se "tupě" rozkopíruje zdrojový vzorec v podobě R1C1. V tom spočívá genialita i omezení pro možnosti kopírování vzorců. V tomto schématu se prostě jméno souboru měnit nemůže!
Přijde mi velmi nesystémové, pokud autor příspěvku něco takového od Excelu očekával.citovat
#028078
elninoslov
@bedha: No ja som si ten doplnok otvoril, a nefungovať to bude vysokopravdepodobne len kvôli tým deklaráciám API. Skusmo som si skúsil niektoré zmeniť na x64, ale bude potrebné si preštudovať celý kód, a to sa mi pravdupovediac fakt nechce. 8citovat

Strana:  « předchozí  1 2 3   další »

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