Hirdetés

Új hozzászólás Aktív témák

  • psg5
    veterán

    1. Először is minden munkafüzet legyen abban a könyvtárban, ahol használni szeretnéd (ne utólag kerüljön át másik mappába)
    2. Nyisd meg/hozd létre azt a munkafüzetet, amiben a másik 3 munkafüzet adatait szeretnéd egyesíteni
    3. Nyisd meg a 3 munkafüzetet is
    4. Hozd létre a szükséges, működő képleteket és zárd be a 3 munkafüzetet

    Megfigyelheted, hogy amíg a 3 munkafüzet meg volt nyitva, addig az Excel a képletekben csak a munkafüzet neveit jelölte, az útvonalukat nem. Viszont ha bezárod a 3 munkafüzetet, akkor az Excel automatikusan kibővíti a képletekben az útvonallal is.

    Így mentsd el az összesítő munkafüzetet.

    Úgy tűnik működik így, de ha nincsenek megnyitva az xls-ek melyekből az adatok jönnek, és megnyitom az összesítőt akkor az office kiírja, hogy: a rendszer leállította a hivatkozások automatikus frissítését, itt 2007-ben állítható,de hiába ha a többi csukva van akkor nem hívja be a számokat.

  • Traxx
    őstag

    Na akkor más a leányzó fekvése!!

    Akkor az előbb amit csináltál azt szedd le! és csinál a következőt!
    A képen látod a D11:N11 sort ez lesz nálad a "jelleg" nevű lista amit tartomány elnevezéssel készítesz el!
    ezután minden egyes jelleghez létrehozod a saját listáját tartományelnevezéssel! pl: E -hez az a,b ,c!
    ha hibát jelez az excel akkor adj neki vmi más elnevezést mint a kód!
    pl: a nagy O betűt, O/Sz nél nem engedi elnevezni O nak találj ki vmi nevet neki!

    Ezután a B57 hez teszel egy érvényesítési listát! a lista a jelleg nevű lesz!! ezt már tudod hogy kell készíteni!
    és az érvényesítés cellához pedig a következő listát kell tenni aminek a forrásához az indirekt fgv. használod (segítség a képen van) =INDIREKT(B57) nálad

    Ezt megint emésztenem kell :D :B No, akkor a te képeden keresztül leírom, mit csináltam, és mi az, ami (ismét :B ) nem teljesen tiszta...

    A jellegek szerint megcsináltam a táblázatot, és az egyes jellegek listáit az Adatok - Listák - Lista létrehozása ponttal. A Jelleg listát is megcsináltam, vagyis a te ábrád alapján kijelöltem a 11-es sor elemeit, és a Név mezőben elneveztem Jellegnek.

    Leginkább az utolsó bekezdéseddel van problémám. Ugyanis azt írtad, hogy "Ezután a B57 hez teszel egy érvényesítési listát! a lista a jelleg nevű lesz!" Nos, ezt azért nem tudom, mert a kérdéses cellában maga a Jelleg van megjelenítve, ami az összesítő lap celláira hivatkozik...

    És a következő mondatodat sem értem: "és az érvényesítés cellához pedig a következő listát kell tenni aminek a forrásához az indirekt fgv. használod (segítség a képen van) =INDIREKT(B57) nálad". hogy ha jól értem, ez az indirekt függvény hozná az adott jelleg elemeit? Vagy hogy van?

    Megkavarodtam...nem egyszerű kenyér ez az excel :O

  • lappy
    őstag

    Még egy dologban kérném a segítségedet. Az excelnek megvan az a nyűgje, hogy csak 7 függvényszintet tudok egymásba ágyazni. Amit írtál az előbb, az nagyon jó lett, és jelenleg így néz ki a képletem:

    =HA(B57="E";AB56:AB64;HA(B57="O";AB74:AB81;HA(B57="O/Sz";AB82:AB87;HA(B57="Sz";AB89:AB100;HA(B57="H";AB68:AB69;HA(B57="V";AB101:AB102;HA(B57="M";AB71;HA(B57="E/H";AB65;0))))))))

    Frankón működik is, viszont van pár kód, aminek így már nem maradt szintje. Tehát nem tudok helyet találni az F, S, L kódnak, és ahogy a legutóbbi hozzászólásomban írtam, arra gondoltam, hogy ezek előfordulása esetén ne szűrjön (mert relatíve úgyis ritkán fognak előfordulni az ezekhez kapcsolódó feladatok), hanem az egész listában keressen. Mit kellene módosítanom ehhez a képleten?

    Köszönöm ismét a segítséged :R

    Na akkor más a leányzó fekvése!!

    Akkor az előbb amit csináltál azt szedd le! és csinál a következőt!
    A képen látod a D11:N11 sort ez lesz nálad a "jelleg" nevű lista amit tartomány elnevezéssel készítesz el!
    ezután minden egyes jelleghez létrehozod a saját listáját tartományelnevezéssel! pl: E -hez az a,b ,c!
    ha hibát jelez az excel akkor adj neki vmi más elnevezést mint a kód!
    pl: a nagy O betűt, O/Sz nél nem engedi elnevezni O nak találj ki vmi nevet neki!

    Ezután a B57 hez teszel egy érvényesítési listát! a lista a jelleg nevű lesz!! ezt már tudod hogy kell készíteni!
    és az érvényesítés cellához pedig a következő listát kell tenni aminek a forrásához az indirekt fgv. használod (segítség a képen van) =INDIREKT(B57) nálad

  • psg5
    veterán

    1. Először is minden munkafüzet legyen abban a könyvtárban, ahol használni szeretnéd (ne utólag kerüljön át másik mappába)
    2. Nyisd meg/hozd létre azt a munkafüzetet, amiben a másik 3 munkafüzet adatait szeretnéd egyesíteni
    3. Nyisd meg a 3 munkafüzetet is
    4. Hozd létre a szükséges, működő képleteket és zárd be a 3 munkafüzetet

    Megfigyelheted, hogy amíg a 3 munkafüzet meg volt nyitva, addig az Excel a képletekben csak a munkafüzet neveit jelölte, az útvonalukat nem. Viszont ha bezárod a 3 munkafüzetet, akkor az Excel automatikusan kibővíti a képletekben az útvonallal is.

    Így mentsd el az összesítő munkafüzetet.

    Megnézem, hátha nem egészen így csináltam.
    Nagyon köszi! :R

  • Fire/SOUL/CD
    félisten

    Hát pedig idáig csak úgy ment ha meg volt nyitva az adott xls, pedig megvolt a teljes út. (csak kiírta, hogy: érték)
    Na akkor ezt átnézzem még egyszer valahol biztos hiba van...

    1. Először is minden munkafüzet legyen abban a könyvtárban, ahol használni szeretnéd (ne utólag kerüljön át másik mappába)
    2. Nyisd meg/hozd létre azt a munkafüzetet, amiben a másik 3 munkafüzet adatait szeretnéd egyesíteni
    3. Nyisd meg a 3 munkafüzetet is
    4. Hozd létre a szükséges, működő képleteket és zárd be a 3 munkafüzetet

    Megfigyelheted, hogy amíg a 3 munkafüzet meg volt nyitva, addig az Excel a képletekben csak a munkafüzet neveit jelölte, az útvonalukat nem. Viszont ha bezárod a 3 munkafüzetet, akkor az Excel automatikusan kibővíti a képletekben az útvonallal is.

    Így mentsd el az összesítő munkafüzetet.

  • psg5
    veterán

    Ha teljes útvonalat adsz meg, akkor annak a munkafüzetnek nem kell megnyitva lennie.

    Hát pedig idáig csak úgy ment ha meg volt nyitva az adott xls, pedig megvolt a teljes út. (csak kiírta, hogy: érték)
    Na akkor ezt átnézzem még egyszer valahol biztos hiba van...

  • Fire/SOUL/CD
    félisten

    Oké, köszi!
    Vagyis akár lehet másik meghajtón (akár hálózatin) is? Vagy azért annak ugyanannak kell lennie?

    Azt lehet állítani, hogy amelyik xls-ből hívja meg a függvényt annak ne kelljen megnyitva lenni? Vagy az csak úgy megy ha nyitott az xls?

    Ha teljes útvonalat adsz meg, akkor annak a munkafüzetnek nem kell megnyitva lennie.

  • psg5
    veterán

    Az mindegy milyen függvény, útvonallal együtt megadható az XLS. Például:
    =SZUM('C:\Users\Fire\Documents\[Munkafüzet1.xlsx]Munka1'!$A$1:$A$4)

    Oké, köszi!
    Vagyis akár lehet másik meghajtón (akár hálózatin) is? Vagy azért annak ugyanannak kell lennie?

    Azt lehet állítani, hogy amelyik xls-ből hívja meg a függvényt annak ne kelljen megnyitva lenni? Vagy az csak úgy megy ha nyitott az xls?

  • Fire/SOUL/CD
    félisten

    Darabteli függvénynél, ha másik .xls-ből hívom be az adatokat, egy mappában muszáj lennie az .xls-eknek vagy lehetnek bárhol?

    Az mindegy milyen függvény, útvonallal együtt megadható az XLS. Például:
    =SZUM('C:\Users\Fire\Documents\[Munkafüzet1.xlsx]Munka1'!$A$1:$A$4)

  • psg5
    veterán

    "Azt kellene megoldani, hogy a három másolat adatait egybe, összeadva rakni, ugyanolyan struktúrába, ugyanúgy mindegyik fülön megjelenjenek."
    Mármint egy 4. munkafüzetbe? (pl van munkafüzet1.xls/munkafüzet2.xls/munkafüzet3.xls és egy pl munkafüzet4.xls-ben összesítse az adatokat?)

    Darabteli függvénynél, ha másik .xls-ből hívom be az adatokat, egy mappában muszáj lennie az .xls-eknek vagy lehetnek bárhol?

  • psg5
    veterán

    "Azt kellene megoldani, hogy a három másolat adatait egybe, összeadva rakni, ugyanolyan struktúrába, ugyanúgy mindegyik fülön megjelenjenek."
    Mármint egy 4. munkafüzetbe? (pl van munkafüzet1.xls/munkafüzet2.xls/munkafüzet3.xls és egy pl munkafüzet4.xls-ben összesítse az adatokat?)

    Alakul: Darabtelivel képlet megcsinál, figyel, hogy dollárjel ne legyen és így képlet behúz minden cellára.

    Fontos lenne azonban, hogy:

    Azonban azt meg lehet-e valahogy oldani, hogy ameddig nulla az érték, ne írja ki a nullát csak, ha érték van?

    Megvan!:

    Jelölje ki azokat a cellákat, amelyek elrejteni kívánt nulla (0) értéket tartalmaznak.
    A Kezdőlap lap Cellák csoportjában kattintson a Formátum gombra, majd a Cellák formázása parancsra.

    Válassza a Kategória lista Egyéni elemét.
    A Formátumkód mezőbe írja be a 0;-0;;@ értéket.

  • psg5
    veterán

    "Azt kellene megoldani, hogy a három másolat adatait egybe, összeadva rakni, ugyanolyan struktúrába, ugyanúgy mindegyik fülön megjelenjenek."
    Mármint egy 4. munkafüzetbe? (pl van munkafüzet1.xls/munkafüzet2.xls/munkafüzet3.xls és egy pl munkafüzet4.xls-ben összesítse az adatokat?)

    Igen, úgy. És mindegyik xls en belül van 13 fül. (De mindegyik xls ugyanolyan)
    Arra gondoltam, hogy darabteli függvénnyel esetleg be lehet-e hívni?
    DE nagyon sok cella van amibe külön külön kellene. Lehet lehúzni a cella jobb alsó sarkánál és sokszorosítani így a képletet?
    Vagy nem is ez a függvény kellene?

  • Traxx
    őstag

    Még egy dologban kérném a segítségedet. Az excelnek megvan az a nyűgje, hogy csak 7 függvényszintet tudok egymásba ágyazni. Amit írtál az előbb, az nagyon jó lett, és jelenleg így néz ki a képletem:

    =HA(B57="E";AB56:AB64;HA(B57="O";AB74:AB81;HA(B57="O/Sz";AB82:AB87;HA(B57="Sz";AB89:AB100;HA(B57="H";AB68:AB69;HA(B57="V";AB101:AB102;HA(B57="M";AB71;HA(B57="E/H";AB65;0))))))))

    Frankón működik is, viszont van pár kód, aminek így már nem maradt szintje. Tehát nem tudok helyet találni az F, S, L kódnak, és ahogy a legutóbbi hozzászólásomban írtam, arra gondoltam, hogy ezek előfordulása esetén ne szűrjön (mert relatíve úgyis ritkán fognak előfordulni az ezekhez kapcsolódó feladatok), hanem az egész listában keressen. Mit kellene módosítanom ehhez a képleten?

    Köszönöm ismét a segítséged :R

  • tezse66
    csendes tag

    Sziasztok!

    Kérnék segítséget egy makróban. Az "F" oszlopban (2-5000 sor) található nemüres nevekre egy olyan makró kellene, amely beszúr egy hiperhivatkozást, amely www.valami.hu/kód hivatkozásra mutat változatlan név mellett, ahol az kód az adott sor "B" oszlopában található. Vigyázat! A kód interger érték, az excel számként tárolja, nem tudom ennek van-e jelentősége a kódolásnál, hogy esetleg stringgé kell alakítani, mikor a cimhez adjuk.

    Biztos nem bonyolult, de én sajnos még nem tudom megírni. Megköszönöm, ha valaki tud segíteni.

  • Fire/SOUL/CD
    félisten

    Segítsetek légyszíves , ha van megoldás:

    Adott egy excel füzet, benne hónapokra lebontva 12 fül és egy utolsó ahol összesítődnek az 12 havi adatai, képletekkel.
    Minden fülön ugyanaz a táblázat képletekkel (statisztikai tábla) vagyis sok helyre kell írni sokat.
    Ebból az excelből három másolat van (más-más használja).
    Azt kellene megoldani, hogy a három másolat adatait egybe, összeadva rakni, ugyanolyan struktúrába, ugyanúgy mindegyik fülön megjelenjenek.
    Meg lehet-e oldani?

    "Azt kellene megoldani, hogy a három másolat adatait egybe, összeadva rakni, ugyanolyan struktúrába, ugyanúgy mindegyik fülön megjelenjenek."
    Mármint egy 4. munkafüzetbe? (pl van munkafüzet1.xls/munkafüzet2.xls/munkafüzet3.xls és egy pl munkafüzet4.xls-ben összesítse az adatokat?)

  • lappy
    őstag

    Köszönöm, az, amit írtál, tökéletes, szűrődik az E és az O is megfelelően :C Annyit finomítok még rajta, hogy van 1-2 pont, ahol nincs ennyi végrehajtandó művelet, hanem csak 1 (máshol meg 10 is), tehát ami ilyen ritkásan szerepel, azt úgy próbálom majd megoldani, hogy nem szűröm, hanem az egész listát betolom, és jónapot...és azért így, mert egyébként túl hosszú lenne a képlet, és nem férne ki :( Ha nem lenne ilyen korlát, akkor nyilván mindegyik jellegpont kapna saját szűrést, de ha nem, hát nem...

    De ez nagyon nagy segítség volt, amit adtál...nagyon köszönöm :R

    Nincs mit :DD

  • lappy
    őstag

    Segítsetek légyszíves , ha van megoldás:

    Adott egy excel füzet, benne hónapokra lebontva 12 fül és egy utolsó ahol összesítődnek az 12 havi adatai, képletekkel.
    Minden fülön ugyanaz a táblázat képletekkel (statisztikai tábla) vagyis sok helyre kell írni sokat.
    Ebból az excelből három másolat van (más-más használja).
    Azt kellene megoldani, hogy a három másolat adatait egybe, összeadva rakni, ugyanolyan struktúrába, ugyanúgy mindegyik fülön megjelenjenek.
    Meg lehet-e oldani?

    Office Access abban lehet ilyet csinálni ha jól tudom, de hogy excelben passz

  • Traxx
    őstag

    A 2007-es verzióban működik amit írtál de nem tudom a 2003 ban hogy is van, sajnos nem tudok most ilyen formában segíteni
    bár szerintem ez a képlet így lenne helyes
    =HA(B57="E";AB56:AB64;HA(B57="O";AB65:AB68;0))

    Köszönöm, az, amit írtál, tökéletes, szűrődik az E és az O is megfelelően :C Annyit finomítok még rajta, hogy van 1-2 pont, ahol nincs ennyi végrehajtandó művelet, hanem csak 1 (máshol meg 10 is), tehát ami ilyen ritkásan szerepel, azt úgy próbálom majd megoldani, hogy nem szűröm, hanem az egész listát betolom, és jónapot...és azért így, mert egyébként túl hosszú lenne a képlet, és nem férne ki :( Ha nem lenne ilyen korlát, akkor nyilván mindegyik jellegpont kapna saját szűrést, de ha nem, hát nem...

    De ez nagyon nagy segítség volt, amit adtál...nagyon köszönöm :R

  • psg5
    veterán

    Segítsetek légyszíves , ha van megoldás:

    Adott egy excel füzet, benne hónapokra lebontva 12 fül és egy utolsó ahol összesítődnek az 12 havi adatai, képletekkel.
    Minden fülön ugyanaz a táblázat képletekkel (statisztikai tábla) vagyis sok helyre kell írni sokat.
    Ebból az excelből három másolat van (más-más használja).
    Azt kellene megoldani, hogy a három másolat adatait egybe, összeadva rakni, ugyanolyan struktúrába, ugyanúgy mindegyik fülön megjelenjenek.
    Meg lehet-e oldani?

  • lappy
    őstag

    Melegedik a helyzet :D Viszont egy valami még nem stimm nálam...Beírtam Adatok - Érvényesítés pontba a képletemet:

    =HA(B57="E";AB56:AB64)

    És ez így pöpec is, a B57-ben megjelenik az E, és a legördülőben pedig a kódos listából csak az "E" kódosakat listázza ki. Viszont. Lenne még egy pár kód az E-n kívül...azokat próbáltam a függvény után fűzni, így:

    =HA(B57="E";AB56:AB64);HA(B57="O";AB65:AB68)

    Ami a logikám szerint azt csinálná, hogy ha E van a B57-ben, akkor a legördülő menüben csak az E kódosak nyílnak meg, ha O, akkor csak azok...viszont itt hibaüzenetet kapok ('Nem használhat uniót, metszetet vagy tömbkonstanst Adatok érvényesítése feltételek megadásánál''). Pedig érzem, hogy már csak egy nagyon kevés hiányzik a teljes boldogsághoz...

    Kicsit már szégyellem, hogy ennyit szerencsétlenkedek ezzel, de nem akarja az igazat :( :O

    A 2007-es verzióban működik amit írtál de nem tudom a 2003 ban hogy is van, sajnos nem tudok most ilyen formában segíteni
    bár szerintem ez a képlet így lenne helyes
    =HA(B57="E";AB56:AB64;HA(B57="O";AB65:AB68;0))

  • Traxx
    őstag

    Amikor én is megcsináltam ezt akkor nálad a B57-be kerüljön az E (írd be) és utána megcsinálod a legördülő listát! és mennie kell
    de ha törölsz a sorból akkor ott marad a legördülő lista kiválasztott eleme, de azt lehet törölni.

    Melegedik a helyzet :D Viszont egy valami még nem stimm nálam...Beírtam Adatok - Érvényesítés pontba a képletemet:

    =HA(B57="E";AB56:AB64)

    És ez így pöpec is, a B57-ben megjelenik az E, és a legördülőben pedig a kódos listából csak az "E" kódosakat listázza ki. Viszont. Lenne még egy pár kód az E-n kívül...azokat próbáltam a függvény után fűzni, így:

    =HA(B57="E";AB56:AB64);HA(B57="O";AB65:AB68)

    Ami a logikám szerint azt csinálná, hogy ha E van a B57-ben, akkor a legördülő menüben csak az E kódosak nyílnak meg, ha O, akkor csak azok...viszont itt hibaüzenetet kapok ('Nem használhat uniót, metszetet vagy tömbkonstanst Adatok érvényesítése feltételek megadásánál''). Pedig érzem, hogy már csak egy nagyon kevés hiányzik a teljes boldogsághoz...

    Kicsit már szégyellem, hogy ennyit szerencsétlenkedek ezzel, de nem akarja az igazat :( :O

  • lappy
    őstag

    No...a tanácsod alapján a kódos listát átmásoltam a város munkalapjára. Ez alapján már meg tudtam csinálni az adott cellában a legördülőt. Úgy csináltam, hogy az AA oszlopba raktam magukat a betűkódokat, az AB-be pedig az elvégzendő feladatot.

    A legördülő listát tartalmazó cellába pedig tettem egy függvényt:

    =HA(B57="E";AB56:AB64)

    Ahol a B57-es cellában jelenik meg a javítás jellege, és az AB56-64 pedig az ennek megfelelő feladatokat tartalmazza. Azt vártam volna, hogy akkor a legördülőben csak ezek lesznek kiválaszthatóak, de nem ez történt :( Mit csináltam rosszul szerinted?

    Mod: amit az előző hozzászólásban írtál, azt kipróbálom :) De nem szeret valamit...

    Amikor én is megcsináltam ezt akkor nálad a B57-be kerüljön az E (írd be) és utána megcsinálod a legördülő listát! és mennie kell
    de ha törölsz a sorból akkor ott marad a legördülő lista kiválasztott eleme, de azt lehet törölni.

  • Traxx
    őstag

    Akkor tedd át a városok fülre a listázandó adatokat és működni fog
    És nálam sem megy úgy ha el van nevezve egy lista és azt próbálom HA fgv.-be foglalni.

    No...a tanácsod alapján a kódos listát átmásoltam a város munkalapjára. Ez alapján már meg tudtam csinálni az adott cellában a legördülőt. Úgy csináltam, hogy az AA oszlopba raktam magukat a betűkódokat, az AB-be pedig az elvégzendő feladatot.

    A legördülő listát tartalmazó cellába pedig tettem egy függvényt:

    =HA(B57="E";AB56:AB64)

    Ahol a B57-es cellában jelenik meg a javítás jellege, és az AB56-64 pedig az ennek megfelelő feladatokat tartalmazza. Azt vártam volna, hogy akkor a legördülőben csak ezek lesznek kiválaszthatóak, de nem ez történt :( Mit csináltam rosszul szerinted?

    Mod: amit az előző hozzászólásban írtál, azt kipróbálom :) De nem szeret valamit...

  • lappy
    őstag

    Jövök ismét sírni :O :B

    Az első gondom a legördülő listával van...mivel az adatok más fülön vannak, ezért azt nem nagyon tudom létrehozni...legalábbis itt, 2003 alatt nem akarja engedni az Adatok menü - Érvényesítés fül alatt...És ha jól olvasgattam, ez volna az első lépés, tehát itt mindjárt elvéreztem.

    Az a gond, hogy ilyen legördülő cuccot még nem csináltam...és így kicsit nehezen boldogulok :O

    =HA($B$2="Ü";list;HA($B$2="K";lis1;"")) ezt kell betenni az érvényesítéshez

  • lappy
    őstag

    Akkor tedd át a városok fülre a listázandó adatokat és működni fog
    És nálam sem megy úgy ha el van nevezve egy lista és azt próbálom HA fgv.-be foglalni.

    Kipróbáltam és megy ha a listát teszem az érvényesítésbe:W

  • lappy
    őstag

    Jövök ismét sírni :O :B

    Az első gondom a legördülő listával van...mivel az adatok más fülön vannak, ezért azt nem nagyon tudom létrehozni...legalábbis itt, 2003 alatt nem akarja engedni az Adatok menü - Érvényesítés fül alatt...És ha jól olvasgattam, ez volna az első lépés, tehát itt mindjárt elvéreztem.

    Az a gond, hogy ilyen legördülő cuccot még nem csináltam...és így kicsit nehezen boldogulok :O

    Akkor tedd át a városok fülre a listázandó adatokat és működni fog
    És nálam sem megy úgy ha el van nevezve egy lista és azt próbálom HA fgv.-be foglalni.

  • Traxx
    őstag

    Szia!
    Nézd meg a 14127-es hozzászólást ott találod a válasz egy részét! :DD

    Jövök ismét sírni :O :B

    Az első gondom a legördülő listával van...mivel az adatok más fülön vannak, ezért azt nem nagyon tudom létrehozni...legalábbis itt, 2003 alatt nem akarja engedni az Adatok menü - Érvényesítés fül alatt...És ha jól olvasgattam, ez volna az első lépés, tehát itt mindjárt elvéreztem.

    Az a gond, hogy ilyen legördülő cuccot még nem csináltam...és így kicsit nehezen boldogulok :O

  • lappy
    őstag

    Szia!
    Nézd meg a 14127-es hozzászólást ott találod a válasz egy részét! :DD

    A második lépésnél kell a képlet!
    A lista lehet elnevezve vagy adott tartomány is! a képletben most adott tartomány!
    a szüksége képlet =HA(B57="Ü";$B$8:$B$15;HA(B57="ü";$B16:$B20;"") ami azt csinálja hogy ha Ü kerül a B57-be akkor az adott listából lehet választani
    ha B57= ü akkor egy másik listából választhatsz!
    a buktatója a dolognak hogy ha a Jelleg több mint 7 (2003 excelben ha jól tudom csak ennyi a HA fgv száma) akkor már makró kell hozzá!!
    A névkezelő most neked nem kell csak ha módosítani akarod az elnevezett listádat!

  • lappy
    őstag

    Nekem lenne még egy kérdésem az előző Excel táblázatomhoz kapcsolódóan. Az itt látható második képről lenne szó. Az egyik oszlopban Jelleg van, ami ugye egy összesítőről kerül át. Viszont az egyes Jelleg betűkódok többféle feladatot is takarnak (teszem azt, az Ü 4 félét, de egyszerre csak egy kerülne megvalósításra). Maguk a kódok egy külön fülön össze vannak gyűjtve, méghozzá így, csoportosítva (tehát az üzemlátogatások feladatai egyben, és a többi tevékenységé is elkülönítve egymástól).

    Lehet-e az Excelben olyat csinálni, hogy ha a Jelleg oszlopban megjelenik az adott feladat kódja, akkor az Elvégzendő feladatnál legördülő menü féleségben ki lehessen választani, mire is van szükség? Tehát kettős célom is lenne, egyrészt hogy legördülőben lehessen válogatni a feladatok között, és ne kelljen azokat Ctrl+C Ctrl+V módszerrel átpakolgatni minden egyes alkalommal, másrészt hogy szűrve legyenek, és csak a jellegnek megfelelőek jelenjenek meg a legördülő menüben.

    Megvalósítható ez valahogyan? :R

    oliver7777: nincs mit :)

    Szia!
    Nézd meg a 14127-es hozzászólást ott találod a válasz egy részét! :DD

  • Traxx
    őstag

    Nekem lenne még egy kérdésem az előző Excel táblázatomhoz kapcsolódóan. Az itt látható második képről lenne szó. Az egyik oszlopban Jelleg van, ami ugye egy összesítőről kerül át. Viszont az egyes Jelleg betűkódok többféle feladatot is takarnak (teszem azt, az Ü 4 félét, de egyszerre csak egy kerülne megvalósításra). Maguk a kódok egy külön fülön össze vannak gyűjtve, méghozzá így, csoportosítva (tehát az üzemlátogatások feladatai egyben, és a többi tevékenységé is elkülönítve egymástól).

    Lehet-e az Excelben olyat csinálni, hogy ha a Jelleg oszlopban megjelenik az adott feladat kódja, akkor az Elvégzendő feladatnál legördülő menü féleségben ki lehessen választani, mire is van szükség? Tehát kettős célom is lenne, egyrészt hogy legördülőben lehessen válogatni a feladatok között, és ne kelljen azokat Ctrl+C Ctrl+V módszerrel átpakolgatni minden egyes alkalommal, másrészt hogy szűrve legyenek, és csak a jellegnek megfelelőek jelenjenek meg a legördülő menüben.

    Megvalósítható ez valahogyan? :R

    oliver7777: nincs mit :)

  • Én ezt feltételes formázással csinálnám...tehát nálam (2003-asban) Formátum menü - Feltételes formázás. És ott be tudod azt állítani, hogy ga egy cella értéke x-nél kisebb, akkor mi történjen - ezzel pedig megoldható lenne a dolog.

    Köszi! Igen, ez a legegyszerűbb megoldás.
    Ezt a feltételes formázást nem ismertem, pedig azt hittem elég jól képzett vagyok office programokból.

    Még egyszer köszi!

  • Traxx
    őstag

    A következő problémám lenne:
    Adott egy oszlop számokkal. Egy olyan függvény kellene ami leellenőrzi az adatokat és ha egy adott számnál (pl. 5) kisebb akkor mondjuk pirosra színezi vagy bármilyen más módon megjelöli azt a cellát.
    Azt meg tudom csinálni, hogy a mellette levő oszlopba a HA művelettel kiíratom azokat az értékeket ami kisebb 5-nél.
    Itt egy kép szemléltetésnek, hogy mit tudok megcsinálni, és mit kellene.

    Köszi!

    Én ezt feltételes formázással csinálnám...tehát nálam (2003-asban) Formátum menü - Feltételes formázás. És ott be tudod azt állítani, hogy ga egy cella értéke x-nél kisebb, akkor mi történjen - ezzel pedig megoldható lenne a dolog.

  • Traxx
    őstag

    C3-ba: =ha(Nyíregy!G57<>"";"b";"v")

    C2 formátumának a képlete: =C3="b"

    Huhh, nagyon köszönöm :D :C Így már tökéletes, tudja, amit tudnia kell :R

    Most, hogy már egy cella sikerült, a többi is pikkpakk meglesz :R

  • Delila_1
    veterán

    Ez most egy hiperláma kérdés lesz :B Szóval az "elrejtendő" C3 cellába beírtam a Delila-féle képletet:

    =HA('Nyíregy'!L57<>"";1;0)

    Ez ugye ha van érték (a la dátum) a Város munkalap cellában, akkor betol egy egyest, ha nincs, akkor nulla...eddig tiszta, ezt feltételesen meg is tudnám formázni, ha egyes, akkor srafozás, ha nulla, akkor semmi. Nade, a problémám: hogy ez a C3, és nekem a C2-t kéne feltételesen formáznom...oda pedig írok be kézileg adatokat :( Vagy így, hogy van benne önállóan 1-1 betű, hogy tudok mellé képletet is beírni? :F Lehet tényleg elbeszélünk egymás mellett, de nekem nem tiszta valami... :B

    Elnézést a lámaságért :R

    C3-ba: =ha(Nyíregy!G57<>"";"b";"v")

    C2 formátumának a képlete: =C3="b"

  • Traxx
    őstag

    Szia!
    Hagyd meg az elrejtendő sort vagy ahogy Delila írta tedd a C2 be a képletet ami vizsgálja hogy került e dátum a Város munklapon!
    Ezután a feltételes formázást ne a C3 ra hanem a C2 tedd! és kész is van mindkét esetben (a képlet hozzá =C2=1)

    Ez most egy hiperláma kérdés lesz :B Szóval az "elrejtendő" C3 cellába beírtam a Delila-féle képletet:

    =HA('Nyíregy'!L57<>"";1;0)

    Ez ugye ha van érték (a la dátum) a Város munkalap cellában, akkor betol egy egyest, ha nincs, akkor nulla...eddig tiszta, ezt feltételesen meg is tudnám formázni, ha egyes, akkor srafozás, ha nulla, akkor semmi. Nade, a problémám: hogy ez a C3, és nekem a C2-t kéne feltételesen formáznom...oda pedig írok be kézileg adatokat :( Vagy így, hogy van benne önállóan 1-1 betű, hogy tudok mellé képletet is beírni? :F Lehet tényleg elbeszélünk egymás mellett, de nekem nem tiszta valami... :B

    Elnézést a lámaságért :R

  • lappy
    őstag

    Lehet valóban képpel lenne a legegyszerűbb :DD

    És Delila_1 segítségét is köszönöm...tisztább, ha inkább így, képként mutatom meg. Szóval ez volna az összesítő táblázatom. A "sorbeszúrós" módszeredet alkalmazva sikerült a satírozás, és olyannak kellene lennie, mint amilyen ott a C3-ban van...a feladat meg ugyebár az lenne, hogy a C2-ben lévő Ü legyen satírozott... És ez a 3. sor pedig akkor a tanácsodnak megfelelően elrejtésre kerülne...

    És ez volna az egyes városok lapja, pontosabban ilyesmi:

    A Jellegnél lévő Ü az az összesítő sorból jön, vagyis ha az összesítő lapon beírok az adott hónapokra egy kódot, az a B oszlop megfelelő sorában megjelenik. És ott van a végrehajtási időpont, ami hogy ha kitöltésre kerül, akkor satírozódjon be az első képen látható Ü betű :DD

    Remélem így kicsit tisztább a kép mindkettőtök számára...mert hogy őszinte legyek, vakargatom most a fejem azon, amit írtatok...lehet csak lefáradtam ma, de nem akarja az igazat a progi :( :B

    Szia!
    Hagyd meg az elrejtendő sort vagy ahogy Delila írta tedd a C2 be a képletet ami vizsgálja hogy került e dátum a Város munklapon!
    Ezután a feltételes formázást ne a C3 ra hanem a C2 tedd! és kész is van mindkét esetben (a képlet hozzá =C2=1)

  • Traxx
    őstag

    Igen lehet lásd Delila hozzászólását vagy az enyémet:DD
    de ilyenkor egyszerűbb ha teszel be egy képet hogy mit is szeretnél

    Lehet valóban képpel lenne a legegyszerűbb :DD

    És Delila_1 segítségét is köszönöm...tisztább, ha inkább így, képként mutatom meg. Szóval ez volna az összesítő táblázatom. A "sorbeszúrós" módszeredet alkalmazva sikerült a satírozás, és olyannak kellene lennie, mint amilyen ott a C3-ban van...a feladat meg ugyebár az lenne, hogy a C2-ben lévő Ü legyen satírozott... És ez a 3. sor pedig akkor a tanácsodnak megfelelően elrejtésre kerülne...

    És ez volna az egyes városok lapja, pontosabban ilyesmi:

    A Jellegnél lévő Ü az az összesítő sorból jön, vagyis ha az összesítő lapon beírok az adott hónapokra egy kódot, az a B oszlop megfelelő sorában megjelenik. És ott van a végrehajtási időpont, ami hogy ha kitöltésre kerül, akkor satírozódjon be az első képen látható Ü betű :DD

    Remélem így kicsit tisztább a kép mindkettőtök számára...mert hogy őszinte legyek, vakargatom most a fejem azon, amit írtatok...lehet csak lefáradtam ma, de nem akarja az igazat a progi :( :B

  • lappy
    őstag

    Lehet, hogy én nem értelmezem jól, amit mondasz, de talán elbeszélünk egymás mellett :B A C2 cellában már eleve van adat...ide kerülnek be a végrehajtandó események kódjai. Szóval az előző példámat folytatva, a C2 már egy Ü betű személyében foglalt volna. És a tervezet összes többi cellájában, leszámítva az általad javasolt rejtett sorokat persze, vagy lenne ehhez hasonló szöveges érték (vagy nem, ez ugye függ attól, hogy az adott héten és városban van-e esemény, de ha lenne, akkor ugye oda nehezen tudnék képletet beírni...vagy mégis?)

    Szóval első körben arra gondoltam, ha megvalósítható, hogy nyitnék még egy rejtett sort...és ebbe írnék egy olyan képletet, hogy ha a C3-ban b van, akkor színezze a C2-t...ilyet lehet? :B :U

    Elnézést az értetlenkedésemért :R

    Igen lehet lásd Delila hozzászólását vagy az enyémet:DD
    de ilyenkor egyszerűbb ha teszel be egy képet hogy mit is szeretnél

  • Delila_1
    veterán

    Szia!

    Először is köszönöm a tippet :R Megeshet, hogy jót írsz, csak én nem értem, vagy nem írtam le pontosan, hogy mi a harci helyzet :D Tehát az összesítő lapon eleve ki volna töltve az időbeosztás, szóval ott mindenképpen lenne adat, még ha nyilván nem is minden cellában. És ez jelenik meg az egyes füleknél (pl. Nyíregyháza fülön a 2. hónapban egy Ü jelzéssel üzemlátogatás). És ha ez megvalósul, akkor beírnám a dátumot egy másik cellába, teszem azt 2012.02.14. És ha ide, a dátumos cellába beíródik az adat, akkor színezzen, de ne a Nyíregy fülön, hanem az összesítő lapon.

    Ezek alapján azt le tudod írni, hogy abba a rejtett sorban hogyan is kéne kinéznie a dolgoknak? :B :R Vagy ezzel kibővítve 2003 alatt nehézkes lesz a dolog?

    Vegyük, hogy a Munka2 (stb.) lapon az F oszlopba írod a végrehajtás dátumát. Az összesítő lap F oszlopába kerül az =HA(Munka2!F1<>"";1;0) képlet. A formázandó oszlop feltételes formázása az =F1=1 képlettel oldható meg.

    Másik lap befejezett feladatához másik oszlopot használhatsz.

  • Traxx
    őstag

    erre van a feltételes formázás.
    a C2 cellára kell elkészíteni
    =ha(c3=v;1;0) és te már úgy színezed ahogy akarod

    Lehet, hogy én nem értelmezem jól, amit mondasz, de talán elbeszélünk egymás mellett :B A C2 cellában már eleve van adat...ide kerülnek be a végrehajtandó események kódjai. Szóval az előző példámat folytatva, a C2 már egy Ü betű személyében foglalt volna. És a tervezet összes többi cellájában, leszámítva az általad javasolt rejtett sorokat persze, vagy lenne ehhez hasonló szöveges érték (vagy nem, ez ugye függ attól, hogy az adott héten és városban van-e esemény, de ha lenne, akkor ugye oda nehezen tudnék képletet beírni...vagy mégis?)

    Szóval első körben arra gondoltam, ha megvalósítható, hogy nyitnék még egy rejtett sort...és ebbe írnék egy olyan képletet, hogy ha a C3-ban b van, akkor színezze a C2-t...ilyet lehet? :B :U

    Elnézést az értetlenkedésemért :R

  • A következő problémám lenne:
    Adott egy oszlop számokkal. Egy olyan függvény kellene ami leellenőrzi az adatokat és ha egy adott számnál (pl. 5) kisebb akkor mondjuk pirosra színezi vagy bármilyen más módon megjelöli azt a cellát.
    Azt meg tudom csinálni, hogy a mellette levő oszlopba a HA művelettel kiíratom azokat az értékeket ami kisebb 5-nél.
    Itt egy kép szemléltetésnek, hogy mit tudok megcsinálni, és mit kellene.

    Köszi!

  • lappy
    őstag

    Kiegészítem magam: a rejtett soros gondolatmeneted alapján eljutottam az általad javasolt rejtett sorban a CELLA függvénnyel addig, hogy ha üres a cella, akkor a "dátumos" cellára hivatkozva beír a cellába egy b betűt, ha meg van benne adat, akkor v-t. És ezt az adatot már tudnám feltételesben srafozni. Tehát eddig a dolog jó.

    Viszont odáig nem jutottam, hogy ezt az adatot (tehát a b és v betűt mint eredményt) hogyan tudnám az "eredeti" sorra érvényesíteni? Tehát valami olyan függvény kellene nekem, hogy ha létezik, ami olyasmit csinál, hogy ha pl. C3 cellának az értéke v, akkor a C2-t színezze... :U

    Megvalósítható ez valahogyan?

    erre van a feltételes formázás.
    a C2 cellára kell elkészíteni
    =ha(c3=v;1;0) és te már úgy színezed ahogy akarod

  • cousin333
    addikt

    végül sikerült, kis segítséggel összehozni. de (ugye, mert mindig van egy de) 2007 es excelben csináltam és, ahol használnák 2003 van, ami nem ismeri a hahiba utasítást (meg lehet másikat sem.
    van e valamilyen fordító, vagy akármi más megoldás, hogy tudkjon azon is futni?
    az office kompatibilitás csomag nem hozott eredményt.
    a kód kommentezve, ha érdekel valakit:

    Sub Makró1()
    '
    ' Makró1 Makró
    '

    '
    'mielőtt bármit csinálnánk szám formátumra vesszük az egészet. ez azért kell, hogy az excel ne formázza automatikusan dátummá bizonyos karaktersorozatokat'
    Selection.NumberFormat = "@"
    'az excel mégis dátumozna, ezért a / vezérlőkaraktereke eltávolítjuk'
    Selection.Replace What:="/", Replacement:="", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
    'a számokat a pdf x.0 formában hozza. ez zavarhat a későbbi számolásban: leszedjük'
    Selection.Replace What:=".0", Replacement:="", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False

    Range("A1").Select
    Range("A1:A6000").Select

    'oszlopra bontjuk a katyvaszt'
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
    Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
    :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
    Array(7, 1), Array(8, 1), Array(9, 1)), TrailingMinusNumbers:=True

    Range("N1").Select

    'az N, item, és 12vel kezdődőek megjelölése'
    ActiveCell.FormulaR1C1 = _
    "=IF(RC[-13]=""n"",1,IF(RC[-13]=""item"",1,IF(SEARCH(""12*"",RC[-13],1)=1,1,"""")))"
    Range("N1").Select

    '6000 sor mélységig vizsgálunk'
    Selection.AutoFill Destination:=Range("N1:N6000"), Type:=xlFillDefault
    Range("N1:N6000").Select

    Range("A1").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$Z$6000").AutoFilter Field:=14, Criteria1:="1"
    Rows("2:6000").Select
    'megjelöltek másolása a munka2 be'
    Selection.Copy
    Sheets("Munka2").Select
    Range("A2").Select
    ActiveSheet.Paste
    Range("A1").Select
    'beszúrunk 6 oszlopot a későbbi részműveletekhez'
    Columns("B:B").Select
    Application.CutCopyMode = False
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Columns("E:E").Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("B:B,C:C,E:E,F:F,N:N,O:O").Select
    Range("O1").Activate
    'a szöveges cellaformátumot átalakítjuk általánosra különben a képleteink szövegként leperegnek az excelről'
    Selection.NumberFormat = "General"
    Range("B1").Select
    'dátum van e az első oszlopban?'
    ActiveCell.FormulaR1C1 = "=IFERROR(1=SEARCH(""12*"",RC[-1],1),0)"
    Range("C1").Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-1]=0,LEFT(RC[5],6),RC[-2])"
    'ha igen, akkor onnan szedjük a dátumot, ha nem akkor másik dátum oszlopból'
    Range("B1:C1").Select
    '3000 sormélységig vizsgálunk'
    Selection.AutoFill Destination:=Range("B1:C3000"), Type:=xlFillDefault
    Range("B1:C3000").Select
    Range("E1").Select
    'a fentihez hasonló vizsgálat rendelésszámra'
    ActiveCell.FormulaR1C1 = "=IFERROR(1=SEARCH(""4521*"",RC[-1],1),0)"
    Range("F1").Select
    'ha nincs, akkor az forcast rendelés'
    ActiveCell.FormulaR1C1 = "=IF(RC[-1]=0,""Forecast"",RC[-2])"
    Range("E1:F1").Select
    Selection.AutoFill Destination:=Range("E1:F3000"), Type:=xlFillDefault
    Range("E1:F3000").Select
    Range("N1").Select
    'keressük a cikkszámokat'
    ActiveCell.FormulaR1C1 = "=IFERROR(1=SEARCH(""sfv-*"",RC[-6],1),0)"
    Range("N1").Select
    Selection.AutoFill Destination:=Range("N1:N3000"), Type:=xlFillDefault
    Range("N1:N3000").Select
    Range("O2").Select
    'ha találunk adott helyen, akkor beírjuk, ha nem, akkor úgy veszzük mintha az előző cikk volna'
    ActiveCell.FormulaR1C1 = "=IF(RC[-1],RC[-7],R[-1]C)"
    Selection.AutoFill Destination:=Range("O2:O3000"), Type:=xlFillDefault
    Range("O2:O3000").Select
    'vizsgáljuk hogy n van e, mert akkor mást kell beírni'

    Range("i1").Select
    ActiveCell.FormulaR1C1 = "=IFERROR(1=SEARCH(""n"",RC[-8],1),0)"
    Selection.AutoFill Destination:=Range("i1:i3000"), Type:=xlFillDefault
    Range("i1:i3000").Select

    Range("j1").Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-1],RC[1],RC[-3])"
    Selection.AutoFill Destination:=Range("j1:j3000"), Type:=xlFillDefault
    Range("j1:j3000").Select
    'számformátumizálás'

    Columns("J:J").Select
    Selection.NumberFormat = "0"

    Columns("C:C").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("Q1").Select
    'értéket básolunk irányított beillesztéssel'
    ActiveSheet.Paste
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Range("R2").Select
    Application.CutCopyMode = False
    'a dátumjaink ééhhnn formában vannak. kicsit kiszépétjük, hogy ééééhhnn formába kerüljenek'
    ActiveCell.FormulaR1C1 = "=RC[-1]+20000000"
    Range("R2").Select
    Selection.AutoFill Destination:=Range("R2:R3000"), Type:=xlFillDefault
    Range("R2:R3000").Select
    'kiszűrjük azon sorokat, amik nem tartalmaznak már számunkra értékes információt'
    Range("A1").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$AD$3000").AutoFilter Field:=18, Criteria1:=">2010" _
    , Operator:=xlAnd
    Columns("D:D").ColumnWidth = 13.57
    Columns("F:F").ColumnWidth = 10.86

    'munka3 ba másoljuk a kész adatokat és formázgatjuk:'
    Range("F:F,J:J,O:O,R:R").Select
    Range("R1").Activate
    Selection.Copy
    Sheets("Munka3").Select
    Cells.Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("A1").Select
    Sheets("Munka2").Select
    Selection.Copy
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Munka3").Select
    ActiveSheet.Paste
    Range("A1").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "rendelésszám"
    Range("B1").Select
    ActiveCell.FormulaR1C1 = "mennyiség"
    Range("C1").Select
    ActiveCell.FormulaR1C1 = "cikk"
    Range("D1").Select
    ActiveCell.FormulaR1C1 = "szállítási idő"
    Range("E1").Select

    Columns("A:D").Select
    Columns("A:D").EntireColumn.AutoFit
    With Selection
    .HorizontalAlignment = xlRight
    .VerticalAlignment = xlBottom
    .WrapText = False
    .Orientation = 0
    .AddIndent = False
    .IndentLevel = 0
    .ShrinkToFit = False
    .ReadingOrder = xlContext
    .MergeCells = False
    End With
    Range("A1").Select

    End Sub

    Hozzászólás szerkesztésénél legközelebb jelöld ki a beszúrt kódot, és kattints alul a Programkód gombra, azért van. Sokkal jobban néz majd ki a végeredmény, nem tördeli feleslegesen a sorokat, és nem alakítja át a szmájlikat sem.

  • Traxx
    őstag

    Szia!
    feltételes formázás használata, de ebben az esetben kell egy rejtett sor ami figyeli azt hogy a tevékenység cellába került e adat.

    Kiegészítem magam: a rejtett soros gondolatmeneted alapján eljutottam az általad javasolt rejtett sorban a CELLA függvénnyel addig, hogy ha üres a cella, akkor a "dátumos" cellára hivatkozva beír a cellába egy b betűt, ha meg van benne adat, akkor v-t. És ezt az adatot már tudnám feltételesben srafozni. Tehát eddig a dolog jó.

    Viszont odáig nem jutottam, hogy ezt az adatot (tehát a b és v betűt mint eredményt) hogyan tudnám az "eredeti" sorra érvényesíteni? Tehát valami olyan függvény kellene nekem, hogy ha létezik, ami olyasmit csinál, hogy ha pl. C3 cellának az értéke v, akkor a C2-t színezze... :U

    Megvalósítható ez valahogyan?

  • Traxx
    őstag

    Szia!
    feltételes formázás használata, de ebben az esetben kell egy rejtett sor ami figyeli azt hogy a tevékenység cellába került e adat.

    Szia!

    Először is köszönöm a tippet :R Megeshet, hogy jót írsz, csak én nem értem, vagy nem írtam le pontosan, hogy mi a harci helyzet :D Tehát az összesítő lapon eleve ki volna töltve az időbeosztás, szóval ott mindenképpen lenne adat, még ha nyilván nem is minden cellában. És ez jelenik meg az egyes füleknél (pl. Nyíregyháza fülön a 2. hónapban egy Ü jelzéssel üzemlátogatás). És ha ez megvalósul, akkor beírnám a dátumot egy másik cellába, teszem azt 2012.02.14. És ha ide, a dátumos cellába beíródik az adat, akkor színezzen, de ne a Nyíregy fülön, hanem az összesítő lapon.

    Ezek alapján azt le tudod írni, hogy abba a rejtett sorban hogyan is kéne kinéznie a dolgoknak? :B :R Vagy ezzel kibővítve 2003 alatt nehézkes lesz a dolog?

  • lappy
    őstag

    Sziasztok!

    Egy elég összetett kérdésben szeretnék segítséget kérni. Van egy "ütemterves" táblázat, mely több fülből áll, és a lényeg, hogy az első egy amolyan összefoglaló oldal. Ezen egy beosztás szerepel, hogy mit, és mikor kellene végrehajtani tevékenységeket. Pl. a sorokban városok, és az oszlopokban pedig hetek, és a cellákba pedig betűkódokkal szerepelne az, hogy mi is lenne ott a cél. A különböző füleken pedig a városok szerepelnének.

    Nos, azt szeretném csinálni, hogy ha az egyes füleken beírok egy betűkódot, akkor az összesítő fül megfelelő sorában-oszlopában is megjelenjen. Ez eddig pipa, mert meg tudtam csinálni. Viszont abban nem jutok dűlőre, hogy hogyan kellene azt összehoznom, hogy ha a tevékenység elvégzésre kerül, akkor ez az összefoglaló fülön is megjelenjen? Mondjuk úgy, hogy elszíneződik vagy sraffozódik az adott cella.

    Ami a történetben a csavart jelenti, az az, hogy mindez, amit szeretnék, 2010-es Office esetében működik, nem is túl komplikáltan. Viszont 2003-ban már nem...és nekem meg olyan Office van :( 2010-esben pedig 2003 kompatibilis módon elmentve nem megy a téma, és nem színez a szoftver...és érthető módon nem szívesen adnék ki több tízezret az új verzióra.

    Van valami függvénye a 2003-nak, amivel ez a történet megszerkeszthető lenne? Elnézést kérek, hogy kissé bonyolultan írtam le, de remélem valamennyire azért átlátható :)

    Köszönöm a segítséget előre is :R

    Szia!
    feltételes formázás használata, de ebben az esetben kell egy rejtett sor ami figyeli azt hogy a tevékenység cellába került e adat.

  • Traxx
    őstag

    Sziasztok!

    Egy elég összetett kérdésben szeretnék segítséget kérni. Van egy "ütemterves" táblázat, mely több fülből áll, és a lényeg, hogy az első egy amolyan összefoglaló oldal. Ezen egy beosztás szerepel, hogy mit, és mikor kellene végrehajtani tevékenységeket. Pl. a sorokban városok, és az oszlopokban pedig hetek, és a cellákba pedig betűkódokkal szerepelne az, hogy mi is lenne ott a cél. A különböző füleken pedig a városok szerepelnének.

    Nos, azt szeretném csinálni, hogy ha az egyes füleken beírok egy betűkódot, akkor az összesítő fül megfelelő sorában-oszlopában is megjelenjen. Ez eddig pipa, mert meg tudtam csinálni. Viszont abban nem jutok dűlőre, hogy hogyan kellene azt összehoznom, hogy ha a tevékenység elvégzésre kerül, akkor ez az összefoglaló fülön is megjelenjen? Mondjuk úgy, hogy elszíneződik vagy sraffozódik az adott cella.

    Ami a történetben a csavart jelenti, az az, hogy mindez, amit szeretnék, 2010-es Office esetében működik, nem is túl komplikáltan. Viszont 2003-ban már nem...és nekem meg olyan Office van :( 2010-esben pedig 2003 kompatibilis módon elmentve nem megy a téma, és nem színez a szoftver...és érthető módon nem szívesen adnék ki több tízezret az új verzióra.

    Van valami függvénye a 2003-nak, amivel ez a történet megszerkeszthető lenne? Elnézést kérek, hogy kissé bonyolultan írtam le, de remélem valamennyire azért átlátható :)

    Köszönöm a segítséget előre is :R

  • zz76zz
    csendes tag

    végül sikerült, kis segítséggel összehozni. de (ugye, mert mindig van egy de) 2007 es excelben csináltam és, ahol használnák 2003 van, ami nem ismeri a hahiba utasítást (meg lehet másikat sem.
    van e valamilyen fordító, vagy akármi más megoldás, hogy tudkjon azon is futni?
    az office kompatibilitás csomag nem hozott eredményt.
    a kód kommentezve, ha érdekel valakit:

    Sub Makró1()
    '
    ' Makró1 Makró
    '

    '
    'mielőtt bármit csinálnánk szám formátumra vesszük az egészet. ez azért kell, hogy az excel ne formázza automatikusan dátummá bizonyos karaktersorozatokat'
    Selection.NumberFormat = "@"
    'az excel mégis dátumozna, ezért a / vezérlőkaraktereke eltávolítjuk'
    Selection.Replace What:="/", Replacement:="", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
    'a számokat a pdf x.0 formában hozza. ez zavarhat a későbbi számolásban: leszedjük'
    Selection.Replace What:=".0", Replacement:="", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False

    Range("A1").Select
    Range("A1:A6000").Select

    'oszlopra bontjuk a katyvaszt'
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
    Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
    :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
    Array(7, 1), Array(8, 1), Array(9, 1)), TrailingMinusNumbers:=True

    Range("N1").Select

    'az N, item, és 12vel kezdődőek megjelölése'
    ActiveCell.FormulaR1C1 = _
    "=IF(RC[-13]=""n"",1,IF(RC[-13]=""item"",1,IF(SEARCH(""12*"",RC[-13],1)=1,1,"""")))"
    Range("N1").Select

    '6000 sor mélységig vizsgálunk'
    Selection.AutoFill Destination:=Range("N1:N6000"), Type:=xlFillDefault
    Range("N1:N6000").Select

    Range("A1").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$Z$6000").AutoFilter Field:=14, Criteria1:="1"
    Rows("2:6000").Select
    'megjelöltek másolása a munka2 be'
    Selection.Copy
    Sheets("Munka2").Select
    Range("A2").Select
    ActiveSheet.Paste
    Range("A1").Select
    'beszúrunk 6 oszlopot a későbbi részműveletekhez'
    Columns("B:B").Select
    Application.CutCopyMode = False
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Columns("E:E").Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("B:B,C:C,E:E,F:F,N:N,O:O").Select
    Range("O1").Activate
    'a szöveges cellaformátumot átalakítjuk általánosra különben a képleteink szövegként leperegnek az excelről'
    Selection.NumberFormat = "General"
    Range("B1").Select
    'dátum van e az első oszlopban?'
    ActiveCell.FormulaR1C1 = "=IFERROR(1=SEARCH(""12*"",RC[-1],1),0)"
    Range("C1").Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-1]=0,LEFT(RC[5],6),RC[-2])"
    'ha igen, akkor onnan szedjük a dátumot, ha nem akkor másik dátum oszlopból'
    Range("B1:C1").Select
    '3000 sormélységig vizsgálunk'
    Selection.AutoFill Destination:=Range("B1:C3000"), Type:=xlFillDefault
    Range("B1:C3000").Select
    Range("E1").Select
    'a fentihez hasonló vizsgálat rendelésszámra'
    ActiveCell.FormulaR1C1 = "=IFERROR(1=SEARCH(""4521*"",RC[-1],1),0)"
    Range("F1").Select
    'ha nincs, akkor az forcast rendelés'
    ActiveCell.FormulaR1C1 = "=IF(RC[-1]=0,""Forecast"",RC[-2])"
    Range("E1:F1").Select
    Selection.AutoFill Destination:=Range("E1:F3000"), Type:=xlFillDefault
    Range("E1:F3000").Select
    Range("N1").Select
    'keressük a cikkszámokat'
    ActiveCell.FormulaR1C1 = "=IFERROR(1=SEARCH(""sfv-*"",RC[-6],1),0)"
    Range("N1").Select
    Selection.AutoFill Destination:=Range("N1:N3000"), Type:=xlFillDefault
    Range("N1:N3000").Select
    Range("O2").Select
    'ha találunk adott helyen, akkor beírjuk, ha nem, akkor úgy veszzük mintha az előző cikk volna'
    ActiveCell.FormulaR1C1 = "=IF(RC[-1],RC[-7],R[-1]C)"
    Selection.AutoFill Destination:=Range("O2:O3000"), Type:=xlFillDefault
    Range("O2:O3000").Select
    'vizsgáljuk hogy n van e, mert akkor mást kell beírni'

    Range("i1").Select
    ActiveCell.FormulaR1C1 = "=IFERROR(1=SEARCH(""n"",RC[-8],1),0)"
    Selection.AutoFill Destination:=Range("i1:i3000"), Type:=xlFillDefault
    Range("i1:i3000").Select

    Range("j1").Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-1],RC[1],RC[-3])"
    Selection.AutoFill Destination:=Range("j1:j3000"), Type:=xlFillDefault
    Range("j1:j3000").Select
    'számformátumizálás'

    Columns("J:J").Select
    Selection.NumberFormat = "0"

    Columns("C:C").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("Q1").Select
    'értéket básolunk irányított beillesztéssel'
    ActiveSheet.Paste
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Range("R2").Select
    Application.CutCopyMode = False
    'a dátumjaink ééhhnn formában vannak. kicsit kiszépétjük, hogy ééééhhnn formába kerüljenek'
    ActiveCell.FormulaR1C1 = "=RC[-1]+20000000"
    Range("R2").Select
    Selection.AutoFill Destination:=Range("R2:R3000"), Type:=xlFillDefault
    Range("R2:R3000").Select
    'kiszűrjük azon sorokat, amik nem tartalmaznak már számunkra értékes információt'
    Range("A1").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$AD$3000").AutoFilter Field:=18, Criteria1:=">2010" _
    , Operator:=xlAnd
    Columns("D:D").ColumnWidth = 13.57
    Columns("F:F").ColumnWidth = 10.86

    'munka3 ba másoljuk a kész adatokat és formázgatjuk:'
    Range("F:F,J:J,O:O,R:R").Select
    Range("R1").Activate
    Selection.Copy
    Sheets("Munka3").Select
    Cells.Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("A1").Select
    Sheets("Munka2").Select
    Selection.Copy
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Munka3").Select
    ActiveSheet.Paste
    Range("A1").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "rendelésszám"
    Range("B1").Select
    ActiveCell.FormulaR1C1 = "mennyiség"
    Range("C1").Select
    ActiveCell.FormulaR1C1 = "cikk"
    Range("D1").Select
    ActiveCell.FormulaR1C1 = "szállítási idő"
    Range("E1").Select

    Columns("A:D").Select
    Columns("A:D").EntireColumn.AutoFit
    With Selection
    .HorizontalAlignment = xlRight
    .VerticalAlignment = xlBottom
    .WrapText = False
    .Orientation = 0
    .AddIndent = False
    .IndentLevel = 0
    .ShrinkToFit = False
    .ReadingOrder = xlContext
    .MergeCells = False
    End With
    Range("A1").Select

    End Sub

  • Metathrone
    csendes tag

    Tényleg azt elfelejtettem, de közben meg is oldottam, úgy, hogy az EFGHI tömböt áttettem munka2-re A oszloptól sorban és most így néz ki egy működő függvény:
    FKERES($A2;Munka2!$A:$E;HA((Munka2!B1="");OSZLOP(Munka2!D1);OSZLOP(Munka2!B1));HAMIS)

    Ha van más megoldás, akkor a kérdésedre a válasz, hogy az A1 cellát, azaz a nevet keresem az EFGHI tartományban, aminek az E oszlopa a név.

    Az én függvényemben az oszlop függvényt kellene valamivel kiváltani, mert eredetileg nem az a oszlop tartalmazza a nevet.

  • Fire/SOUL/CD
    félisten

    Sziasztok!

    Szükségem lenne egy olyan fkeres függvényre, aminek a 3. argumentuma (oszlopszám) attól függjön, hogy két adott cellából melyikben van érték.
    Tehát pl.: Adott "A" oszlop nevek, "B" munka kezdés, "C" munka vége, ezután "E" újra név, "F" munka kezdés1, "G" munka vége1, "H" munka kezdés2, "I" munka vége2. Oszlop nevek nem ezek, de magyarázatnak most jó. Szóval a fkeres függvénynek el kellene döntenie, hogy a "B" oszlopba az "F" vagy "H" oszlop megfelelő adatát írja, aszerint, hogy melyik nem üres.

    Fkeres függvényen kívül más megoldás is érdekel, biztos van :)

    Előre is köszönöm a segítséget.

    A példád alapján írd le, ha FKERES lenne a függvény, akkor mit keresnél és milyen tartományban.

  • Metathrone
    csendes tag

    Sziasztok!

    Szükségem lenne egy olyan fkeres függvényre, aminek a 3. argumentuma (oszlopszám) attól függjön, hogy két adott cellából melyikben van érték.
    Tehát pl.: Adott "A" oszlop nevek, "B" munka kezdés, "C" munka vége, ezután "E" újra név, "F" munka kezdés1, "G" munka vége1, "H" munka kezdés2, "I" munka vége2. Oszlop nevek nem ezek, de magyarázatnak most jó. Szóval a fkeres függvénynek el kellene döntenie, hogy a "B" oszlopba az "F" vagy "H" oszlop megfelelő adatát írja, aszerint, hogy melyik nem üres.

    Fkeres függvényen kívül más megoldás is érdekel, biztos van :)

    Előre is köszönöm a segítséget.

  • bozsozso
    őstag

    Public Sub FSCD_Summary_Bozsozso()

    Dim MyCurDate As Range
    Dim MySrcStartCell As Range, MyDestStarCell As Range
    Dim MySrcWS As Worksheet, MyDestWS As Worksheet
    Dim MyFXs As WorksheetFunction

    Set MyFXs = Application.WorksheetFunction
    'MUNKALAP neve, amely a jelenléti ívet tartalmazza
    Set MySrcWS = Worksheets("Jelenléti")
    'MUNKALAP neve, amelyen az összesítés található
    Set MyDestWS = Worksheets("Összesítő")
    'A jelenléti munkalapon találhat IDŐCELLA címe
    Set MyCurDate = MySrcWS.Range("$A$2")
    'Jelenléti munkalapon ettől a cellától kezdődnek az adatok
    Set MySrcStartCell = MySrcWS.Range("A9")
    'Összesítő munkalapon ettől a cellától kell bemásolni az adatokat
    Set MyDestStarCell = MyDestWS.Range("A1")

    j = 0
    For i = 0 To Day(MyFXs.EoMonth(MyCurDate, 0)) - 1
    If Not IsEmpty(MySrcStartCell.Offset(i, 13)) Then
    MyDestStarCell.Offset(j, 0).NumberFormat = "yyyy-mm-dd"
    MyDestStarCell.Offset(j, 0) = Format(MyCurDate, "yyyy-mm-") & Format(i + 1, "00")
    MyDestStarCell.Offset(j, 1) = MySrcStartCell.Offset(i, 13)
    MyDestStarCell.Offset(j, 4).NumberFormat = "[h]:mm"
    MyDestStarCell.Offset(j, 4) = Format(MySrcStartCell.Offset(i, 2), "0:") & Format(MySrcStartCell.Offset(i, 3), "00")
    MyDestStarCell.Offset(j, 5).NumberFormat = "[h]:mm"
    MyDestStarCell.Offset(j, 5) = Format(MySrcStartCell.Offset(i, 4), "0:") & Format(MySrcStartCell.Offset(i, 5), "00")
    MyDestStarCell.Offset(j, 6) = MySrcStartCell.Offset(i, 11)
    j = j + 1
    End If
    Next i

    End Sub

    Az összesítő munkalap tartalmát nem törli a makró, mert a korábbi kép alapján nem tudhattam, hogy az összesítő munkalapon vannak-e még más adatok is, ezért a makró futtatása előtt manuálisan töröld az összesítő munkalapon lévő adatokat.

    Nagyon szépen köszönöm pont ezt szerettem volna csinálni. :C

  • Fire/SOUL/CD
    félisten

    Ez így azért nem jó mert nem függ attól, hogy az N oszlop a jelenlétiben ki van-e töltve így az összes sort átviszi az összesítőre. Nekem viszont csak azokra lenne szükség az összesítőn amik N oszlopban egy számmal meg vannak jelölve. Ez minden hónapban más napokra esik.
    Pl.: egyik hónapban a 6-7, 15-16 másik hónapban meg már az 1-2, 7-8, 21-22 napokat kellene átrakni az összesítőre. Ezért tenném az N oszlopba a jelölést, hogy valamiből lehessen tudni, hogy ezeket kell átrakni (a beírt számnak nincs jelentősége és nem is sorban van)

    Public Sub FSCD_Summary_Bozsozso()

    Dim MyCurDate As Range
    Dim MySrcStartCell As Range, MyDestStarCell As Range
    Dim MySrcWS As Worksheet, MyDestWS As Worksheet
    Dim MyFXs As WorksheetFunction

    Set MyFXs = Application.WorksheetFunction
    'MUNKALAP neve, amely a jelenléti ívet tartalmazza
    Set MySrcWS = Worksheets("Jelenléti")
    'MUNKALAP neve, amelyen az összesítés található
    Set MyDestWS = Worksheets("Összesítő")
    'A jelenléti munkalapon találhat IDŐCELLA címe
    Set MyCurDate = MySrcWS.Range("$A$2")
    'Jelenléti munkalapon ettől a cellától kezdődnek az adatok
    Set MySrcStartCell = MySrcWS.Range("A9")
    'Összesítő munkalapon ettől a cellától kell bemásolni az adatokat
    Set MyDestStarCell = MyDestWS.Range("A1")

    j = 0
    For i = 0 To Day(MyFXs.EoMonth(MyCurDate, 0)) - 1
    If Not IsEmpty(MySrcStartCell.Offset(i, 13)) Then
    MyDestStarCell.Offset(j, 0).NumberFormat = "yyyy-mm-dd"
    MyDestStarCell.Offset(j, 0) = Format(MyCurDate, "yyyy-mm-") & Format(i + 1, "00")
    MyDestStarCell.Offset(j, 1) = MySrcStartCell.Offset(i, 13)
    MyDestStarCell.Offset(j, 4).NumberFormat = "[h]:mm"
    MyDestStarCell.Offset(j, 4) = Format(MySrcStartCell.Offset(i, 2), "0:") & Format(MySrcStartCell.Offset(i, 3), "00")
    MyDestStarCell.Offset(j, 5).NumberFormat = "[h]:mm"
    MyDestStarCell.Offset(j, 5) = Format(MySrcStartCell.Offset(i, 4), "0:") & Format(MySrcStartCell.Offset(i, 5), "00")
    MyDestStarCell.Offset(j, 6) = MySrcStartCell.Offset(i, 11)
    j = j + 1
    End If
    Next i

    End Sub

    Az összesítő munkalap tartalmát nem törli a makró, mert a korábbi kép alapján nem tudhattam, hogy az összesítő munkalapon vannak-e még más adatok is, ezért a makró futtatása előtt manuálisan töröld az összesítő munkalapon lévő adatokat.

  • bozsozso
    őstag

    Remélhetőleg jól értettem és meg is felel (makró nélkül). Maradva a korábbi képednél, az alapján vannak a képletekben a hivatkozások. Ha nem jó cellára lenne a hivatkozás, akkor majd módosítod, ahogy megfelel.

    Jelenléti | Összesítő

    Összesítő munkalap A9 képlete
    =SZÖVEG(Jelenléti!$A$2;"éééé-hh-")&CSERE(Jelenléti!A24;HOSSZ(Jelenléti!A24);1;"")

    Összesítő munkalap E9 képlete
    =SZÖVEG(Jelenléti!C24;"?0") &":" & SZÖVEG(Jelenléti!D24;"00")

    Összesítő munkalap F9 képlete
    =SZÖVEG(Jelenléti!E24;"?0") &":" & SZÖVEG(Jelenléti!F24;"00")

    Összesítő munkalap G9 képlete
    =Jelenléti!L24

    Az összes képlet másolható egérrel, ameddig szükséges

    Nem tudom, hogy egyre gondoltunk-e, majd megnézed és írsz, ha valami nem kóser.

    Ez így azért nem jó mert nem függ attól, hogy az N oszlop a jelenlétiben ki van-e töltve így az összes sort átviszi az összesítőre. Nekem viszont csak azokra lenne szükség az összesítőn amik N oszlopban egy számmal meg vannak jelölve. Ez minden hónapban más napokra esik.
    Pl.: egyik hónapban a 6-7, 15-16 másik hónapban meg már az 1-2, 7-8, 21-22 napokat kellene átrakni az összesítőre. Ezért tenném az N oszlopba a jelölést, hogy valamiből lehessen tudni, hogy ezeket kell átrakni (a beírt számnak nincs jelentősége és nem is sorban van)

  • Fire/SOUL/CD
    félisten

    A jelenléti munkalapok azok nem üresek csak jelen esetben nem töltöttem ki. Azokon a napokon is dolgozom szerencsére. A másik munkalapon kizárólag ezek a "jelölt sorok" kellenének a másik munkalapra ezért nehézkes számomra.

    Tehát felsőben sorok nem mellőzhetők, alsóba "felesleges" sorok nem kerülhetnek bele. Azért fontosak ezek mivel nyomtatásra kerülnek és fontos, hogy szerepeljenek rajta ezen adatok is.

    És tényleg hiányzik az év és a hónap. Az pedig úgy van az A2 cellában, hogy a megjelenítése évre és hónapra van korlátozva. Tehát oda beütöm, hogy 2012-06 akkor megjeleníti, hogy 2012.június, de így is a cell tartalma 2012-06-01

    Remélhetőleg jól értettem és meg is felel (makró nélkül). Maradva a korábbi képednél, az alapján vannak a képletekben a hivatkozások. Ha nem jó cellára lenne a hivatkozás, akkor majd módosítod, ahogy megfelel.

    Jelenléti | Összesítő

    Összesítő munkalap A9 képlete
    =SZÖVEG(Jelenléti!$A$2;"éééé-hh-")&CSERE(Jelenléti!A24;HOSSZ(Jelenléti!A24);1;"")

    Összesítő munkalap E9 képlete
    =SZÖVEG(Jelenléti!C24;"?0") &":" & SZÖVEG(Jelenléti!D24;"00")

    Összesítő munkalap F9 képlete
    =SZÖVEG(Jelenléti!E24;"?0") &":" & SZÖVEG(Jelenléti!F24;"00")

    Összesítő munkalap G9 képlete
    =Jelenléti!L24

    Az összes képlet másolható egérrel, ameddig szükséges

    Nem tudom, hogy egyre gondoltunk-e, majd megnézed és írsz, ha valami nem kóser.

  • bozsozso
    őstag

    Ez azért nagy segítség, mert szvsz a korábbi leírásod alapján ilyen felépítésű munkalapra nem gondoltam volna. :DDD

    Ennek kivitelezéséhez alapvetően nem kellene makró, csak akkor ha a jelenléti munkalapban fontosak az üres sorok és az alsó munkalapban meg ne szerepeljenek.

    Ha a jelenléti munkalapból mellőzhetőek az üres sorok vagy az alsó munkalapba meg bekerülhetnek az üres sorok, akkor nincs szükség makróra.

    Akárhogy is, egy infóra viszont mindenképp szükség van, nevezetesen hogy melyik év, melyik hónapjáról van épp szó. (mert ezt nem látom a képen, csak azt, hogy a jelenléti munkalap A oszlopa funkcionál a napok jelzésére)

    A jelenléti munkalapok azok nem üresek csak jelen esetben nem töltöttem ki. Azokon a napokon is dolgozom szerencsére. A másik munkalapon kizárólag ezek a "jelölt sorok" kellenének a másik munkalapra ezért nehézkes számomra.

    Tehát felsőben sorok nem mellőzhetők, alsóba "felesleges" sorok nem kerülhetnek bele. Azért fontosak ezek mivel nyomtatásra kerülnek és fontos, hogy szerepeljenek rajta ezen adatok is.

    És tényleg hiányzik az év és a hónap. Az pedig úgy van az A2 cellában, hogy a megjelenítése évre és hónapra van korlátozva. Tehát oda beütöm, hogy 2012-06 akkor megjeleníti, hogy 2012.június, de így is a cell tartalma 2012-06-01

  • Fire/SOUL/CD
    félisten

    Egy kis magyarázat hozzá:

    Felső táblázat a jelenléti. Alsó pedig ahová kellenek az adatok

    A felső táblázatban található C-D illetve E-F cellák kellenek idő formátumban az alsó táblázat E illetve F oszlopába. Igaz T betűt írtam előbb, mert nem akartam bonyolítani a helyzetet, de a végén minden esetbe egy szám szerepel ami szintén látható, hogy hová kerül át. A felsőben az A oszlopban találhatók a napok amiből konkrét dátumot kellene varázsolni az alsó táblázat A oszlopába.

    Fú ez kicsit körülményes leírás lett. Lényeg, hogy a felső táblázatban szereplő "jelölt" soroknak a másik munkalap(alsó táblázat) -ra kellene átkerülni abban a formában.

    Lehetséges ez egyáltalán makró nélkül?

    Ez azért nagy segítség, mert szvsz a korábbi leírásod alapján ilyen felépítésű munkalapra nem gondoltam volna. :DDD

    Ennek kivitelezéséhez alapvetően nem kellene makró, csak akkor ha a jelenléti munkalapban fontosak az üres sorok és az alsó munkalapban meg ne szerepeljenek.

    Ha a jelenléti munkalapból mellőzhetőek az üres sorok vagy az alsó munkalapba meg bekerülhetnek az üres sorok, akkor nincs szükség makróra.

    Akárhogy is, egy infóra viszont mindenképp szükség van, nevezetesen hogy melyik év, melyik hónapjáról van épp szó. (mert ezt nem látom a képen, csak azt, hogy a jelenléti munkalap A oszlopa funkcionál a napok jelzésére)

  • lappy
    őstag

    Egy kis magyarázat hozzá:

    Felső táblázat a jelenléti. Alsó pedig ahová kellenek az adatok

    A felső táblázatban található C-D illetve E-F cellák kellenek idő formátumban az alsó táblázat E illetve F oszlopába. Igaz T betűt írtam előbb, mert nem akartam bonyolítani a helyzetet, de a végén minden esetbe egy szám szerepel ami szintén látható, hogy hová kerül át. A felsőben az A oszlopban találhatók a napok amiből konkrét dátumot kellene varázsolni az alsó táblázat A oszlopába.

    Fú ez kicsit körülményes leírás lett. Lényeg, hogy a felső táblázatban szereplő "jelölt" soroknak a másik munkalap(alsó táblázat) -ra kellene átkerülni abban a formában.

    Lehetséges ez egyáltalán makró nélkül?

    .

  • bozsozso
    őstag

    Ezt jó lenne, ha pár képpel illusztrálnád, mert az nagy segítség lenne. Nem kell minden adatról kép, csak az egyik munkalap pár soráról, a másik munkalap pár soráról és hogy milyen legyen (megfelelő cellába manuálisan beírod, hogy hogyan kellene kinézni a dolognak)

    Egy kis magyarázat hozzá:

    Felső táblázat a jelenléti. Alsó pedig ahová kellenek az adatok

    A felső táblázatban található C-D illetve E-F cellák kellenek idő formátumban az alsó táblázat E illetve F oszlopába. Igaz T betűt írtam előbb, mert nem akartam bonyolítani a helyzetet, de a végén minden esetbe egy szám szerepel ami szintén látható, hogy hová kerül át. A felsőben az A oszlopban találhatók a napok amiből konkrét dátumot kellene varázsolni az alsó táblázat A oszlopába.

    Fú ez kicsit körülményes leírás lett. Lényeg, hogy a felső táblázatban szereplő "jelölt" soroknak a másik munkalap(alsó táblázat) -ra kellene átkerülni abban a formában.

    Lehetséges ez egyáltalán makró nélkül?

  • Fire/SOUL/CD
    félisten

    Sziasztok,

    Excelben készítem a jelenléti ívemet a munkahelyemen. A túlórát külön sorban jelölöm meg T betűvel. A munka kezdet illetve befejezés 2-2 cellában található külön cellában az óra és a perc egy cellában pedig a ledolgozott munkaóra egy másikban pedig a túlóra. Adott egy másik munkalapon a túlórához szükséges lap aminél viszont a kezdete, vége 1-1 cellában található idő formában(pl.:10:30)

    Azt szeretném ha a túlóra amit a sor végén "T" betűvel megjelölök a jelenlétin az óra percek összefűzésével átkerüljön a másik munkalap megfelelő celláiba. Mivel nem minden nap van túlóra ezt a "másolást" meg tudom oldani valami függvénnyel, hogy automatikusan átkerüljenek a másik munkalapra ezen adatok vagy csak valami makróval oldható meg?

    Ja és még valahogy a jelenléti első oszlopában található napot az adott hónaphoz tartozó dátumként kellene átteni.

    Adott munkalapon a sor végén meg tudom jeleníteni a számomra szükséges formában, de nem tudom, hogy ezeket hogyan tudnám sorban megjeleníteni a másik munkalapon. Ezek nem biztos, hogy egymást követő napok.

    Remélem érthetően tudtam leírni

    Ezt jó lenne, ha pár képpel illusztrálnád, mert az nagy segítség lenne. Nem kell minden adatról kép, csak az egyik munkalap pár soráról, a másik munkalap pár soráról és hogy milyen legyen (megfelelő cellába manuálisan beírod, hogy hogyan kellene kinézni a dolognak)

  • bozsozso
    őstag

    Sziasztok,

    Excelben készítem a jelenléti ívemet a munkahelyemen. A túlórát külön sorban jelölöm meg T betűvel. A munka kezdet illetve befejezés 2-2 cellában található külön cellában az óra és a perc egy cellában pedig a ledolgozott munkaóra egy másikban pedig a túlóra. Adott egy másik munkalapon a túlórához szükséges lap aminél viszont a kezdete, vége 1-1 cellában található idő formában(pl.:10:30)

    Azt szeretném ha a túlóra amit a sor végén "T" betűvel megjelölök a jelenlétin az óra percek összefűzésével átkerüljön a másik munkalap megfelelő celláiba. Mivel nem minden nap van túlóra ezt a "másolást" meg tudom oldani valami függvénnyel, hogy automatikusan átkerüljenek a másik munkalapra ezen adatok vagy csak valami makróval oldható meg?

    Ja és még valahogy a jelenléti első oszlopában található napot az adott hónaphoz tartozó dátumként kellene átteni.

    Adott munkalapon a sor végén meg tudom jeleníteni a számomra szükséges formában, de nem tudom, hogy ezeket hogyan tudnám sorban megjeleníteni a másik munkalapon. Ezek nem biztos, hogy egymást követő napok.

    Remélem érthetően tudtam leírni

  • Fire/SOUL/CD
    félisten

    Köszi, de valahogy nem akar összejönni
    Képletnek beírtam ezt: =MIN(F4:H4) =F4, érvényességnek pedig =$F$4:$H$4, beállítottam egy formázást de nem csinálja.
    Mi lehet a gond?
    Az a baj, hogy nem értem mi az a két egyenlőség jel a képletben

    Feltételes formázás képletében (is) fontos a $ jelek helyes használata, ez okozza problémát esetedben is.

    =MIN($F$4:$H$4) = F$4

  • varsam
    őstag

    Feltételes formázással tudod megvalósítani.
    Az itt linkelt képen egy olyan szabályt láthatsz, amely az A oszlopban jelöli meg piros háttérrel a legkisebb értéket. [link]
    Ez alapján a saját igényednek megfelelően tudod módosítani.

    Köszi, de valahogy nem akar összejönni
    Képletnek beírtam ezt: =MIN(F4:H4) =F4, érvényességnek pedig =$F$4:$H$4, beállítottam egy formázást de nem csinálja.
    Mi lehet a gond?
    Az a baj, hogy nem értem mi az a két egyenlőség jel a képletben

  • Fire/SOUL/CD
    félisten

    üdv

    Probléma:
    Adott három cella számértékekkel, és a három közül a legalacsonyabbat (minimumot) szeretném valamilyen színű háttérre állítani. Hogy tudom megcsinálni, hogy a többi cella ne változzon, csak a minimum értékes háttere?
    köszi

    Feltételes formázással tudod megvalósítani.
    Az itt linkelt képen egy olyan szabályt láthatsz, amely az A oszlopban jelöli meg piros háttérrel a legkisebb értéket. [link]
    Ez alapján a saját igényednek megfelelően tudod módosítani.

  • varsam
    őstag

    üdv

    Probléma:
    Adott három cella számértékekkel, és a három közül a legalacsonyabbat (minimumot) szeretném valamilyen színű háttérre állítani. Hogy tudom megcsinálni, hogy a többi cella ne változzon, csak a minimum értékes háttere?
    köszi

  • Sziszmisz
    csendes tag

    W1 cella képlete

    =FKERES(V1;AA:AC;3)

    Ezt követően W1 cellát egérrel lemásolod ameddig szükséges.
    (természetesen a W oszlopot is Pénznemre kell formázni, AC oszlopban használt formátumra)

    woww, köszi szépen, mostmár tudom miért nem ment ez nekem.... :))

  • Fire/SOUL/CD
    félisten

    Sziasztok,

    Árkód párosításban kérném a segítségeteket. W oszlopba szeretném megjeleníteni V oszlophoz árkódjaihoz tartozó Ft értéket. Azaz azt szeretném elérni hogy Voszlop árkódját keresse ki AA-oszlopból és a hozzá tartozó Ft-ot adja vissza AC oszlopból.

    Előre is nagyon köszönöm :R -Sziszmisz

    W1 cella képlete

    =FKERES(V1;AA:AC;3)

    Ezt követően W1 cellát egérrel lemásolod ameddig szükséges.
    (természetesen a W oszlopot is Pénznemre kell formázni, AC oszlopban használt formátumra)

  • Sziszmisz
    csendes tag

    Sziasztok,

    Árkód párosításban kérném a segítségeteket. W oszlopba szeretném megjeleníteni V oszlophoz árkódjaihoz tartozó Ft értéket. Azaz azt szeretném elérni hogy Voszlop árkódját keresse ki AA-oszlopból és a hozzá tartozó Ft-ot adja vissza AC oszlopból.

    Előre is nagyon köszönöm :R -Sziszmisz

  • zz76zz
    csendes tag

    Szia!
    Ezt biztos nekem szántad?

    Ha engem kérdezel, állítsd át a cél cellák formátumát dátumra, akkor dátumként fogja megjeleníteni is.
    Ha VBA-val másolsz, akkor már a kódban add meg a cella formátumát, mondjuk így:
    Range("kezdő cella:Uccsó cella").NumberFormat = "m/d/yyyy"

    Ha csak sima másolással, akkor előre a cella formátumot, beilleszteni pedig csak az értéket szúrd be irányított beillesztéssel.

    Ha szöveg kell, akkor szövegre állítsd, de akkor a képlettől ne várj eredményt.

    nem oda szántam, hanem a (#14104) cousin333 re válaszként, de köszönöm kipróbálom, amit írtál.

  • hallgat
    csendes tag

    Egy pdf ből másolok át sok szöveget és onnan dátumnak nézi a dátum formátumot, ami baj, ugyanis így a 12/02/02 őt autómatikusan 40944 nek értelmezi, tehát még a képlet sem fog jól működni.

    Szia!
    Ezt biztos nekem szántad?

    Ha engem kérdezel, állítsd át a cél cellák formátumát dátumra, akkor dátumként fogja megjeleníteni is.
    Ha VBA-val másolsz, akkor már a kódban add meg a cella formátumát, mondjuk így:
    Range("kezdő cella:Uccsó cella").NumberFormat = "m/d/yyyy"

    Ha csak sima másolással, akkor előre a cella formátumot, beilleszteni pedig csak az értéket szúrd be irányított beillesztéssel.

    Ha szöveg kell, akkor szövegre állítsd, de akkor a képlettől ne várj eredményt.

  • zz76zz
    csendes tag

    Szia!

    Nagyon köszönöm! :R :R
    Az ötlet tetszik, és tényleg lényegesen gyorsabb, mint ha egyenként vizsgálnám és a munkalapon törölném is a sorokat. :K

    Közben egy másik megoldásra kényszerültem (időhiány miatt), ami kissé "barbár", de működik és szintén villám gyors.
    Persze ehhez az kell, hogy a célnak az így kapott eredmény is megfeleljen.
    Viszont a makród szimpatikusabb, ezért le is cseréltem az én megoldásomat gyorsan. :K :R

    Leírom, hátha valaki hasznát veszi:
    A tömbből kimutatást készítettem egy másik munkalapra, ahol minden oszlopot behúztam a sorok értékéhez, egy tetszőleges oszlopot pedig betettem az adattartomány értékhez, "darab" művelettel. Közben minden oszlop behelyezése után a kimutatáson belüli összegző sorokat rejtetté tettem, beleértve a végösszeget is. (lehet eset, ahol nem árt, ha előtte a forrás táblát sorba rendezi az ember a vizsgálni kívánt oszlop szerint, itt nem kellett)
    A kimutatás ugyan eredményez utolsó sorként "ÜRES" jelölésű értéket is a végére, de ezt a fejlécben a szűrőben kivettem, így minden adatom csak egyszer jelenik meg, mellette a többi oszlop adatával. Ezt a tömböt tovább tudtam vinni makróval a kívánt helyre. Annyival lett "hosszabb" az eredeti makró, hogy frissítenem kell a kimutatást is egy sorban, valamint innen kell elvinnem az adatokat, nem az eredeti táblából. És persze született még egy munkalapom, kvázi feleslegesen.

    A kódot még egyszer köszönöm, megint tanultam valamit!!! :C :R

    Egy pdf ből másolok át sok szöveget és onnan dátumnak nézi a dátum formátumot, ami baj, ugyanis így a 12/02/02 őt autómatikusan 40944 nek értelmezi, tehát még a képlet sem fog jól működni.

  • hallgat
    csendes tag

    Azért annyi, mert a cellából/ba olvasás/írás nagyon lassú művelet.

    Ha viszont a memóriába olvasod be "tömbként", azon sokkal gyorsabb maga a művelet sebessége, viszont így a memóriahasználat sokkal nagyobb. De hát ugye valamit valamiért.

    Még lehetne úgy is, hogy a táblázathoz egy plusz oszlopot átmenetileg hozzáadni, ebben megjelölni a megmaradó cellákat, majd sorba rendezni. Ezután megkeresni ebben az új oszlopban az első nem üres cellát, majd a táblázat sorainak a celláit innentől kezdve törölni. Majd a végén az új oszlop celláit is törölni:

    Application.ScreenUpdating = False
    Set elsoadat = Range("A2")
    Set rng = elsoadat.CurrentRegion
    If rng.Row < elsoadat.Row Then Set rng = rng.Offset(1, 0).Resize(rng.Rows.Count - 1, rng.Columns.Count)
    n = Cells(Rows.Count, rng.Column).End(xlUp).Row
    tomb = Application.Transpose(Range(Cells(rng.Row, rng.Column), Cells(n, rng.Column)).Value)
    ReDim tomb1(1 To UBound(tomb))
    n = UBound(tomb)
    tomb1(n) = 1
    For i = n - 1 To 1 Step -1
    If tomb(i) <> tomb(n) Then
    tomb1(i) = 1
    n = i
    End If
    Next
    n = UBound(tomb)
    Range(Cells(rng.Row, rng(rng.Count).Column + 1), Cells(rng(rng.Count).Row, rng(rng.Count).Column + 1)).Value = Application.Transpose(tomb1)
    Range(Cells(rng.Row, rng.Column), Cells(rng.Row + n - 1, rng(rng.Count).Column + 1)).Sort Key1:=Cells(rng.Row, rng(rng.Count).Column + 1), Order1:=xlDescending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
    m = Cells(Rows.Count, rng(rng.Count).Column + 1).End(xlUp).Row
    Range(Cells(m + 1, rng.Column), Cells(rng.Row + n - 1, rng(rng.Count).Column + 1)).Delete
    Range(Cells(rng.Row, rng(rng.Count).Column + 1), Cells(m, rng(rng.Count).Column + 1)).Delete
    Set rng = ActiveSheet.UsedRange
    Application.ScreenUpdating = True

    Itt a elsoadat-ban kell megadni az első olyan adatot tartalmazó cellát, amelytől lefelé az ismétlődéseket figyelni kell. Előnye, hogy csak egy oszlopot ír(bár 2-t olvas be, valamint autómatikusan érzékeli a fejlécet is, ha a elsoadat jól van megadva, tehát a táblázat igazából bárhol lehet, nem csak az A2-ben.

    Oops!
    No ez az a kód, amit már csak részletekben értek, vagy legalábbis azt hiszem :Y
    :))

    Ezt félig makróval, félig függvénnyel kipróbáltam úgy, hogy valóban betettem egy plusz oszlopot, állandóra.
    Sima HA függvénnyel adtam értéket a celláknak, attól függően, hogy az előtte lévő sorban találhatóval egyezik, avagy nem "A" oszlop értéke. 1 vagy semmi.
    Aztán a sorba rendezést már a makró csinálta, majd meghatároztam az utolsó sort az új cella alapján, amiben még adat van és onnan lefelé törlés mindent.

    Ez már jónak mutatkozott (igaz a függvény kicsit megnövelte a fájl méretet és a cellák újraszámolása is tovább tartott), de messze nem ennyire kifinomult, mint a makród.

    Hálám a sírig..., hogy ennyit törődtök a nyavalyámmal!

    :R :R :R

  • psg5
    veterán

    Ráállsz a cellára, ami legördülőként üzemel és újra az érvényesítést választod és ott lesz a tartomány.

    Ilyen esetekben érdemesebb lehet a tartománynak nevet adni és az érvényesítésnél tartománynevet megadni a tartománynak. Ennek az az előnye, hogy a tartományneveket nyilvántartja az Excel, ki lehet listázni és módosítani is lehet rajta, ezáltal minden objektum, ami az adott tartománynevet használja tartományként, annak automatikusan megváltozik a tartománya. (De sok tartomány van ebben a mondatban) :DDD

    Gyakorlatban, miről is írtam:
    1. Tartomány elnevezése
    2. Érvényesítés->tartomány a tartománynév
    3. Névkezelő (képletek fül/Definiált nevek csoport/Névkezelő)
    4. Az 1. pontban létrehozott tartománynév tartományának módosítása

    Nagyon köszi! Megvan, valamiért a hivatkozott cellálból kivették az értékeket. Beírtam és megy minden. Köszi!
    Amúgy az eredetiben ezek az értékek el voltak rejtve, csak ha rááltam a cellára, akkor írta ki fennt, hogy van bele írva valami. Hogy lehet rejteni?

    Megvan. Fehérrel írták be...

  • Fire/SOUL/CD
    félisten

    Igen ugyanazt használja. Azt hogyan tudom megnézni, hogy ez a használt tartomány hol van? (Sok lapfül van) Lehet az a baj hogy nem jól hivatkozik rá.

    Ráállsz a cellára, ami legördülőként üzemel és újra az érvényesítést választod és ott lesz a tartomány.

    Ilyen esetekben érdemesebb lehet a tartománynak nevet adni és az érvényesítésnél tartománynevet megadni a tartománynak. Ennek az az előnye, hogy a tartományneveket nyilvántartja az Excel, ki lehet listázni és módosítani is lehet rajta, ezáltal minden objektum, ami az adott tartománynevet használja tartományként, annak automatikusan megváltozik a tartománya. (De sok tartomány van ebben a mondatban) :DDD

    Gyakorlatban, miről is írtam:
    1. Tartomány elnevezése
    2. Érvényesítés->tartomány a tartománynév
    3. Névkezelő (képletek fül/Definiált nevek csoport/Névkezelő)
    4. Az 1. pontban létrehozott tartománynév tartományának módosítása

  • psg5
    veterán

    Ki lehet jelölni több cellát is és azokról eltávolítani az érvényesítést, ugyanígy több cellához is lehet azonos érvényesítést is hozzáadni, csak itt kérdéses, hogy a legördülők mindegyike ugyanazt a tartományt használja-e...

    Igen ugyanazt használja. Azt hogyan tudom megnézni, hogy ez a használt tartomány hol van? (Sok lapfül van) Lehet az a baj hogy nem jól hivatkozik rá.

  • Fire/SOUL/CD
    félisten

    Hát nem olyan egyszerű (legalábbis számomra) mert van 110 sor ezekben 30 oszlop és egy oszlop minden sorában van a legördülő lista. Nem én hoztam létre. Tudom egyszerre törölni az összes legördülőt és létrehozni helyettük egyszerre legördülőt?

    Ki lehet jelölni több cellát is és azokról eltávolítani az érvényesítést, ugyanígy több cellához is lehet azonos érvényesítést is hozzáadni, csak itt kérdéses, hogy a legördülők mindegyike ugyanazt a tartományt használja-e...

  • psg5
    veterán

    Töröld és hozd létre újra a legördülőlistát, az a legegyszerűbb, gyorsan megvan.

    Hát nem olyan egyszerű (legalábbis számomra) mert van 110 sor ezekben 30 oszlop és egy oszlop minden sorában van a legördülő lista. Nem én hoztam létre. Tudom egyszerre törölni az összes legördülőt és létrehozni helyettük egyszerre legördülőt?

  • Fire/SOUL/CD
    félisten

    Még egy kérdésem lenne:

    Legördülő lista szépen megjelent idáig egy cellánál, de valamiért egy módosítás után üres a legördülő lista, de ha jobb egérrel kattintok és kiválasztom a legördülő választéklistát akkor már ott van, hogy lehetne visszahozni, hogy a nyílra is előhozza ahogy volt, ne csak a jobb egérre?

    Köszönöm az előzőeket is, nagy segítség volt!

    Töröld és hozd létre újra a legördülőlistát, az a legegyszerűbb, gyorsan megvan.

  • psg5
    veterán

    Még egy kérdésem lenne:

    Legördülő lista szépen megjelent idáig egy cellánál, de valamiért egy módosítás után üres a legördülő lista, de ha jobb egérrel kattintok és kiválasztom a legördülő választéklistát akkor már ott van, hogy lehetne visszahozni, hogy a nyílra is előhozza ahogy volt, ne csak a jobb egérre?

    Köszönöm az előzőeket is, nagy segítség volt!

  • psg5
    veterán

    =A1 & " " & B1 & " " & C1 & " " & D1 & " " & E1

    A kívánt cellába beírod ezt a képletet(saját igényeid szerint módosítva) és egérrel lemásolod, ameddig szükséges.

    Köszönöm!

  • Fire/SOUL/CD
    félisten

    Alakul, de ez nem hagy szóközt, hanem mindent egybefűz és utána nem lehet javítani.
    Bele javíthatok egy képlet által összefűzött szövegbe vagy akkor elveszik a képlet?

    Város, utca cím, kell összefűzni. Van 50 sor ezekben két oszlopban a város és a cím , a város cím menne egy cellába bele külön mindegyiknél.

    =A1 & " " & B1 & " " & C1 & " " & D1 & " " & E1

    A kívánt cellába beírod ezt a képletet(saját igényeid szerint módosítva) és egérrel lemásolod, ameddig szükséges.

  • psg5
    veterán

    Az összefűz függvény lesz a te barátod :K

    Alakul, de ez nem hagy szóközt, hanem mindent egybefűz és utána nem lehet javítani.
    Bele javíthatok egy képlet által összefűzött szövegbe vagy akkor elveszik a képlet?

    Város, utca cím, kell összefűzni. Van 50 sor ezekben két oszlopban a város és a cím , a város cím menne egy cellába bele külön mindegyiknél.

  • Fire/SOUL/CD
    félisten

    Sziasztok!

    A 2007-es Excel DARABHATÖBB függvényét mivel tudom helyettesíteni 2003-as Excelben?

    Pl SZORZATÖSSZEG fügvénnyel

    Alapképlet DARABHATÖBB függvénnyel

    =DARABHATÖBB(A1:A10;"d";B1:B10;3)

    Megfelelője SZORZATÖSSZEG függvénnyel

    =SZORZATÖSSZEG(1*(A1:A10="d");1*(B1:B10=3))

  • bugizozi
    őstag

    Üdv!

    Lehet-e megvalósítani, hogy több cellában szereplő tartalmat egy cellába másolni?
    Ne kelljen külön másolgatni beillesztgetni, ha lehet. Ha nem hát nem :)

    Az összefűz függvény lesz a te barátod :K

  • Sziasztok!

    A 2007-es Excel DARABHATÖBB függvényét mivel tudom helyettesíteni 2003-as Excelben?

  • psg5
    veterán

    Üdv!

    Lehet-e megvalósítani, hogy több cellában szereplő tartalmat egy cellába másolni?
    Ne kelljen külön másolgatni beillesztgetni, ha lehet. Ha nem hát nem :)

  • kolja
    tag

    Üdv a Hozzáértőknek!
    Bizonyára halál egyszerű a dolog de én mégsem találok rá megoldást.
    Egy adott oszlop pl.: (F2;F28) celláiban található alulról legelső értékét kellene egy másik cellába beolvasni. Nem feltétlenül folytonos kitöltés mellett!
    Előre is köszi

  • #90999040
    törölt tag

    Igen. Ezt azóta felfedeztem, de sajnos még így is csak cca 2,5x-es a tempó.
    Azt nem értem, hogy miért, de kipróbáltam és ennyi.
    A soronkénti vizsgálattal mint írtam 4000 sor körül törölt percenként. Ha minden számom 19x ismétlődik, akkor ugye ez 40.000 sornál kb. 2100 tömb, amit az előzőhöz viszonyítva meg kellene csinálnia fél perc alatt. De 1 percnél leállítottam és kb. 10000 sorral volt kevesebbem, mint előtte.
    Arra azonban mindenképp jó, hogy látom hogyan kell ismétlődő blokkot keresni, tehát tanulságos.
    Megint köszi!

    Azért annyi, mert a cellából/ba olvasás/írás nagyon lassú művelet.

    Ha viszont a memóriába olvasod be "tömbként", azon sokkal gyorsabb maga a művelet sebessége, viszont így a memóriahasználat sokkal nagyobb. De hát ugye valamit valamiért.

    Még lehetne úgy is, hogy a táblázathoz egy plusz oszlopot átmenetileg hozzáadni, ebben megjelölni a megmaradó cellákat, majd sorba rendezni. Ezután megkeresni ebben az új oszlopban az első nem üres cellát, majd a táblázat sorainak a celláit innentől kezdve törölni. Majd a végén az új oszlop celláit is törölni:

    Application.ScreenUpdating = False
    Set elsoadat = Range("A2")
    Set rng = elsoadat.CurrentRegion
    If rng.Row < elsoadat.Row Then Set rng = rng.Offset(1, 0).Resize(rng.Rows.Count - 1, rng.Columns.Count)
    n = Cells(Rows.Count, rng.Column).End(xlUp).Row
    tomb = Application.Transpose(Range(Cells(rng.Row, rng.Column), Cells(n, rng.Column)).Value)
    ReDim tomb1(1 To UBound(tomb))
    n = UBound(tomb)
    tomb1(n) = 1
    For i = n - 1 To 1 Step -1
    If tomb(i) <> tomb(n) Then
    tomb1(i) = 1
    n = i
    End If
    Next
    n = UBound(tomb)
    Range(Cells(rng.Row, rng(rng.Count).Column + 1), Cells(rng(rng.Count).Row, rng(rng.Count).Column + 1)).Value = Application.Transpose(tomb1)
    Range(Cells(rng.Row, rng.Column), Cells(rng.Row + n - 1, rng(rng.Count).Column + 1)).Sort Key1:=Cells(rng.Row, rng(rng.Count).Column + 1), Order1:=xlDescending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
    m = Cells(Rows.Count, rng(rng.Count).Column + 1).End(xlUp).Row
    Range(Cells(m + 1, rng.Column), Cells(rng.Row + n - 1, rng(rng.Count).Column + 1)).Delete
    Range(Cells(rng.Row, rng(rng.Count).Column + 1), Cells(m, rng(rng.Count).Column + 1)).Delete
    Set rng = ActiveSheet.UsedRange
    Application.ScreenUpdating = True

    Itt a elsoadat-ban kell megadni az első olyan adatot tartalmazó cellát, amelytől lefelé az ismétlődéseket figyelni kell. Előnye, hogy csak egy oszlopot ír(bár 2-t olvas be, valamint autómatikusan érzékeli a fejlécet is, ha a elsoadat jól van megadva, tehát a táblázat igazából bárhol lehet, nem csak az A2-ben.

  • hallgat
    csendes tag

    Igen, a kódomat írva nekem is az volt a legfőbb gondom, hogy hogyan lehetne gyorsan törölni, Szerencsére rátaláltam arra az utasításra, ami képes kijelölni az üres cellákat. Innen már csak üressé kellett tennem a megcélzott elemeket, az meg ment gyorsan.

    De egyébként a fenti problémára van jobb megoldás is, nem tudom, a 2003-ban megy-e:
    - jelöld ki a teljes táblázatot: Ctrl + Shift + Space (ez is jó trükk amúgy)
    - Adatok fül, Adateszközök, Ismétlődések eltávolítása
    - kiválasztod az oszlopo(ka)t, amik alapján az ismétlődést megállapítod

    ennyi...

    Igen, ez az egyik igen hasznos újítás 2003 óta Excelben.
    Gondolom sokaknak és sokszor okozott gondot, ezért tették megoldottá menüből.
    Ezt 2003 még nem tudja.

    A tábla különböző módon történő jelölgetése megy, köszi :B ha lehet kerülöm az egeret, sok időt lehet spórolni a billentyűparancsok ismeretével, ezt én is csak javasolni tudom mindenknek, még ha VBA-hoz láma is az ember...

  • hallgat
    csendes tag

    Tulajdonképpen a kódja nem egyenként töröl, legalábbis nem soronként, hanem kihasználja azt az adottságot, hogy az ismétlődések egymás után szerepelnek. Megkeresi a teljes ismétlődő blokkot és egy lépéssel törli. A sebesség tehát inkább a blokkok számától függ, mintsem a benne lévő ismétlődő sorok számától.

    Igen. Ezt azóta felfedeztem, de sajnos még így is csak cca 2,5x-es a tempó.
    Azt nem értem, hogy miért, de kipróbáltam és ennyi.
    A soronkénti vizsgálattal mint írtam 4000 sor körül törölt percenként. Ha minden számom 19x ismétlődik, akkor ugye ez 40.000 sornál kb. 2100 tömb, amit az előzőhöz viszonyítva meg kellene csinálnia fél perc alatt. De 1 percnél leállítottam és kb. 10000 sorral volt kevesebbem, mint előtte.
    Arra azonban mindenképp jó, hogy látom hogyan kell ismétlődő blokkot keresni, tehát tanulságos.
    Megint köszi!

  • cousin333
    addikt

    Szia!

    Nagyon köszönöm! :R :R
    Az ötlet tetszik, és tényleg lényegesen gyorsabb, mint ha egyenként vizsgálnám és a munkalapon törölném is a sorokat. :K

    Közben egy másik megoldásra kényszerültem (időhiány miatt), ami kissé "barbár", de működik és szintén villám gyors.
    Persze ehhez az kell, hogy a célnak az így kapott eredmény is megfeleljen.
    Viszont a makród szimpatikusabb, ezért le is cseréltem az én megoldásomat gyorsan. :K :R

    Leírom, hátha valaki hasznát veszi:
    A tömbből kimutatást készítettem egy másik munkalapra, ahol minden oszlopot behúztam a sorok értékéhez, egy tetszőleges oszlopot pedig betettem az adattartomány értékhez, "darab" művelettel. Közben minden oszlop behelyezése után a kimutatáson belüli összegző sorokat rejtetté tettem, beleértve a végösszeget is. (lehet eset, ahol nem árt, ha előtte a forrás táblát sorba rendezi az ember a vizsgálni kívánt oszlop szerint, itt nem kellett)
    A kimutatás ugyan eredményez utolsó sorként "ÜRES" jelölésű értéket is a végére, de ezt a fejlécben a szűrőben kivettem, így minden adatom csak egyszer jelenik meg, mellette a többi oszlop adatával. Ezt a tömböt tovább tudtam vinni makróval a kívánt helyre. Annyival lett "hosszabb" az eredeti makró, hogy frissítenem kell a kimutatást is egy sorban, valamint innen kell elvinnem az adatokat, nem az eredeti táblából. És persze született még egy munkalapom, kvázi feleslegesen.

    A kódot még egyszer köszönöm, megint tanultam valamit!!! :C :R

    Igen, a kódomat írva nekem is az volt a legfőbb gondom, hogy hogyan lehetne gyorsan törölni, Szerencsére rátaláltam arra az utasításra, ami képes kijelölni az üres cellákat. Innen már csak üressé kellett tennem a megcélzott elemeket, az meg ment gyorsan.

    De egyébként a fenti problémára van jobb megoldás is, nem tudom, a 2003-ban megy-e:
    - jelöld ki a teljes táblázatot: Ctrl + Shift + Space (ez is jó trükk amúgy)
    - Adatok fül, Adateszközök, Ismétlődések eltávolítása
    - kiválasztod az oszlopo(ka)t, amik alapján az ismétlődést megállapítod

    ennyi...

  • cousin333
    addikt

    Szia!

    Nagyon köszönöm! :R

    Ez nagyban hasonlít az enyémre, (az egyetlen működőre, a sok próbálkozásom közül :DDD ) de a táblán belül végzett egyenkénti vizsgálat és egyenkénti törlés nem a legjobb megoldás, mert rengeteg (tényleg rendszeresen 40.000 sor feletti) adatot kell végigmásznia.

    Ennek ellenére tanultam ebből is, így nagyon köszönöm!!! :R :R

    Tulajdonképpen a kódja nem egyenként töröl, legalábbis nem soronként, hanem kihasználja azt az adottságot, hogy az ismétlődések egymás után szerepelnek. Megkeresi a teljes ismétlődő blokkot és egy lépéssel törli. A sebesség tehát inkább a blokkok számától függ, mintsem a benne lévő ismétlődő sorok számától.

  • hallgat
    csendes tag

    Közben rájöttem....tömbképlet...tehát ctrl+shift+enter !!!!

    :K
    Mivel nem válaszként írtad, hanem új hozzászólásként, így csak feltételezem, hogy a rendszámos, kilóméteres problémát sikerült megoldanod ;)

    A másik kérdésedet is összehoztad? A találat alatti sor értéket?

  • hallgat
    csendes tag

    Próbáld meg így:

    n = Range("A" & Rows.Count).End(xlUp).Row
    For i = n - 1 To 1 Step -1
    If Cells(i, 1).Value <> Cells(n, 1).Value Then
    If i < n - 1 Then Rows(i + 1 & ":" & n - 1).Delete
    n = i
    End If
    Next
    If Cells(1, 1).Value = Cells(n, 1).Value And n > 1 Then Rows(1 & ":" & n - 1).Delete

    Szia!

    Nagyon köszönöm! :R

    Ez nagyban hasonlít az enyémre, (az egyetlen működőre, a sok próbálkozásom közül :DDD ) de a táblán belül végzett egyenkénti vizsgálat és egyenkénti törlés nem a legjobb megoldás, mert rengeteg (tényleg rendszeresen 40.000 sor feletti) adatot kell végigmásznia.

    Ennek ellenére tanultam ebből is, így nagyon köszönöm!!! :R :R

  • hallgat
    csendes tag

    Mindenképpen az egész sor törlése kell, nem csak egy adott mennyiségű oszlopé?

    A sebesség azért lassú, mert sokszor nyúlsz a cellákhoz. Ilyen adatmennyiségnél ez már komoly problémát jelent.

    Azt írtad, hogy az ismétlődések csak egymás után fordulnak elő. Akkor egyszerűen menj végig az oszlopon, és ha az aktuális cella megegyezik az előző cellával, akkor töröld ki az adott sort. Csak arra figyelj, hogy legközelebb is ugyanezt a sort vizsgáld, mert a törlés miatt eggyel kevesebb lett. Vagy alulról indulj el felfelé.

    Előbb találtam meg a kódot tartalmazó segítséget, mint ezt a bejegyzést, pedig nincsenek messze egymástól :DDD

    Igen, az eredeti megoldás úgy nézett ki, hogy keresd meg az utolsó sort. Utolsó sor felett vizsgáld meg, hogy mi van, ha egyezik utolsó sorban lévő értékkel töröld, ha nem, lépj egyel feljebb.

    Ez volt a drámaian lassú.
    Cca. 4000 sort törölt percenként. Sajna ebben a táblában rendszeres, hogy 40.000 feletti a sorok száma. (minden adat 19x szerepel benne)

    Viszont a kód, ami egyel lejjebb született, tökéletes :C
    Köszönet! :R

  • hallgat
    csendes tag

    Na, megalkottam a gyilkos VBA kódot :) Nyilván lehetne még rajta reszelni, de úgy tűnik, működik, méghozzá elég gyorsan. A kód feltételezi, hogy a kérdéses számok az A1:A20000-es tartományban vannak. Akkor is így kell megadni, ha a számok csak a 2. sorban kezdődnek! Ha nem az első sorból indítasz, akkor módosítgatni kell a kódot, mert nálam a tartomány indexe és a sor száma ugyanaz (lásd a For ciklust).

    Gyakorlatilag megnézem a teljes listát, és ha azonosat találok, megjelölöm azzal, hogy törlöm a mellette(!) lévő cella tartalmát (különben csak minden 2. egyezést találna meg). A törlést nem a munkafüzeten végzem, mert az ennyi adatnál lassú lenne, hanem "belsőleg".

    Ezután fogom a teljes tartományt, és kijelölöm illetve törlöm azokat a sorokat, amiben a B cella üres. A kód:

    Sub duplikatum()

    Dim szamok As Variant

    szamok = Range("A1:B20000").Value
    sorok = ""


    For i = 2 To UBound(szamok)
    If szamok(i, 1) = szamok(i - 1, 1) Then
    szamok(i, 2) = ""
    End If
    Next i

    Range("A1:B20000").Value = szamok

    Range("B1:B20000").SpecialCells(xlCellTypeBlanks).EntireRow.Delete

    End Sub

    Szia!

    Nagyon köszönöm! :R :R
    Az ötlet tetszik, és tényleg lényegesen gyorsabb, mint ha egyenként vizsgálnám és a munkalapon törölném is a sorokat. :K

    Közben egy másik megoldásra kényszerültem (időhiány miatt), ami kissé "barbár", de működik és szintén villám gyors.
    Persze ehhez az kell, hogy a célnak az így kapott eredmény is megfeleljen.
    Viszont a makród szimpatikusabb, ezért le is cseréltem az én megoldásomat gyorsan. :K :R

    Leírom, hátha valaki hasznát veszi:
    A tömbből kimutatást készítettem egy másik munkalapra, ahol minden oszlopot behúztam a sorok értékéhez, egy tetszőleges oszlopot pedig betettem az adattartomány értékhez, "darab" művelettel. Közben minden oszlop behelyezése után a kimutatáson belüli összegző sorokat rejtetté tettem, beleértve a végösszeget is. (lehet eset, ahol nem árt, ha előtte a forrás táblát sorba rendezi az ember a vizsgálni kívánt oszlop szerint, itt nem kellett)
    A kimutatás ugyan eredményez utolsó sorként "ÜRES" jelölésű értéket is a végére, de ezt a fejlécben a szűrőben kivettem, így minden adatom csak egyszer jelenik meg, mellette a többi oszlop adatával. Ezt a tömböt tovább tudtam vinni makróval a kívánt helyre. Annyival lett "hosszabb" az eredeti makró, hogy frissítenem kell a kimutatást is egy sorban, valamint innen kell elvinnem az adatokat, nem az eredeti táblából. És persze született még egy munkalapom, kvázi feleslegesen.

    A kódot még egyszer köszönöm, megint tanultam valamit!!! :C :R

  • cousin333
    addikt

    Ez nagyon szép megoldás. Köszönöm szépen! Nem ismertem ezen lehetőségeket. Már csak annyi gondom van, hogy a scrip futtatása köznem a dátumokat átformázza és katyavaszos lesz. Hiába raktam át szövegessé a cellákat, amikor a script nekikezd, akkor átnézi újra és átírja. Olvastam fórumokat, de kielégítő megoldást nem találtam. . . ha valaki tud segíteni megköszönöm.
    OO nem rakja át ott viszont nem működött egyik függvény sem.

    Még annyit, hogy a

    sorok = ""

    sort kiveheted, mert (már) nem csinál semmit. :)

    emonitor megoldása is jó, és egész gyors.

    "Már csak annyi gondom van, hogy a scrip futtatása köznem a dátumokat átformázza és katyavaszos lesz."

    Ezt kicsit jobban is definiálhatnád. Eleve dátumok vannak benne, vagy ez Excel hiszi azt? Milyen formátumban? Mit jelent pontosan, hogy összekutyulja?

  • egykettő
    aktív tag

    Sziasztok!

    Adott egy tábla ami több lapból áll. Egy olyan érvényesítésre, makróra, vagy bármire lenne szükségem, ami csak akkor enged beírni egy számot az F oszlop egyik sorába ha az a fájlban található lapok f oszlopába még nem szerepel.

    Tehát röviden az kéne, hogy csak egyedi értéket írhassak be a z F oszlop soraiba.
    ebben kérném a segítségeteket.

  • saab00
    csendes tag

    Köszönöm, a szumha függvény egész jól működik.....már csak egy problémám van, a függvény tábla kiírja a helyes értéket de ha rányomok a "kész" gombra vagy nyomok egy entert "0" ad eredményül !Ez miért lehet ???????

Új hozzászólás Aktív témák

Hirdetés