Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  272 273 274 275 276 277 278 279 280   další » ... 302

Formát netuším, ale posledné číslo IP zistíte vzorcom takto:
=RIGHT(IF(LEFT(RIGHT(A1;4);1)=".";RIGHT(A1;3);RIGHT(A1;4));LEN(IF(LEFT(RIGHT(A1;4);1)=".";RIGHT(A1;3);RIGHT(A1;4)))-IFERROR(FIND(".";IF(LEFT(RIGHT(A1;4);1)=".";RIGHT(A1;3);RIGHT(A1;4)));0))
Potom si na koniec vzorca dajte +1. Ale čo potom ak dôjdete na číslo 255 ? Pri IP adresách sa nemôžete "preliať" zo 4 úrovne a prirátať 1-ku k 3. úrovni, a 4. počítať od 0. To tak nejde, to by bola už úplne iná podsieť.

EIDT:
=LEFT(A1;LEN(A1)-LEN(RIGHT(IF(LEFT(RIGHT(A1;4);1)=".";RIGHT(A1;3);RIGHT(A1;4));LEN(IF(LEFT(RIGHT(A1;4);1)=".";RIGHT(A1;3);RIGHT(A1;4)))-IFERROR(FIND(".";IF(LEFT(RIGHT(A1;4);1)=".";RIGHT(A1;3);RIGHT(A1;4)));0))))&RIGHT(IF(LEFT(RIGHT(A1;4);1)=".";RIGHT(A1;3);RIGHT(A1;4));LEN(IF(LEFT(RIGHT(A1;4);1)=".";RIGHT(A1;3);RIGHT(A1;4)))-IFERROR(FIND(".";IF(LEFT(RIGHT(A1;4);1)=".";RIGHT(A1;3);RIGHT(A1;4)));0))+1

alebo oveľa kratšia verzia :
=LEFT(A1;FIND(".";A1;1+FIND(".";A1;1+FIND(".";A1))))&RIGHT(A1;LEN(A1)-FIND(".";A1;1+FIND(".";A1;1+FIND(".";A1))))+1

EDIT2: A ešte ma napadlo urobiť Vám extrakciu každého čísla:
1. úroveň
=LEFT(A1;FIND(".";A1)-1)
2. úroveň
=MID(A1;FIND(".";A1)+1;FIND(".";A1;FIND(".";A1)+1)-1-FIND(".";A1))
3. úroveň
=MID(A1;FIND(".";A1;FIND(".";A1)+1)+1;FIND(".";A1;FIND(".";A1;FIND(".";A1)+1)+1)-1-FIND(".";A1;FIND(".";A1)+1))
4. úroveň
=RIGHT(A1;LEN(A1)-FIND(".";A1;1+FIND(".";A1;1+FIND(".";A1))))

Skúste ešte na skúšku zameniť "\\" na začiatku sieťovej cesty za "//", alebo odinštalovať aktualizáciu KB2553073.

U mňa to funguje aj na sieti. Akurát je to podstatne pomalšie. Takže sa tu trápim(e) zbytočne. Problém je v obmedzeniach prístupu na sieťové úložisko. S tým Vám neporadím.

Týmto teda spoločne s Barnie prosím niekoho s väčšími sieťovými skúsenosťami o pomoc.

Táto matica by Vám mohla fungovať, tak ako chcete. Treba ale doriešiť rozsahy, lebo je jasné, že sa budú meniť.
=IF(I2="ANO";IF(SUM(ISERROR(SEARCH("bobo";$C$2:$C$8))*ISERROR(SEARCH("triolo";$C$2:$C$8))*($A$2:$A$8=A2)*($B$2:$B$8>B2))>0;"ANO";"NE");"")

No podľa mňa by mohlo stačiť aj toto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ThisWorkbook.Worksheets("Hárok2").Cells(2, 3).Formula = "=Hárok1!" & Target.Cells(1, 1).Address
End Sub

-Keď bude označených viac buniek, reaguje len na prvú.
-Vkladá vzorec na aktuálnu bunku
-Keďže je to vzorec, tak reaguje aj na zmenu bunky, či už výpočtom alebo vložením.

Ten index 1,2,3 musíte mať v stĺpci A, nie na konci, a potom by to šlo
=VLOOKUP($A2;'Z:\[Zošit1.xlsx]Hárok1'!$A$2:$E$4;COLUMN(B$1);FALSE)
V tom Vašom Google dokumente
=VLOOKUP($A2;jedna!$A$2:$E$4;COLUMN(B$1);true)
V oboch prípadoch vložíte vzorec do E2, roztiahnete na vyšku a potom na šírku.

Urobte si pokusný adresár, kde budete mať iba 1 súbor a 1 jeho kópiu premenovanú (to aby sme eliminovali rozdielnosť). Zabezpečte, aby v oboch bolo hľadané číslo, a aby oba mali inú hodnotu v F2. Nastavte cestu k tomuto pokusnému adresáru v makre, a spustite. Opäť chyba ?
Ak áno makro opäť zastavte, tak ako predtým, pred tým riadkom, a vo Watches po rozkliknutí 2 x kliknite (nie dvojklik, ale 2 kliky po sebe) na niektorú hodnotu z poľa F2, a stlačte Ctrl+C. V tom liste potom do niektorej bunky na skúšku dajte v Editore vzorcov Ctrl+V a vymažte " na začiatku a na konci. Načíta to hodnotu zo súboru, alebo dá chybu ?
Nemáte náhodou otvorené aj iné Excel dokumenty počas toho makra ? Ak áno tak ešte pridajte do kódu pred všetky (3) "Worksheets(XYZ)..." toto "ThisWorkbook."
Ďalej ten inkriminovaný riadok presuňte pred predošlý so zápisom Súborov.
Ak sa nepodarí, skúste pravú stranu toho riadka obaliť 2x v Application.Transpose().
Nemáte náhodou obmedzený prístup k tým súborom ?
Ešte ma napadá, či nemáte Excel v režime R1C1.

To je všetko čo ma napadá. Snáď pomôže niekto skúsenejší...

Skúste či je toto to, čo si predstavujete.

Zmenťe riadok
.Cells(3, 1).Resize(1, UBound(F2)).Value = F2
na
.Cells(3, 1).Resize(1, UBound(F2)).Formula = F2
Pred týmto riadkom urobte BreakPoint, spustite makro, zastaví pred týmto riadkom, kliknite pklik na "F2" v kóde a dajte "Add Watch", dole v okne "Watches" rozplusknite to F2, upravte šírky stĺpcov tak aby boli vydieť celé hodnoty "Value", z tohto pošlite ScreenShot. Potom stlačte F8, vykoná sa krok. Uvidíme či to prejde.

Inak neodpovedali ste skoro na nič. Máte v tej zložke aj iné súbory ako tie z ktorých sa majú vyberať v tomto makre dáta ?
A ďalšia veľmi dôležitá vec, súbor ktorý ste poslal predtým, má v hľadanej oblasti riadky 4:18, a v tomto poslednom súbore máte 4:20. To je veľký problém. Súbory musia byť rovnako koncipované. Neviem, ako by sme jednoducho zisťovali, ktorý súbor má tu oblasť ako veľkú.

No inak ako takto to neviem.
-Každá položka v liste Výber, musí mať svoju samostatnú oblasť v Temp, na počítanie validných dát pre danú položku. To sú tie skupiny po 10 riadkov. To je aj obmedzenie, že na jeden výrobok môže byť 10 druhov, z čoho vyplýva že môže byť na výrobku iba jeden druh a môže mať 10 rozmerov. Nemôže byť 10 druhov po 10 rozmerov. Rozmerov môže byť max 10 pre všetky rozmery všetkých druhov jedného výrobku. Snáď sa chápeme.
-Ak chcete mať viac položiek výrobkov v Data ako 40, tak treba pretiahnuť vzorec v Temp!A na požadovaný počet položiek +rezerva.
-Ak chcete mať viac položiek ako 30 v Výber, tak pretiahnite vzorce vo Výber na požadovaný počet, ale aj takýto počet musí byť tých skupín po 10 v Temp.
- plus platí aj to čo som písal minule

Otestujte to a dajte vedieť.

Ale aj tak mám silné tušenie, že to nebudete chcieť takto, ale posunuté o X riadkov dole, nad tým nejaká hlavička, možno aj posunuté o Y riadkov do strany. Je to šité na mieru na takéto usporiadanie! A zmena, ak sa pozriete na brutálne vzorce (hlavne tie v Definovaných názvoch) nieje jednoduchá. Bude sa mi musieť veeeeľmi chcieť, aby som to ešte upravoval.

Možno Vám dám ešte jednu šancu na upravenie, ale musíte mi poslať presný dizajn ako to má vyzerať. Žiaden slovný popis, ale súbor s presne označenou plochou v ktorej bude to, čo je teraz v Výber.

Ak Vám to takto stačí, budem len rád 5

To by mohlo byť pretečenie premennej alebo žiadna hodnota v nej. Alebo nedostatok pamäti, Excel niekedy zle "čistí" alokovanú pamäť. Ďalej by to mohlo spôsobovať umiestnenie makra do listu a nie do modulu. Ďalej by to mohol byť iný názov listu v hlavnom súbore alebo v niektorom z prehľadávaných súborov. Ďalej by to mohla byť iná štruktúra v prehľadávaných zošitoch, ako tá s ktorou sa počíta (napr. posun o riadok/stĺpec, zlúčené bunky...). Ďalej to môže byť iný adresár, ako ste mi napísal. Ďalej tento hlavný súbor NESMIE byť v adresári s prehľadávanými súbormi (dá sa urobiť, aby tam mohol byť).
Inak mne makro funguje bez problémov v Excel 2013 Pro SK x64 na Windows 8.1.1 Pro SK x64, aj na Excel 2010 Pro SK x86 na Windows 7 Pro SK x86.
Ja to skúšam na 211 kópiách toho súboru čo ste mi dali (6131880_LBR15 Paris - Brickley - tail_BOM_V2.xlsx), a v presne takom adresári ako ste napísal. Zmenili ste si prípadne cestu k tým súborom ? A máte tam také súbory aké tam majú byť, alebo aj iné ? Skúšajte rovno tento súbor čo Vám posielam, nič zatiaľ nedávajte do žiadneho iného Vašeho súboru, záleží na každej maličkosti. Ak ste to makro premiestňovali, dali ste si pozor na to formátovanie v tomto hlavnom súbore, hovorím o správnom zlúčení buniek.
Proste nemôžem u mňa vypozorovať chybu. Ale aj tak som Vám pridal nulovanie polí do kódu, a presunul som ho do modulu.

Momentalne nie som doma, tak len z tabletu. Je potrebne makro spustiť z VBA cez F8, a krokovať cez F8. Tak zistíte riadok na ktorom Vám to dá chybu.

U mňa pracuje OK (Office 2013), skúste potom teda verziu vedľa, kde je určený riadok 1.

A ešte drobnosť, dávate si tam CZ ekvivalent funkcie MATCH - POZVYHLEDAT ?

Môžete skúsiť toto:
=INDEX($A$1:$Y$1;MATCH(AB2;A2:Y2;0))
a nakopírovať bunku so vzorcom aj do ostatných buniek v AC

Myslíte niečo takéto ?


Strana:  1 ... « předchozí  272 273 274 275 276 277 278 279 280   další » ... 302

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