- iPhone topik
- Google Pixel topik
- Egy szenzor, két zoomkamera: újraírta a Huawei a mobilfotózás történetét
- Poco M3 - felújított állomás
- Térerő gondok, tapasztalatok
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Milyen okostelefont vegyek?
- Honor Magic6 Pro - kör közepén számok
- One mobilszolgáltatások
- Olcsó Galaxyk telepíthetik a One UI 7-et
-
Mobilarena
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
psg5
veterán
válasz
Fire/SOUL/CD #14196 üzenetére
Ú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
Ezt megint emésztenem kell
No, akkor a te képeden keresztül leírom, mit csináltam, és mi az, ami (ismét
) 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
-
lappy
ő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 D1111 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
válasz
Fire/SOUL/CD #14196 üzenetére
Megnézem, hátha nem egészen így csináltam.
Nagyon köszi! -
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üzetetMegfigyelheted, 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
válasz
Fire/SOUL/CD #14194 üzenetére
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... -
-
psg5
veterán
válasz
Fire/SOUL/CD #14192 üzenetére
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?
-
-
psg5
veterán
válasz
Fire/SOUL/CD #14186 üzenetére
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
válasz
Fire/SOUL/CD #14186 üzenetére
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
válasz
Fire/SOUL/CD #14186 üzenetére
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
-
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.
-
"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?) -
Traxx
őstag
Köszönöm, az, amit írtál, tökéletes, szűrődik az E és az O is megfelelően
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
-
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? -
Traxx
őstag
Melegedik a helyzet
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
-
Traxx
ő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...
-
Traxx
őstag
Jövök ismét sírni
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
-
lappy
őstag
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! -
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?
oliver7777: nincs mit
-
Traxx
őstag
válasz
oliver7777 #14160 üzenetére
É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
Ez most egy hiperláma kérdés lesz
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?
Lehet tényleg elbeszélünk egymás mellett, de nekem nem tiszta valami...
Elnézést a lámaságért
-
Traxx
őstag
Lehet valóban képpel lenne a legegyszerűbb
É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ű
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
-
Delila_1
veterán
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
Lehet, hogy én nem értelmezem jól, amit mondasz, de talán elbeszélünk egymás mellett
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?
Elnézést az értetlenkedésemért
-
oliver7777
tag
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!
-
Traxx
ő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...
Megvalósítható ez valahogyan?
-
Traxx
őstag
Szia!
Először is köszönöm a tippet
Megeshet, hogy jót írsz, csak én nem értem, vagy nem írtam le pontosan, hogy mi a harci helyzet
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?
Vagy ezzel kibővítve 2003 alatt nehézkes lesz a dolog?
-
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
-
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:=FalseRange("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:=TrueRange("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("N16000"), Type:=xlFillDefault
Range("N16000").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").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,C
,E:E,F
,N
,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("B11").Select
'3000 sormélységig vizsgálunk'
Selection.AutoFill Destination:=Range("B13000"), Type:=xlFillDefault
Range("B13000").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("E11").Select
Selection.AutoFill Destination:=Range("E13000"), Type:=xlFillDefault
Range("E13000").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("N13000"), Type:=xlFillDefault
Range("N13000").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("O23000"), Type:=xlFillDefault
Range("O23000").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").SelectRange("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
").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("R23000"), Type:=xlFillDefault
Range("R23000").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").ColumnWidth = 13.57
Columns("F").ColumnWidth = 10.86
'munka3 ba másoljuk a kész adatokat és formázgatjuk:'
Range("F,J:J,O
,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").SelectColumns("A
").Select
Columns("A").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").SelectEnd 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.
-
válasz
Metathrone #14150 üzenetére
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
válasz
Fire/SOUL/CD #14148 üzenetére
Nagyon szépen köszönöm pont ezt szerettem volna csinálni.
-
válasz
bozsozso #14147 üzenetére
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 SubAz ö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
válasz
Fire/SOUL/CD #14146 üzenetére
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) -
válasz
bozsozso #14145 üzenetére
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.
Ö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!L24Az ö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
válasz
Fire/SOUL/CD #14144 üzeneté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
-
válasz
bozsozso #14142 üzenetére
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.
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)
-
bozsozso
őstag
válasz
Fire/SOUL/CD #14141 üzenetére
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
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
-
-
varsam
őstag
válasz
Fire/SOUL/CD #14137 üzenetére
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 -
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
válasz
Fire/SOUL/CD #14134 üzenetére
woww, köszi szépen, mostmár tudom miért nem ment ez nekem....
-
-
Sziszmisz
csendes tag
-
hallgat
csendes tag
válasz
zz76zz #14130 üzenetére
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.
-
hallgat
csendes tag
válasz
#90999040 #14113 üzenetére
Oops!
No ez az a kód, amit már csak részletekben értek, vagy legalábbis azt hiszemEzt 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!
-
psg5
veterán
válasz
Fire/SOUL/CD #14127 üzenetére
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...
-
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)
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
válasz
Fire/SOUL/CD #14125 üzenetére
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á.
-
-
psg5
veterán
válasz
Fire/SOUL/CD #14123 üzenetére
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?
-
-
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
válasz
Fire/SOUL/CD #14120 üzenetére
Köszönöm!
-
-
psg5
veterán
válasz
bugizozi #14117 üzenetére
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.
-
-
kisspepe
tag
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
válasz
hallgat #14111 üzenetére
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 = TrueItt 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
válasz
cousin333 #14110 üzenetére
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
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
válasz
cousin333 #14109 üzenetére
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
válasz
hallgat #14105 üzenetére
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ítodennyi...
-
cousin333
addikt
válasz
hallgat #14107 üzenetére
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
válasz
#90999040 #14096 üzenetére
Szia!
Nagyon köszönöm!
Ez nagyban hasonlít az enyémre, (az egyetlen működőre, a sok próbálkozásom közül
) 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!!!
-
hallgat
csendes tag
válasz
cousin333 #14098 üzenetére
Előbb találtam meg a kódot tartalmazó segítséget, mint ezt a bejegyzést, pedig nincsenek messze egymástól
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
Köszönet! -
hallgat
csendes tag
válasz
cousin333 #14099 üzenetére
Szia!
Nagyon köszönöm!
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ö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.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!!!
-
cousin333
addikt
válasz
zz76zz #14100 üzenetére
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?
-
saab00
csendes tag
Közben rájöttem....tömbképlet...tehát ctrl+shift+enter !!!!
-
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
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Sea of Thieves Premium Edition és Egyéb Játékkulcsok.
- Vírusirtó, Antivirus, VPN kulcsok
- Assassin's Creed Shadows Collector's Edition PC
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- iKing.Hu - Apple iPhone 13 Pro Max - Graphite - Használt, újszerű
- LG 27UL550-W - 27" IPS / 3840x2160 4K / 60Hz 5ms / HDR10 / AMD FreeSync
- MSI CYBORG 15 A13V
- RAKTÁRSÖPRÉS!!! - Videókártyák, Monitorok, Notebookok, Stb. - Szaküzletből! Számlával!
- www.LicencAruhaz.hu OLCSÓ & LEGÁLIS SZOFTVEREK 0-24 KÉZBESÍTÉSSEL - Windows - Office - ÖRÖK GARANCIA
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest