Dobrý den.
Níže přikládám funkci, kterou mi napsal někdo schopnější než já. Základem bylo, že funkce hledala umístění jiných souborů ve složce, která ve stejné složce jako excelovský soubor, v kterém tato funkce byla použita. Fungovalo mi to na dropboxu kde adresa souboru byla stále na místním disku, ale nyní používám onedrive a adresa souboru je na síti (https://sgroupholding.sharepoint.com/) a vytvořená funkce neumí přečíst toto internetové umístění. Neřešil jste někdo něco podobného? Nebo nevíte, jak na to?
Function HYPLNK(C As String) As String
Dim Cesta As String, Subor As String
With ThisWorkbook
Cesta = .Path & "\SMLOUVY\"
Soubor = Dir(Cesta & "*")
On Error Resume Next
While Soubor <> vbNullString
If InStr(Left(Soubor, 6), C) > 0 Then HYPLNK = Cesta & Soubor: Exit Function
Soubor = Dir()
Wend
End With
End Function
Zdravím elninoslov, po několika měsících jsem narazil na problém s touto funkcí hyplnk. Jelikož se v názvu souboru vyskytují různé čísla a vlastní poznámky, tak pokud hledám např dle id 015 soubor 015_Oprava_beton_vp11001.pdf tak mi to muze dat odkaz na soubor hned prvni pokud bude vypadat např takto 001_Vypocet_neconeco_SK10155.pdf, tak id typu 015 nalezne v nazvu prvního souboru a odkaz bude chybny. Chtěl jsem se zeptat jestli lze provádět to vyhledávání jen například podle prvních šesti symbolů z názvu souboru. (nejdelší ID 501,01)
elninoslov napsal/a:
Ak chcete, pošlite mi na mail reálne súbory, pozriem sa Vám na to a sprevádzkujem. Ale priložte mi tam aj ručne urobený vzhľad ako to má vyzerať. Stačí s kúska údajov. Ak teda chcete. Zneužitie Vašich dát je vylúčené.
děkuji elninoslov, ale hází mi to chybku:
Run-time error '1004':
Application-defined or object-defined error
a problém to hází na řádek:
Set rng = Union(.Cells(2, 1).Resize(.Cells(Rows.Count, 1).End(xlUp).Row, .Cells(1, Columns.Count).End(xlToLeft).Column), .Cells(1, 3).Resize(, .Cells(1, Columns.Count).End(xlToLeft).Column - 2))
ten svuj excel jsem upravil tak aby měl první sloupce stejný jako v excelu Vašem.
(v nejhorším případě, když se mi na to nepodaří přijít tak si všechny hodnoty budu muset vypsat ručně a pak to napsat přes for cykly)
potřeboval bych udělat makro které mi na základě textu vysčítá příslušné číselné hodnoty a toto na více listech.
zjednodušeně:
sloupec A - číselné hodnoty
sloupec B - text (okna, dveře, podlahy ...)
nyní potřebuju aby mi makro do prvního listu vypsalo všechny textové řetězce (každý samozřejmě jen jednou) a pak mi to pro tyto texty vysčítalo jednotlivé listy. To vysčítání kdyžtak umím. Hlavně by mě zajímalo jak na to aby mi to z těch všech listů napsalo hezky pod sebe všechny textové řetězce, abych podle toho pak mohl nasčítat ony hodnoty. :)
zdravím použil jsem nepřímý odkaz a zjistil jsem že funguje jen když je excel otevřený, na zaveřný excel a to hází chybu nevím jak jinak to v excelu napsat
v bunce mam:
=NEPŘÍMÝ.ODKAZ("'C:\Users\Desktop\[ZAKAZKOVE_LISTY.xlsx]"&A12&"'!N6")
název listu je v bunce A12, potřebuju vymyslet jak na to, aby mi to fungovalo i při zavřeném excelu (na který se to odkazuje)
parádní, vskutku parádní, díky moc :))
Ještě jsem přemýšlel, jak by šlo udělat aby poté co to nalezne vyhovující soubor, tak aby jeho cestu formou hypertextového odkazu zapsal do nějaké buňky? (zadání vyhledávání bude vždy odpovídat pouze jednomu souboru)
Kouknul jsem na to jen v rychlosti a je to přesně ono!
Zítra mrknu a budu louskat kód, ať se něčemu přiučím.
ďakujem :)
elninoslov napsal/a:
V TotalCommander nemôžete mať problémy s radením ?! Používam len ten, a nemám problém. Základ je, aby ste mali rovnaký zápis, teda napr.
1,01
1,02
2,00
alebo
001,01
001,02
002,00
alebo
00101
00102
00200
a zaručene Vám to zoradí správne, za to si dám odtrhnúť ruku. Treba myslieť dopredu na počet znakov, a preto ako je vidieť z príkladu, ten Váš návrh nieje šťastný, lebo keď pridáte za 9,00 ďalší, čiže 10,00, tak Vám to zoradí takto
1,01
1,02
10,00
2,00
...
Inak urobil som Vám to makro. Do políčka zadáte číslo (ono je to ale text, nie číslo) pred čiarkou (Váš oddeľovač), a všetky súbory *.pdf, ktoré majú na začiatku to číslo (text) + "," Vám otvorí. Snáď ste to myslel takto.
Samozrejme, je jedno, kam celý adresár nakopírujete, aplikuje sa vždy aktuálna cesta.Příloha: 25740_hl2.rar
Děkuji děkuji. :)
1. Aha rozumím.Šlo mi to to když mám v buňce název 1,01 (přešel jsem z tisíců na jednotky kvůli řazení v total comanderu), tak se otvíraný soubor musí jmenovat shodně (což je pochopitelné), ale soubor pak sám o sobě nic svým názvem neřekne. Proto by bylo užitečné, kdyby se mohl jmenovat 1,01_Neco_neco.pdf
2. nemám zatím žádné makro pro vyhledávání. Mám jen "id" 1,01 2,00 2,01 3,00 4,00 atd. dále mám hypertextový odkaz které využívá toho "id" ze sloupce A. A to jste říkal, budu muset vytvořit např na začátku seznamu jedna bunky do ktere se zapíše ID požadovaného souboru (to si vytvořím sám) a makro pak už jen otevře soubor na základě té buňky s tím, že opět využije cesty tohoto používaného excelu aby se mohla složka s excelem přenášet a vše fungovalo i nadále.
> Makro tedy vyhledá soubor (který má v názvu číslo které je zapsané v nějaké určité buňce na listu kde je to tlačítko) jehož umístění je stejné jako jste mi napsal tu krásnou fuknci pár příspěvků nahoře.
ale jak řikám, to už je taková nadstavba, takže pokud Vás to vyloženě nebaví, tak se s tím nemusíte otravovat :D
elninoslov jo něco takového přesně potřebuju! :D (lépe řečeno přesně takhle jsem si to představoval, jen jsem tu fci neuměl napsat)
upravil jsem ten odkaz do českých příkazů a krásně to funguje, děkuju moc :)
A ještě jsem přemýšlel, jestli by nějak šlo otevřít v té složce všechny soubory, které obsahují text z té buňky(protože ty číselné názvy bude mít každý soubor jiný). Abych v buňce měl název "1000" a otevřelo mi to soubor, který bude začínat 1000_nazev_neco_neco.pdf .. To jen kdyby to byla nějaká jednoduchá operace. :)
Ale já potřebuju aby v bunce A5 byl název souboru a lince B5 byl odkaz na něj, a přemýšlím nad makrem nebo fcí, který mi odkaz vytvoří a zachová. takovýchto řádku totiž bude v řádu stovek a přidávat manuálně je tedy nemůžu.
Zdravím, přemýšlím jak udělat
1) propojení na jiné soubory
2) hypertextové odkazy na jiné soubory
na základě umístění právě používaného excelu.
Aby ve výsledku bylo možné odkázat se na excel který je ve složce, která je ve stejném adresáři(AA) jako právě otevřený excel (odkaz pdfka, která jsou umístěna obdobně)
ABY bylo možné adresář AA přemístit na jiný disk/poslat mailem/atd a propojení, hypertextové odkazy zůstaly funkční.
No a pak ještě přemýšlím jak odkázat hyp.text. odkaz třeba na pdf, když budu znát umístění složky a název souboru bude napsaný v aktivním excelu v nějaké bunce.
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.