Opäť vymýšľanie bez prílohy...
Buď ste to neskúšal na súboroch, so skladbou akou ste poslal, alebo ste si iba skopíroval makro (bez vytvoreného pripojenia na import XML), alebo neviem čo. Ja som to teraz skúšal prehodiť do rôznych adresárov, premenovať, meniť počet súborov, obsah súborov, počet riadkov DETECTION v súboroch. Bez problémov. Na Office 2013 x64 Pro SK a Win 8.1.1 x64 SK Pro.
Máte pripojenie na karte Údaje - Pripojenia - Názov pripojenia - Vlastnosti - Definícia - Súbor prepojenia ?
Robil som to takto :
Údaje - Z iných zdrojov - Z importu údajov XML - vybral som prvý XML súbor. Vypíše, že zadaný zdroj neobsahuje schému, potvrdím. Nechám vybrané Tabuľka XML v existujúcom hárku - $A$1 - Vlastnosti - Názov "SEARCH_Map", voľby nastavím na Nie, Áno, Áno, Áno, Áno, Pripojiť nové údaje k existujúcim tabuľkám XML - OK. Ešte raz OK, a načíta mi do tabuľky ten súbor ktorý som zadal. V tomto momente máme prepojenie. Môžeme nakopírovať a makro NESPÚŠŤAŤ (pozor na názov "SEARCH_Map", ak ste dal iný, treba v makre zmeniť). Rovnako buď si zmente názov objektu Tabuľka tak ako sa volá v mojom príklade "tblImport", alebo inak, každopádne opäť treba v makre nastaviť správny názov.
Súbor najskôr uložíme, lebo makro berie cestu k súborom predvolene tak, že cesta kde sa nachádza tento súbor XLSM + podadresár s XML súbormi
.Path & "\XML súbory\"
ak to chcete inak, opäť to upravte.
Spustite makro.
MUSÍ Vám to ísť. Pozrite sa, čo som kvôli Vám popísal, podrobný a presný návod, na rovnakom Office, niekoľkokrát skúšal, a funguje. Na dátach, ktoré mám.
EDIT:
Ešte ma napadlo, že ak sa pokúsite vymazať už raz vymazanú oblasť DataBodyRange Tabuľky, tak to samozrejme nepôjte, tak si ten riadok
.DataBodyRange.Clear
zmente na
On Error Resume Next
.DataBodyRange.Clear
On Error GoTo 0
Samozrejme tiež vyskúšané, tak mi netvrdte, že nende
Tuším otestujem aspoň to, čo som si len tak tipol v "PS". To bude ten bod 3. a 4. Ale všetky tie podmienky sklbiť dokopy .... moje nervy, to dokáže eLCHa, ale to už bude asi HardCore.
Napr aj (akýkoľvek dlhý reťazec):
=MID(A1;MIN(IFERROR(FIND(ROW($1:$10)-1;A1);FALSE));1)
=ČÁST(A1;MIN(IFERROR(NAJÍT(ŘÁDEK($1:$10)-1;A1);NEPRAVDA));1)
S maticami sa dá blázniť
Niečo takéto jednoduché to byť nemôže ?
Ja mám taký pocit, že sa tu RANKovanie týmov na základe vzájomných zápasov už niekde riešilo. Nechce sa mi ale hľadať, a už vôbec nie zamýšľať sa nad riešením tohto "zamotanca"
PS: Možno pomocou nejakej pomocnej tabuľky, kde by boli vzájomné zápasy 1=výhra, 0=prehra. Kto z dotknutých bude mať medzi dotknutými súpermi viac jedničiek (cez SUMPRODUCT napr.), ten je z nich najlepší. Nikdy som nechápal princípy týchto bodovaní, ale možno na to niekedy mrknem ...
napr.
Jednoducho takto
To orámovanie je ale problém. Label takú vlastnosť má. Nedarí sa mi to ho ale cez DisplayFormat prečítať, a len kvôli tomu použiť metódu na vyhodnocovanie PF (spomínanú v tom vlákne) je divné.
Už to tu bolo veľa krát. Ako vraví eLCHa, vzorček by šiel v pomocnom stĺpci vymyslieť. Napr. takto. Očakávané maximum v poli je nastavené na 100.
PS: Myslím, že s týmto nápadom pred časom prišiel marjankaj, nie som si istý...
Tá 1 na konci je iba číslo stĺpca, môžete vynechať, ak vkladáte do indexu jednostĺpcovú oblasť. Inak to máte dobre. Možno ľahšie pochopiteľný je:
=INDEX(A:A; 6+(ROW(B1)-1)*79)
=INDEX(A:A; 6+(ŘÁDEK(B1)-1)*79)
6 = počiatočný riadok
79 = ďalšie prírastky
Ako chcete, k tomu sa dá dopočítať rôzne...
@eLCHa : Narýchlo som to vyskúšal, a je to nie zrovnateľná, ale najrýchlejšia metóda. Perfektné. Rýchlo som prebehol aj Váš kód, a hneď som si všimol vylepšenia (krátke stringy, dolláriky...) Preštudujem lepšie neskôr. Tá stránka o optimalizácii, čo ste minule poslal, je veľmi prospešná.
Mnoho možností, pravda, napadá ma ďalšia, ak by ste potreboval ďalej pracovať s označenou hodnotou, tak môžete takto. Makro mení definovaný názov, v ktorom je vždy aktuálne označená bunka. Podmienený formát potom nieje problém, a navyše si môžete pre ďalšie potreby niekde vypísať tú hodnotu. Ešte prípadne v makre vymedziť funkčnú oblasť a je to.
Obdobné vlákno, možno sa Vám niečo hodí...
http://wall.cz/index.php?m=topic&id=29843#post-29943
-tabuľka musí mať nadpis (hlavičku)
-označiť tabuľku - Vložiť - Tabuľka - Zaškrtnúť, že tabuľka má hlavičku
- hneď vedľa tabuľky do riadku pod hlavičkou (v tomto prípade do B2), vložiť
=IFERROR(INDEX([názov hlavičky];(ROW()-2)*15+5);"")
=IFERROR(INDEX([názov hlavičky];(ŘÁDEK()-2)*15+5);"")
-Tabuľka sa sama rozšíri a sama doplní vzorce do celej výšky aj vypíše požadované riadky.
-ak to bude ako Tabuľka, vzorec sa dá jednoducho zmenou v jednom riadku zmeniť ako potrebujete, Tabuľka si ho aplikuje sama.
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.