Az „Excel” fórum célja, hogy keretet adjon az Excel felhasználók széles táborának tapasztalataik megosztására, és lehetőséget a segítséget kérőknek. Az alábbi összefoglaló azért készült, hogy segítse a helyes kérdésfeltevést.
– Írd le szabatosan a problémát. Úgy fogalmazz, hogy ne csak te magad, de a szakértő is megértse, mire szeretnél választ kapni.
– Írd le, hogy milyen verziójú Excellel dolgozol. (Vagy ha nem – ill. nem csak – Excel, akkor micsoda?)
– Írd le, hogy milyen úton indultál el, és hol akadtál el rajta.
– A kérdés megértése szempontjából sokat segíthet, ha feltölteszt egy képet, amin látszik, hogy mit szeretnél, vagy illusztrálja azt.
– Még jobb, ha feltöltesz egy minta munkafüzetet valahová (pl. data.hu). Feltöltés előtt távolítsd el belőle a nem publikus adatokat.
– Ha a feladat jellege olyan, célszerű az "előtte" és "utána" állapotokat bemutatni. (Miből kellene csinálni mit?)
– Ha VBA kódon kell javítani, másold be a releváns kódrészt. Rövid kód mehet hozzászólásba, hosszú kód inkább ide: http://pastebin.com/
– Ha valami nem úgy működik, ahogy kellene, add meg a rendellenes viselkedés jellemzőit, a hibaüzenetet, és a hibát okozó programsort.
A segítségeteket kérném, hogy hogyan lehet meghatározni VB-ben egy kétdimenziós tömb sorainak számát.
A makró úgy működik, mint egy excel-es függvény, egyszerűen a makró meghívásakor annak argumentumába kijelöléssel határozom meg a tömböt. Pont ezért nem tudom előre, hogy hány sora van.
A Tomb.Cells.Count utasítással a cellák számát kapom meg, de nekem csak a sorok száma kellene.
Köszi a tippet! Megnézem aztán jelentkezem, hogy mire jutottam! :)
Jönne a következő kérdés :D
Meg lehet-e oldani valahogy, hogy a munkafüzet1-re felrögzített számlák/szállítólevelek adatait ami változó terjedelmű szortírozzak beszállítóként új munkafüzetre?
Pl:
Munkafüzet 1
Beszállító1:
A10:G10
Beszállító2:
A11:F25
Beszállító1:
A25:H30
és akkor Munkafüzet2 kiírja az A10:G10 tartományt és A25:H30
Munkafüzet3 pedig A11:F25-öt.
Ez persze folyamatosan nőni fog szóval valami keresés kellene rá csak az a baj, hogy nem tudom mekkora lesz a bevitt adatok határai. Mert lehet hogy 1 sor és mondjuk 3 oszlop de az is lehet hogy 10sor és 9 oszlop.
a dimenzió határai között lehetnek hülyeségek mert csak hasraütés szerűen írtam
Ez az indapassos izé nem valami halálos kór, az enyém is össze van kötve és túlélhető. Egyszerűen nem kell vele foglalkozni, és akkor nem zavar. Nem kapsz kéretlen leveleket stb. Csak mailcímmel kell belépni, ennyi.
Persze nekem sem tetszik, de mégis azt mondom, hogy csináld meg, mert nagy veszteség lenne a fórumnak, ha eltűnnél....
Van-e az alábbi kérdésemre valamelyikőtöknek megoldása kamatos kamat számítással kapcsolatban?
Példa:10 Ft az induló (0. nap) tőke és naponta termel kamatot (a napi kamat mértéke legyen fix 0,15%).
55. nap beteszek a bankba még 20 Ft-ot és ettől kezdve már a tőke ami kamatozik (30 Ft) + napi kamatos kamat.
75. nap az 55. napon befizetett 20 Ft-ot szeretném kivenni.
Természetesen
- nagyobb induló összeg is lehet a tőke, vagy
- nagyobb összeget vagy
- több alkalommal is lehet a futamidő közben betenni, a kérdésem lényege az, hogy meg lehet-e határozni az induló tőke mértékét (a napi kamat összege fix) optimálisan, az újabb tőkebefizetés dátumát és azt a napot, annak érdekében, hogy az 55. napon befizetett összeget (20 Ft) a 75. napon ki lehessen venni?
Szomorúan olvastam, hogy itt akarod hagyni a topikot. Nem is tudom mi lesz velünk (velem) a tudásod meg a hozzáállásod nélkül. Remélem, hogy találsz valami megoldást, hogy a továbbiakban is a segítségünkre legyél.
A jelenlegi problémámhoz visszatérve a nyomógombos színváltoztatás jó ötlet és a mintád alapján megpróbáltam applikálni az én táblázatomba. Nem kevés időbe került mire rájöttem, hogy egyáltalán hol kell keresni a gombokat, és hogyan kell használni és konfigurálni. Ez nagy nehezen sikerült, de egyből felvetődtek további problémák. Megpróbálom pontokba szedni, amik hirtelen az eszembe jutnak.
a makrót hogyan lehet az egész munkafüzetre kiterjeszteni
hogy lehet behatárolni azt a cellaterületet amiben az adatok vannak (és amit majd kiszínezz), mert most akármelyik cellára ráállok azt kiszínezi
az értéket egy fix helyen lévő cellába szeretném tenni nem úgy ahogyan a mintában van (Box.Offset(1) = Box.Offset(1) + ActiveCell.Value)
A nyomógomb megnyomása, majd elengedése után vigye a kijelölést az alatta lévő cellába.
Ha már itt a topikban nem akarsz, ezzel foglalkozni akkor a segítség jöhet magánba is. Még egyszer köszönök minden segítséget.
Nem tudom. Olyan egyszerűnek tűnik, h menjen végig a sorokon, és amíg uaz a dátum, adja össze a hozzátartozó darabszámot kód szt. V a kódszti besorolásnál lenne a bibi?
Esetleg tedd be, pontosan, és a profik megmondják, melyik lépés nem stimmel az excel birodalomban.
(Én tuti kiszámolnám, ha nem is papíron, de számológéppel, legalább egy hibás napot, h mit kell kapjak, lehet, h már ez megmutatja, mi nem stimmelt.)
Nagy veszteség a fórumnak, hogy itt hagysz minket. A hatalmas tudásod mellett a szellemiséged is hiányozni fog. Ez úgy hangzik, mint valami nekrológ, csak azzal – néha – ellentétben igaz.
Remélem, nem fosztod meg az Excel iránt érdeklődő honfitársaidat ezután sem a segítségedtől.
Nade ennyire hülye a művezető sem lehet :-), ezért gyanakszom, h az excel körül nem stimmel vmi. Nekem a dátumok vizsgálata a gyanús, de nem tudtam tűlzottan elmélyülni a kérdésben, szal ez csak ötlet.
Persze, hogy nem tévedhetetlen a művezető. Ezért készül az excel! :D Na de 31 napból csak 5 napon sikerül eltalálnia? :D
Az excel meg miért csak pont ötöt vesz figyelembe a 31 napból? Szerintem reálisabb a fordítottja lenne, hogy valamiért pont ötöt nem vesz észre. De lehet, hogy felrögzítem kézzel és megnézem akkor mit ad vissza.
Esetleg ellenörzés képpen másik függvényre nincs ötlet? Tudom, hogy ez a legegyszerűbb. De ha még a hiba feltárulna akkor se bíznék benne annyira mert erre fog a pénzügyi rész egy része alapozni...
Feltételezve, h a művezető tévedhetetlen. Én megnézném és összehasonlítanám az algoritmusokat (műv meg excel), de nekem a nünükém, h a programozós/exceles dolgokat, h átlássam, ezzel kezdem :-)
Nem lehet, h a program nem vesz figyelembe egy paramétert? Ami ugye lényegtelen, ha összeadásban 0 v szorzásban 1, de rögtön kavar a hiánya, ha nem annyi.
Olyan kérdésem lenne, hogy létezik-e másik módszer ami a kimutatást helyettesíti?
Azt akarom megtudni a scannerből, hogy napi szinten miből mennyit termelünk.
Van 3 oszlopom. Dátum, idő és termékkód.
Az idő adja az értéket így megkapom, hogy egy nap mennyit gyártottak le az adott termékből. Viszont ez még közelébe sincs a papírnak, amit a művezető ír a gyárban.
Csináltam egy másik kimutatást ahol nem vettem bele az időt hanem adtam értéket a darab függvénnyel a soroknak. Így van egy dátumom egy cikkszámom és az 1-es adja a legyártott termék számát az idő helyett és állítottam be kimutatásnál értéknek.
Így is ugyan azokat az értékeket kaptam mintha az időt vettem alapul értéknek a kimutatásban.
Viszont a szépsége a dolognak, hogy vannak olyan napok amikor század pontosságal megegyezik a papíron vezetett kimutatással. Tehát valahol akkor mégis csak jónak kell lennie a kimutatásnak mert akkora véletlen nincs, hogy egy hónapnyi termelésből 5db századra megegyezzen.
A magam részéről nagyon sajnálom, hogy elmész. Abban, hogy a fórum gazdái nem nagyon foglalkoznak a panaszokkal, abban teljesen egyetértek. Magam is találkoztam gondokkal, pl. hogy az indavideok megtekintése néha nagyon nehézkes, és én sem kaptam megfelelő választ. Én is vesztettem el bejegyzét, csak azt nem tettem szóvá. Elintézem magamban egy halk káromkodással.
Ami az indapasst illeti, magam nem voltam ennyire elutasító. Illetve csak egy ideig. Egyszer fogtam magam és összekapcsoltam (ma már fogalmam sincs, hogy miképp). És - igaz, hogy keveset fórumozok - nem tapasztaltam belőle problémát. Sőt egy előnyöm is van belőle: Valahogy sikerült elérnem (valamelyik kapcsolódó cikkhez - nem fórumhoz - történő hozzászólásra való bejelentkezés után), hogy az otthoni gépemről a fórumra lépve nem kell bejelentkeznem. Még úgy sem, hogy a megjegyzett adataimra kattintsak, hanem bejelentkezés nélkül benn vagyok, és írhatok. Apróság, de nekem tetszik. Az más kérdés, hogy ez a lehetőség, és főleg az elérési módja nincs dokumentálva, vagy legalábbis én nem ismerem a leírását.
Akárcsak én írtam volna... Nem vagyok hajlandó, pláne nem -kötelezően rámkényszerített- indafosra, csak nem figyeltem a dátumot, aszittem, még van nap :-)
Viszont találtam egy kis exceles szótanulós anyagot: http://esz4.uw.hu
Legyen, akinek van kedve, és nyilván lehet még továbbfejleszteni is :-)
a mai az utolsó aktív napom az Index fórumán. Az elsődleges ok az, hogy rám akarják kényszeríteni ezt az indapassnak nevezett valamit, én meg nem hagyom. Így holnaptól nem fogok tudni bejelentkezni. A másodlagos pedig az a jelenség, amin az utóbbi napokban puffogtam, nevezetesen, hogy nem igazán foglalkoznak a fórum tulajdonosai és gazdái a mezei felhasználó igényeivel.
Megígértem, hogy hagyok hátra elérhetőséget. Még nem tudom, hogy később regisztrálok-e egy másik magyar Excel fórumra. De az itteni nickem elvileg megmarad, a publikus email címemmel együtt. Ez a cím egy darabig még biztosan élni fog, de aztán lecserélem. Ha esetleg van köztetek olyan, aki értesülni szeretne az email címem későbbi változásáról, küldjön egy mail-t, mondjuk úgy egy hónapon belül.
Egy élmény volt Veletek, további jó munkát kívánok.
Csatolok egy képet csináltam egy egyszerű táblázatot amivel érthetőbbé teszem az elképzelésemet.
Jimmy ötlete tetszik a +/- gombokkal, és úgy érzem Ö teljesen megértette az elképzelésemet. Mint írtam én teljesen amatőr vagyok, nem hiszem hogy egy ilyen makrót megtudnék írni. Ha a mintaképhez írna egy makrót, akkor megpróbálnám átrágni magam hogy mi- miért van benne, és akkor átformálnám az én már meglévő táblázatomhoz.
Persze, hogy nem vagyok kész :-DDD, de azért alakul.
De odáig eljutottam, hogy létrehoz egy PPT fájlt, bemásolja automatába az adott chartot PPT-be és lementi.
Jelenleg a gondom az, hogy rossz helyre másol.
Nem magára a dia közepére, hanem valahogy a fele lelóg róla :-D.
De azért nem adom fel :-D.
Sajnos nem csak egyszer kell 72-szer kopiznom :-D, hanem majd minden hónapban létre kéne hozni 24db PPT-t és abba 3 chartot.
Ettől a feladattól gyorsan felfordulna a gyomrom :-D /leesne a vérnyomásom, ami egyébként is alacsony :-D/, úgyhogy megpróbálom elkerülni ha lehet :-D.
És még a kávén is sprórolok igy. És kevésbé hülyén halok meg :-D
Ha csak egyszer kéne, akkor persze én is megcsináltam volna, mint a futószalagon a gyárban ;-).
"(Előbb-utóbb sztem mindenkinek kiderül a gyengéje, így egy okos kérdező az összeset kombinálva a fórum teljes szaktudását maga mellé állíthatja.... :) )"
Akkor az első 30 sor mézesmadzag lesz, és azon bukik majd a mutatvány, hogy nem lesz, aki végigolvassa :)
A táblázatban van két oszlop amiben különböző termékek nevei vannak, pl. liszt, cukor. só, kávé, tea, pálinka, stb. A mellette levő oszlopban ezek árai vannak. Ez eddig érthető: A és B oszlop x db termékkel és árával kitöltve.
Ezek az oszlopok később bővíthetők. Merre? Mivel? Arra gondolsz, h még több termék bekerülhet? Ha igen, az nem változtat a dolgon (az eddigi tudásom szt egyesével lépegetünk a sorokon végig, de makróban még nagyon kicsike kezdő vagyok, de algoritmust szeretek gyártani :-)).
A táblázat másik részén van négy fix cella amiket én dobozoknak nevezek, Ez a 4 cella bhol lehet? Ha jól értem, ez cska asszonypajtás kattintási lehetőségét szolgálja.
és a több termékből csak négynek az árát akarom ebbe a cellába összeadni. Na, ezt nem egészen értem. Mit összeadni? A 4 "doboz"cellában lévő árakat összeadni? Hova, melyik cellába? Egy 5.-be?
Ráállok a terméket oszlopban pl. a liszt ára cellára, majd utána az 1-es számú dobozra amibe a liszt árait gyűjti. Hogyhogy árait??? Nem egy ár van a B oszlopban? De miért pont 4 doboz? Mindig uaz a 4? (De akkor minek a többi termék? :-D) Minden alkalommal "random" 4?
Állj! Kiszállításnak képzeljem? A doboz vban doboz, amit különböző 4féle áruval telepakolsz, és kéne az értéke? Tehát egy dobozba kerülhet lsizt, cukor, ső, bmi, és kéne a végösszeg?
Na, a színezésről majd külön, most már nagyon álmos s éhes vagyok :-)
Húúú, most már tudja mindenki, hogyan kell kezdeni a hozzászólást...
:)))))))))
(Előbb-utóbb sztem mindenkinek kiderül a gyengéje, így egy okos kérdező az összeset kombinálva a fórum teljes szaktudását maga mellé állíthatja.... :) )
Lehet hogy nagyon érthetetlenül fogalmazok, ezért megpróbálom konkrétabban leírni, hogy mit szeretnék. A táblázatban van két oszlop amiben különböző termékek nevei vannak, pl. liszt, cukor. só, kávé, tea, pálinka, stb. A mellette levő oszlopban ezek árai vannak. Ezek az oszlopok később bővíthetők. A táblázat másik részén van négy fix cella amiket én dobozoknak nevezek, és a több termékből csak négynek az árát akarom ebbe a cellába összeadni.
A munka menete a következő:
Ráállok a terméket oszlopban pl. a liszt ára cellára, majd utána az 1-es számú dobozra amibe a liszt árait gyűjti. Ekkor a liszt dobozban hozzáadja az árat a már bentlévő értékhez, és kiszínezi a termék ára oszlopban a szóban forgó cellát. Azért kell kiszínezni hogy a listába benn maradjon, de viszont látni lehessen hogy ez az adat már felvan dolgozva.
Ugyanezt megcsinálom egy másik termék árával is csak akkor a termék nevének megfelelő dobozra állok rá.
A megoldás csúcsa az lenne ha a fix termék dobozokat ellátnánk különböző színekkel és amikor beleteszi az értéket akkor a saját színével színezné ki a termék listában lévő feldolgozott cellát.
Azért szeretném megcsinálni így ezt a táblázatott, mert aki használni fogja (feleségem) semmilyen excel ismeretekkel nem rendelkezik, nem tudja a színezéseket stb., de a kattintások azok mennek. Az én drágám mindig azt mondja, hogy miért nem lehet egy programot úgy megírni, hogy Ő is tudja használni.
Előre is köszönöm a segítséget, talán most egy kicsit érthetőbb voltam.
Ugyan, ugyan. Csak arra mozdulok rá, ami érdekel. Ha valaki úgy kezdi, hogy a nemzetközi fórumon nem tudták megoldani, de majd itt nekünk biztosan sikerül, annak nem bírok ellenálni :)
Aztán meg ha már beígértem valamit, illik legalább megpróbálni az ígéret megtartását.
Nagyon köszönöm az ötleteket, amint lehet kipróbálom őket, most elárasztanak egyéb problémák, a zárás pedig csont nélkül lefutott. Egyébként lehet, hogy a probléma csak 2010-en jön elő?
Nem vagyok gyakorlott index fórumozó, de nekem több félórányi munkám veszett el, amíg rájöttem, hogy CTRL+C nélkül az elküldés csak az igazán vakmerő bátrak sportja ....
Na szóval azt próbáltam hajnalban elmondani, hogy sikerült itthon megoldani a virtuális LAN-t, de a hibajelenség nem jött elő. Szóval nem tudom kipróbálni az ötleteimet.
Két kerülő úttal próbálkoztam volna, esetleg próbáld meg, hátha.
1. Nem a Test makróval végezni a hozzárendelést, hanem a Macros.xlsm -ben a Worksheet_Followhyperlink eseménykezelővel.
Amikor rákattintasz a hiperlinkre, megnyílik a button.xlsm, az eseménykezelő pedig a szokott módon hozzárendeli a megfelelő makrót. Esetleg el is menti így a munkafüzetet.
2. A button.xlsm-ban a workbook_open eseménykezelő vézgi el a hozzárendelést. Esetleg annyival cifrázva, hogy magát a workbook_open eseménykezelőt a Test makró írja bele a Button.xlsm-be.
Hát igazad van abban, hogy ezt én találtam ki, de ha van az embernek egy elképzelése akkor szeretné azt úgy megvalósítani. A dolog lényege az, hogy vannak különböző számoszlopok amiknek az értékeit a táblázaton elhelyezett „dobozokba” (cellákba) szeretném bedobálni, úgy hogy a már bedobott számokat megjelölje valamilyen színnel, vagy ha beírok egy új számot, és berakom a megfelelő dobozba akkor is színezze. A legnagyobb problémát az jelenti, hogy a makróban nem tudom a dobozra való kattintás előtti cella koordinátáit hogyan tudom tárolni, vagy előhívni. Lehet hogy az egész elgondolás kivitelezhetetlen, ezért fordultam hozzátok, hogy ezt írjátok meg, de ha lehetséges valami megoldás akkor abban segítsetek.
Megint van egy kis problémám, amit nem tudok megoldani. Adott egy táblázat, aminek bármelyik cellájába beírok egy számot, vagy egy már beírt számú cellát kijelölök, majd rákattintok a táblázat egy adott cellájára (pl.F4) akkor az előzőleg járt cellát színezze ki, mondjuk sárgára.
(Mivel most úgyis uborkaszezon van, szerintem offolhatunk még egy kicsit.)
"Elég, ha annyira működik a fórummotor, hogy több ezer felhasználót bevonz reklám nézegetésre."
Hűha. Akkor az én véleményem mégannyira sem számít, mert AdblockPlus-t használok. Azt sem tudom, mi az a reklám :)
"ilyen tömegű felhasználóval ez nonszensz"
Mégis milyen sokan vagyunk. Ebből is látszik a szocialista múlt hatása. A "madzag" felénk eső végén megtanultuk, hogy bármilyen békát lenyelünk. A másik végén meg úgy állnak hozzá, hogy kit érdekel, mit gondolnak az ügyfelek/felhasználók. Örüljenek, hogy fórumozhatnak.
Ha nem ismernék más, külföldi fórumokat, talán fel sem tűnne, hogy mennyire le...nak minket.
"Azonban informatikában nincs lehetetlen, ha egy célhoz megfelelő tudás párosul (gondolok itt a fórummotor programozójára....)"
Egyetértek. Írtam a hibabejelentőbe, kíváncsi vagyok, jön-e válasz. Előttem 2 hónappal feltették ugyanezt a kérdést, arra nem jött.
"Az meg már filozófia, hogy hol a határ az alkalmazkodás és az elvárható minőség között."
A lényeg: Elég, ha annyira működik a fórummotor, hogy több ezer felhasználót bevonz reklám nézegetésre. Nagyjából ez a mentalitás. Az elmúlt 15 évben talán 2x lehetett jelentősen érzékelhető fejlesztés - ilyen tömegű felhasználóval ez nonszensz.
Egyébként amikor velem történt hasonló - átvillant a kérdés rajtam, hogy a "madzag" melyik végén lehetett a hiba. Azonban informatikában nincs lehetetlen, ha egy célhoz megfelelő tudás párosul (gondolok itt a fórummotor programozójára....)
"Most mondjam azt, hogy előző este kell összepakolni és lezuhanyozni? :)"
Mondjad. Az összepakolást illetően igazad is lenne. Ami a zuhanyzást illeti, az mostanában (fülledt, ~25-30°C-os éjszakák után) nemigen kerülhető el.
"Azért szólj, hogy hová mész, megyünk utánad."
Rendben.
Milyen böngésződ van? Biztos az a rossz, nem is a fórummotor ;)
Firefox :)
"Sajnos semmi sem tökéletes - a példánál maradva: lásd Excel."
Ez így van. Az meg már filozófia, hogy hol a határ az alkalmazkodás és az elvárható minőség között.
Tulajdonképpen hozzáállhatnék úgy is, hogy ezen a fórumon hozzátartozik a játékszabályokhoz, hogy időnként elvész félórás munkám, és én ezt elfogadtam, amikor ide regisztráltam. Elvileg ennek tudatában játszom. Ha meg elfelejtem a szabályokat, magamra vessek.
Most mondjam azt, hogy előző este kell összepakolni és lezuhanyozni? :)
Amit írsz, jogos. Sajnos semmi sem tökéletes - a példánál maradva: lásd Excel.
Ha lepattansz, meg sem látszik az index.hu gazdasági statisztikáján - neked egy bosszúsággal esetleg kevesebb, viszont nem lesz aki segítsen Neked (hehe:)
Azért szólj, hogy hová mész, megyünk utánad.
Milyen böngésződ van? Biztos az a rossz, nem is a fórummotor ;)
"bekuldes előtt a szerkesztoablakban ctrl+a , ctrl+c."
Igen, tudom, és általában eszembe is jut. Csak nem olyankor, amikor a hsz megírása után már csak 15 percem van, hogy lezuhanyozzak, felöltözzek, összeszedjem a szükséges holmikat, és elinduljak, mert különben lekésem a vonatot.
Amúgy meg ez elvi kérdés.
Nem a felhasználónak kell különböző trükköket kitalálnia, hogy csökkentse a rendszer hibás működéséből eredő kockázatokat.
jé káromkodsz...
de meg is értem. velem is előfordult - azóta bekuldes előtt a szerkesztoablakban ctrl+a , ctrl+c.
de valaki írt itt egy firefox addont, amivel ez kivedheto
Nagyon köszönöm, közben egy elég gáz megoldást csináltam, de legalább működik:
- az eredeti koncepció az volt, hogy egy helyen van egy makrókönyvtár (a példában a Macros.xlsm ami szintén menet közben alakul ki) és abba hivogatnak bele az OnAction segítségével a felhasználók (a saját button.xlsm-jeikből, amik mindig a záráskor jönnek létre). Most minden egyes button.xlsm-be lemásoltam a teljes makrókönyvtárat (persze ez is menet közben alakul ki) és így az OnAction hozzárendelés már megtalálja a makrót. Kicsit át kellett alakítani az algoritmusokat, mert amíg a külső makró el tudta mozgatni a fájlokat, a belső ezt nem tudja stb., de végül ma végre működik, persze meghagytam a régit, hátha valamikor kiderül a jelenség oka.
Érdekességként részsikert hozott a
Dim sPath As String Private Sub Workbook_Open()
sPath = Application.DefaultFilePath
Application.DefaultFilePath = "Y:temp"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Egyelőre nem sikerült a hibás működést reprodukálnom. De nem tudtam kialakítani a megfelelő tesztkörnyezetet sem, mert hiába próbálok VirtualBox alatt egy működőképes belső LAN-t összehozni a guest-ek között, nem akar összejönni. Látják egymást a gépek, de a megoszott mappa elérésével gondok vannak.
Holnap újra hálózaton leszek... ha még akkor nem késő...
Szerintem ezt csak makróval lehet megoldani (bár már sokszor kiderült, hogy az excel meg tudja lepni a usereket :) ).
Ahogy kivettem a szavaidból azt szeretnéd, ha minél gyorsabban megtalálnád az utolsó dátum sorát.
Ezt egész könnyen megteheted, ha pl feltételes formázással adsz egy sárga háttérszínt(vagy amit akarsz) a legutólsó dátum cellájának,sorának az virít majd :)
Persze ez csak akkor hatásos ha nem olyan nagy a táblázatod, 8-10 egérgörgetésnyi táblázatban jó ez a megoldás, de több ezer sornál már anniyra nem célszerű.
Az A cellában csak dátumok vannak. Ezekhez tartozik a B cellától információ. Az A3-ba írtam egy max függvényt ami kiadja, hogy mikori a legfrisebb dátumom. Speciel ez a tegnap1 ami 2012.06.26. És azt szeretném megoldani, hogy ha az A3-ra kattintok ami a max függvény akkor abba a sorba ugorjon az A oszlopban ami a legfrisebb dátum azaz a tegnapi. És ez pl a 16sorbab van. De holnap írok hozzá ami 2012.06.28 lesz és mondjuk ezt az A21be tudom írni akkor fent az A3ban az legyen, hogy 2012.06.28 és ha rákattintok akkor egyből a 21 sorba vigyen.
Tudom is és van róla pár vizsgám is, csak kérdeztem hátha van egyszerűbb vagy másik módszer amiről én nem tudok(így kezdtem a HSZ-t is :D ) amit esetleg más okból is felhasználhatok. Valamiért ki nem állom a ha függvényekbe ágyazott ha függvényt. Biztos hogy olyankor szólnak hozzám és eltévesztem hol tartok :@ :)
Még annyit, ha az Y: hálózati meghajtót C:-re, azaz lokálisra cserélem, a rendszer, a makrók tökéletesen futnak, tehát a bibi valahol a hálózati meghajtók kezelése körül lehet (bár minden helyet Trusted location-ra állítottam). Hiába a VBA-t én is csak a többi programnyelv mellé gyakorlatban próbálom elsajátsítani, hiányzik a szilárd alap. Az Excel 2007 kimaradt, az meg nálam nincs.
Az adott linkről csak regisztráció után lehet letölteni. Amúgy szívesen ránéznék, mondjuk holnap. Nem volna kedved feltölteni máshová, pl. data.hu vagy ilyesmi?
Annyit azért még meg kell jegyeznem, hogy Excel 2010 nem hozzáférhető számomra. 2007 alatt tudom tesztelni.
1.) Exploreren keresztül, minden tökéltesen működik, a makróhozzárendelés:
Macros.xlsm!Copy
2.) Ha a Macros.xlsm hyperlink-jén keresztül (ami az alkalmazásban elengedhetetlen!!!), a makróhozzárendelés:
ganymedeinforTempMacros.xlsm!Copy
akkor a gomb megnyomása után hibaüzentet kapok:
"A(z) ganymedeinforTempMacros.xlsm!Copy makró nem futtatható. Lehetséges, hogy a makró nem érhető el a munkafüzetben, vagy le van tiltva az összes makró"
Amennyiben tesztelni akarjátok, a fenti linken van a 2 fájl, amivel tesztelhető a jelenség (ide nem tudtam mellékletet csatolni).
Előre is nagyon köszönöm a segítségeteket, a havi záráshoz feltétlenül kell ez a megoldás.
Valószínű Nektek egy egyszerű kérdés lesz de én nem boldogulok :( Van egy táblázatom melynek soraiban számok 1-400ig. Ezeket a számokat kellene elosztanom oszloponként 1-1 számmal.Egy-egy oszlopnál ugyanaz az osztó. Ugye van erre egy egyszerű képlet? Segítsetek légyszi mert több száz számot kellene osztogatnom egyesével :( Köszönöm!!
Azt hittem van egyszerűbb de végülis csak rá kellet szánni magam a függvénybe ágyazott fügvény megírására :D
Másik kérdés :)
Van a készletem ami ugye nem lehet kisebb mint 0, mert minusz darabszámú alapanyag az nincs amiből gyártanak :D
Ezt meg lehet valósítani, hogy a cella tartománya az csak egyenlő vagy nagyobb lehet mint nulla. Azt a cellát két különböző Munkafüzeten lévő cella különbsége adja egy harmadikra.
hogyan tudom megtalálni egy magyar nyelvű hibaüzenetnek az angol megfelelőjét (Excel 2010, magyar és nincs angol nyelvű Excelem) pl.
"XXX makró nem futtatható. Lehetséges, hogy a makró nem érhető el a munkafüzetben, vagy le van tiltva az összes makró." ennek szeretném az angol nyelvű megfelelőjét.
Kösz. Mindkét javaslatod frankón müködik. A hibák megtalálásának a módjára magam is rájöhettem volna, mert én is a CTRL G paranccsal próbálkoztam, csak éppen nem találtam rá a HIBÁK opcióra. Mikor ilyesmi kiderül, mindig összeomlok, és elkezdek hevesen bazmegolni, hogy már itt tartok.
A szaggatottra való kettős klikkre is rábukkanhattam volna valahogy? Mert a sugóban próbáltam rákeresni, de nem találtam rá. Te például honnét tudtad?
Az egyik gépemen 2003-t, a másikon meg 2007-t és 2003-t is használok. Mindkettő rajt van, könnyen lehet hogy néhány parancsuk süketségét a közös particiós hátterük okozza. De amig nem ismerem meg jobban a 2007-est, addig így marad.
Na most egy új probléma. Mi lehet egy egyelőre érthetetlen jelenség hátterében? Internetes adatbázis exceles elemzésre alkalmas formátummá alakítása során az excel file igencsak megnőhet. Akár 7-10 MB-re is, mivel tele van aktív képletekkel, amiket míg be nem fejeztem a konvertálást, nem akarom értékké alakítani. E munka során egyszercsak az excel váratlanul kinyekken, én meg meglepődve látom, hogy az előbb még 8 MB-s file 13-14 MB-sre növekedett. Na most, ha e fileról másolatot csinálok, amiről kitörlöm az az összes képletet, majd áthozom a 13 MB-s adattábláról a képleteket tartalmazó egyik rekordot, majd ezeket rámásolom a kitörölt képletek helyére akkor megkapom a 13 MB-s változatot 8,1 MB formában. Azaz helyreállt a rend. A kérdés: milyen utasításom lehetett az, amitól megnőtt a file? Idáig még nem jöttem rá, pedig már 2x is előfordult.
Ps. Úgy látom, ha sokáig tökölök egy hsz-szel, az inda elzabrálja, és lehet kezdeni újra. B+.
- Egy baszomnagy látszólag jó exceltáblázatról, hogyan lehet gyorsan eldönteni, hogy tartalmaz-e hibás eredményt adó cellát? Tehát anélkül, hogy átbogarásznánk. És ha vannak ilyenek, azokat gyorsan megtalálni?
-Másik kérdés: Ha egy cellának egy másik munkalapon is vannak utód cellái, azokat hogyan lehetne gyorsan megkeresni?
Ismét hozzátok fordulok hátha van ötletetek a problémámra.
Egy FIFO elvet kell megvalósítanom az excelben. Mint ahogy ez eddigi kérdések ez is készletnyílvántartáshoz kötődik. :)
Meg lehet-e valósítani a következőt:
Hétfőn érkezik 100db
Kedden érkezik 200db alapanyag
Elkezdjük a termelést szerdán amikor is legyártunk 150db-ot az alapanyagokból.
És itt szeretném megvalósítani a FIFO elvet. hogy nem -50db legyen készleten hanem előbb csökkentse a hétfőn érkezett 100db-ot és ha ez eléri a nullát akkor átváltson a következőre azaz a 200db-ot csökkentse 150-re.
Sajnos itt pontos cellákat és ilyesmit nem tudok mert ehhez a részhez hozzá se tudok nagyon szagolni szóval ez csak elméleti síkon létezik a fejemben.
Ilyesmit meg lehet valósítani a sima excel függvényekkel?
Hey I have found a work around to do this in Excel. You can do this by changing registry setting for Excel in regedit.
Go to the location HKEY_CURRENT_USERSoftwareMicrosoftOffice12.0ExcelOptions (For Excel 2007) Go to the location HKEY_CURRENT_USERSoftwareMicrosoftOffice14.0ExcelOptions (For Excel 2010) Right click and choose New>DWORD Value Name this value Options6 Right click Options6 value and select Modify in the Edit DWORD Value Dialogue Box. click the decimal option and enter Close the registry and restart Excel. Now you selection color has changed from light blue to Black. You you wanna get back, just delete Option6 registry
Az As Range azt jelenti, hogy a bemenő paraméter (tehát az x) tartomány típusú. Számformátuma ugyanis tartománynak van. Ha nem adod meg a paraméter típusát, akkor nem tudom, minek veszi. Lehet, hogy egésznek, vagy szövegnek, és annak nincs számformátuma, tehát ott biztosan hibára fut. De ha x As Range, akkor a bemenő adat a cella lesz, annak pedig lehet vizsgálni a számformátumát.
Ami a hibás működést eredményezi, így látatlanban nincs több ötletem. Az "#ÉRTÉK!" azt jelenti, hogy valahol a kódban hiba van. A hiba akárhol lehet, és látatlanban nincs esélyem megtalálni. Csak akkor, ha látom a teljes kódot.
A 18072-es levelet neked szántam, de véletlenül új levélként küldtem el. Ott megnézheted a problémámat.
Még egy kis kiegészítés hozzá. A kiir(x) függvény mondjuk az A1-s cellában van (de lehet bárhol is), a kiértékelendő szám, meg szintén bárhol lehet. Úgy tudom a függvényt elindítani, hogy beleállok a cellába, majd =kiir(itt belekattintok a kérdéses cellába amibe a kiértékelendő szám van, vagy beírom pl.F5) és akkor megjelenik a szöveg, de hogy mi, az attól függ hogy milyen a kiértékelendő cella típusa. Az If függvénybe azt nem tudom, hogy kiértékelendő cellának mi a neve. Eddig nekem a következő sor adta a legjobb eredmény, de ez nem az a cella amelyikbe a kiértékelendő szám van, hanem az amelyikben a kiir függvény van.
If ActiveCell.NumberFormat = "#,##0.00 $" Then kiir = "pénznem" Else kiir = "általános"
Elnézést a hosszú levélért, de már napok óta ezzel az egy sorral kínlódom, de nem jutok semmire, pedig már a kalapácsot is ide készítettem.
Elnézést a kései válaszért, de nem voltam gépközelben. Amit írtál az működik, de nekem nem ez kell teljesen. Van egy felhasználói függvényem, amelyik a táblázat bármelyik cellájának kiértékelése után egy szöveges változót ad eredményül.
Példának leírok egy kis részletett
Function kiir(x) As String
szov=””
…..
….
Ide kéne beszúrni egy feltételt ami a kérdéses (x) cella formájától függően írja ki az eredményt
kiir=szov + "általános” ’a CELLA fgv értéke ”G”
kiir=szov + ”pénzügy” ’a CELLA fgv értéke "C0”
End Function
A beépített függvények közül a CELLA() elvégzi ezt a műveletet, de én ezt a saját függvényen belül szeretném megcsinálni.
Köszönöm szépen! HOlnap ki is próbálom mert ma már agyilag zokni vagyok! :)
Többnyire máshol vannak az adatok csak azért írom így mert ha leírod/játok akkor szeretném megérteni. És úgy meg nehezebb hogy az egyik a B12-ben van a másik a G600-ban. Így meg megértem(legalábbis az előzőt sikerült) és át tudom ültetni az enyimbe. Mellesleg még két munkafüzeten alkalmaztam ami nagyon jól jött! :)
Végül is mindegy mennyi termék van mert FKeressel ez is megoldható egyszerűen :)
Ha az eddigi adataid mellé szeretnéd iratni akkor ha jól számolok :) a darabszám az E a súly pedig az F oszlopba fog kerülni.
Ha ez így van akkor valahova fel kell vinned a súlyok értékét, ezt én az N és z O oszlopba tettem, ennek megfelelően a kód: =FKERES(D1;N:O;2;HAMIS)*E1
Ha neked máshol vannak ezek az adatok egyszerűen írd át az oszlop betűjelét, a képlet lefelé húzható, és ha esetleg 12-nél több súly érték is lenne a jövőben csak fel kell vinni egyszer, arra is működni fog a keresés.
Most, hogy sikerült kiíratni a termékeket a napi statisztikához kellene olyat alkotnom, hogy a súlyt is kiszámolom de ezt sajnos nem tudom mert nem ciklikusan termeljük. És ugye a scanner sem tartalmazza, hogy csak bedobnám a listába.
2012.06.18 1termék 20db
2termék 30db
2012.06.19
2termék 40db
1termék 30db
2012.06.20 1termék 50db
3termék 70db
2termék 60db
Súlyok
1 termék 100kg
2termék 200kg
3termék 300kg
Tehát így szeretném kiíratni
2012.06.18 1termék 20db => 2000kg
2termék 30db => 6000kg
2012.06.19
2termék 40db =>8000kg
1termék 30db =>3000kg
2012.06.20 1termék 50db =>5000kg
3termék 70db => 21000kg
2termék 60db =>12000kg
És ez a problémám, hogy én csak soronként tudnám megírni a sima cellák közti szorzást nem pedig cella tartomány függően.
Mármint tegyük fel, hogy van az 1-es számú munkafüzet, amelyiknek egyik cellájában meg van hivatkozva a korábbi, 2-es számú munkafüzet. Amikor megnyitom az 1-est, akkor automatikusan nyissa meg a 2-est is, ugye?
És a 2-esben meg van hivatkozva a 3-mas, ami szintén automatikusan meg fog nyílni, a 3-masban meg van hivatkozva a 4-es, ezért az is megnyílik, és így tovább, amíg el nem éri a legkorábbi állapotot (vagy a hardverkorlátokat).
FKeres függvénynel írasd a 4. oszlopba a termék nevét a cikkszám mellé , ha pl a termék száma és a termék neve az I és J oszlopokban vannak és a scannerből jött adatok az A,B,C oszlopban akkor ez a függvény: =FKERES(C1;I:J;2;HAMIS). (a képlet lefele húzható)
Ha megvan akkor már csak bele kell venned a kimutatásba a termék oszlopot is.
Sajnos azt nem tudom megoldani mert ez a pivot amit készítek egy teljes másik munkafüzeten van ahol egy vonalkód olvasóból csak a cikkszám az időpont és a dátum van. Ezért kellene valahogy összepárosítani ezen a munkafüzeten ahova ezt készíti.
Ez általánosságban teljesen igaz, de ebben az esetben nem volt az !! :)
Amúgy azért írtam le ezt , mert épp ekkor kérdeztem az egyik kollégámat (beosztottam), hogy mikorra tervez elvégezni egy neki kiadott feladatot, erre azt válaszolta felgmán, hogy neki ma előbb el kell mennie ?!?!
hát annyira felb**ott idegileg, kurvára nem ez volt a kérdés, mondhatta volna hogy péntek délelőttre meglesz...
Olyan cégnél dolgozom, már 14+ éve ahol nagyon fontos a gyors és hatékony munka. A te megoldásod gyors volt és hatékony, míg a többi nem. Ezzel nem akarok megbántani senkit, ez egyszerűen tény.
Úgy érzem senkivel nem voltam bunkó, sőt becsülöm azt aki meg tud oldani egy ilyen feladatot. Köszönöm.
Oh köszönöm szépen! Pontosan ilyenre gondoltam! :)
Abban még tudnál(tok) segíteni, hogy most ebbe a PIVOT-ban a cikkszámot írja ki nekem nem a nevet. Hogy lehetne megoldani, hogy ha a B1 mezőben 0123 van akkor az A1 mezőbe írja, hogy termék1 ha B1 mezőben 321 van akkor az A1 mezőbe írja, hogy Termék 2.
Ha függvénybe ányazott ha függvénnyel szerintem meg lehet oldani de kíváncsi vagyok, hogy van-e valami elegánsabb megoldás! :)
"annyira fel tud bosszantani, ha valaki nem a feltett kérdésre válaszol, hanem kerülőutakon próbál eljutni a célig"
Ez nézőpont kérdése. Nem biztos, hogy mindenki azért javasol más módszert, mert az "akinek csak kalapácsa van, az mindent szögnek néz" elv érvényesül. Talán jó oka van rá. Lehet például az, hogy látja a hibáit annak a megoldásnak, amit te szeretnél, és ő jobbat tud. Hidd el, erről az oldalról nézve is roppant idegesítő tud lenni, amikor a kérdező váltig ragaszkodik a hibás elképzeléséhez, és nem hagyja, hogy segítsenek neki. Bármelyikük tévedhet, a kérdező is, meg a válaszoló is. De általában mindkettő meg van győződve a maga igazáról :)
Ezek olyan konfliktushelyzetek, amiket csak megfelelő türelemmel és alázattal lehet helyesen feloldani.
Köszönöm szépen a kimerítő felvilágosítást kedves Jozsef !
Ezt a makrót, most csak valóban copyztam és másoltam, mert mint az elején is írtam NEM ÉRTEK A MAKRÓHOZ ! tehát aki volt olyan rendes és megírta nekem ezt a kódrészletet valószínűleg tudta, hogy ettől nem fogok és nem is lehet elmélyedni a makrók világában, annyira, hogy magamtól megírjam, és valószínűleg csak copy-pastelni fog. Ennek tudatában volt mikor megírta nekem a kódot !
Látom szúrta a szemed (másét is), hogy csak copy pasteltem, de annyira fel tud bosszantani, ha valaki nem a feltett kérdésre válaszol, hanem kerülőutakon próbál eljutni a célig. Ezzel is leginkább szemléltetni akartam a két megoldás közötti különbséget, ami nyilvánvaló. Amúgy sem hiszem el, senki nem copy-pastelt még semmit innen, én is csak azt amit nem tudok megoldani.
Én elhiszem, hogy kurvára értesz a makróhoz, meg szét programozod a jövő hetet is, respect, de tényleg , király vagy stb..!
De hidd el, hogy nem mindenki él a számítógépek világában és gondolja azt, hogy "nem írok makrót, ha valamit meg lehet sima Excel fügvényekkel is oldani" . Rendben van tedd ezt, látom rengeteg időd is van erre mert teljesen oktalanul pörögsz a témán. Kaptam ezt feladatot, és miközben csináltam manuálisan, már a következő ugyanilyen táblázaton járt az eszem, hogy mennyi időt elvesz, de jó lenne egy makró rá. Gondoltam itt vannak segítőkész emberek (és tényleg van itt olyan is) pont egy ilyen megoldásra volt szükségem mint amit Jimmy adott.
Természetesen, abszolút nem zárkozom el Jimmy folyadékháztartásának pótlásától ! :) (E-mail címem publikus, megbeszéljük)
Sőt ha itt lakna a közelemben még órákat is vennék tőle,makró programozásból , ha lehetne. (Jozsef kedvéért: természetesen pénzért !!!!)
A1:I10 tartományban készítettem egy táblázatot, amelyben a boltok nyitvatartása van listázva.
Az első sorba kerülnek, B1-től H1-ig a hét napjai: H, K, Sze, ... V, illetve I1-be az, hogy "Ünnep"
Az A oszlopba kerülnek, A2-től lefelé a boltok neve: 1. bolt, 2. bolt, stb.
Egy másik lista kerül a K:L tartományba. K oszlopba a spéci dátumok, L oszlopba pedig a hozzájuk tartozó cserenap.
Ha pl. K2-ben 2012.06.04 (hétfő) van, és ez a minisztériumi rendelet szerint szombatnak számít, akkor az L2-be 6-os kerül, ami a szombat sorszáma a héten (és az A1:I1 tartományban).
Ha pl. K3-ban 2012.06.05 (kedd) van, és ez valami ünnep, akkor az L3-be 8-os kerül, ami az ünnepnapok sorszáma az A1:I1 tartományban.
Ezek az alapadatok.
Egy adott hónapban adott bolt nyitvatartási idejének kiszámítása:
Legyenek a hónap napjai A14-től lefelé kilistázva:
A14 = 2012.06.01
A15 = 2012.06.02
stb.
Legyenek a boltok nevei B13-tól jobbra kilistázva:
B13 = 1. bolt
C13 = 1. bolt
Ekkor az 1. bolt nyitvatartása 2012.06.01-én (vagyis a B14 cella tartalma) az alábbi képlettel számolható ki:
0. Elég jól tudok VBA-ban (is) programozni, tehát nem azért mondom :)
1. Szinte soha nem írok makrót, ha valamit meg lehet sima Excel fügvényekkel is oldani. (és főleg nem javaslok mások használatára ilyen megoldás :) )
Fő indokok, amik hosszú évek alatt ülepedtek:
Kompatibiltás, Excel verziók két-három évente jönnek-mennek, ugyanaz a VBA-kód akár Visual Basic, akár komponensek, akár biztonsági változások miatt nem marad működőképes
Mellékhatások lekezelése, a példában pl. megváltozik a valamelyik munkalap neve. Ilyen esetben VBA csak akkor működik rendesen, ha programozó erre odafigyelt, pl. a függvény kódjában szerepel az Application.Volatile sor. A hibakezeléstől kezdve elég sok ilyen példát lehet mondani.
Sajnos, a Visual Basic nyelv elég "pongyola", előnye, hogy gyorsan lehet benne programot írni csekély programozási tudással, de a rendesen működő kód előállítása nagy figyelmet igényel
3. VBA programozásnak ott van értelme
Nincs rá beépített Excel módszer, vagy függvény
Automatizálni kell (példádban pl. egyszerre végigmenni az összes fájlodon, megcsinálni rá az összesítő munkalapot, és így visszamenteni)
4. A kész megoldást lemásolni, akár ha VBA kódot, akár munkalapot másolod le, ugyanannyi idő. De rajtad múlik, hogy a különböző megoldásokból mit hasznosítasz a későbbiekben. A topik "törzslakói" nem azért írunk be ilyen-olyan megoldásokat, hogy kötelezően azt kelljen használni, és csak az az egyetlen jó megoldás, hanem a különböző problémákból, megoldásokból lehessen tanulni.
5. Ha azonban csak a Ctrl+C- Ctrl+V esett le, akkor legtisztább az lenne, ha Jimmy-nek küldesz egy sört, vagy más általa kedvelt italt. Amerikai freelancer portálokon ilyen mélységű feladatokért 10-20 dollárt szoktak fizetni.
Egy üzletnek van egy excel táblája amiben az összes árú rögzítve különböző adatival (besz ár, eladási ár, utolsó vásárlás, stb). Ebből a táblázatból szeretnék csinálni egy leltározásra alkalmas táblázatot úgy hogy rögzítek egy makrót ami átvariálja az oszlopokat, kitöröl néhány a leltár szempontából felesleges munkalapot stb, majd mentem mondjuk letrá_datum.xls néven. Viszont ahhoz hogy a leltárt ki tudja számolni hivatkozni kellene az előző leltárkor készített ugyanilyen leltár táblázatára (ami egy külön file -ba lenne).
A kérdésem az, hogy meg lehet e valahogy oldani hogy egy mezőbe beírom az előző leltár file nevét és azt a megfelelő cellákban lévő hivatkozások file részébe behelyetesítené. Pl: =[leltár_elozo.xls]Aru!$B$17 hivatkozásnál magától behelyetesítse a "leltár_elozo.xls" file nevet.
1. Egy új munkafüzetben hozz létre egy Összesítő nevű munkalapot.
2. Hozd be a névkezelőt pl. Ctrl+F3 és add hozza egy új nevet pl. Munkalapnevek, a hatókörhöz az Összesítő munkalapot, a hivatkozáshoz a következő képletet:
A2-t lehúzod annyi sorra lefelé, amennyi munkalapod van, ugyanígy a B3 cellát is.
A 2. sor ami Összesítő munkalapnevet tartalmazza, akár el is rejtheted, ha akarod.
Egy érdekes trükk a VÉL() függvény, a VÉL() minden változásra frissül, így ha átneveznek egy munkalapot, akkor azonnal az új név jelenik meg a cellában.
4. Mentse le a munkafüzetet mondjuk ÖsszesítőAlap.xls névvel.
Használata:
1. Megnyitod ÖsszesítőAlap.xls és az a fájl, ahová összesítést akarsz
2. Az ÖsszesítőAlap.xls jobb egérgomb az Összesítő munkalapfülre Másolás vagy áthelyezés menüpont
A melyik munkafüzetbe kiválasztod a célt, az első munkalap elé legyen beillesztve és Legyen másolat legyen bepipálva
3. Az új helyen az aktulális munkalapnevek jelennek meg a darabszámokkal, esetleg a képletet itt még utána kell húzni fel, vagy lefelé. De ez már csak pár másodperc.:)
A pivot még ezt is tudja :) húzd bele a cikkszám listát az érték területre a kimutatásban.
Ha esetleg nem darabszámot számolna (hanem pl összeget ) akkor gördítsd le a kis nyilat a listád mellett és a mezőbeállításokban válaszd ki a darab függvényt, és máris mutatja a darabszámot :)
Ezer hála! Ez nagyon egyszerű és nagyon jó is! :) Még egy olyan kérdésem lenne, hogy esetleg ezeket meg lehetne számolni a cikkszámokat hogy naponta mennyi készült el belőle mert már most pár ezer sorbol áll amit nem szívesen számolok meg egyessével! :D
Rákerestem az Excel topikba írt hozzászólásaidban az "sql" karaktersorozatra, és csak abban az egyben fordul elő, amire most épp válaszolok. Lehet, hogy leírtad valahol, hogy sql-ben dolgozol, de nem ebben a topikban, és nem ehhez a feladathoz kapcsolódva. Igaz, egy 15 hónappal ezelőtti hozzászólásodban írtad, hogy "adatbáziskezelésben gondolkoztam", de ezt valamiért nem jutott eszembe összekapcsolni a jelenlegi kérdéseddel.
A kérdéseddel pedig az a gondom, hogy pongyolán fogalmazol. Te érted, hogy mit akarsz, és azt gondolod, hogy mindenki érti, pedig nem. Ott van pl. a 17980-as, az indító felvetés. Nincs benne leírva, hogy mit is szeretnél pontosan. Csak annyi, hogy "kezelni a problémát", amit az ünnepnapok okoznak. Azt én kapásból félreértettem, mert azt hittem, hogy pusztán munkanapokat és munkaszüneti napokat kell megkülönböztetni, és erre van egy jól bevált módszerem. Akkor te kijavítottál, hogy nem ez kell, de továbbra sem írtad le, hogy mi.
Most azt gondolom, hogy talán egy adott napra vonatkozó nyitvatartási időt akarod visszakapni, figyelembe véve az esetleges munkanap-áthelyezéseket és ünnepnapokat. Ez mondjuk logikus lenne, sőt, talán ez az egyetlen logikus kimenete az általad csepegtetett információnak, de szerintem célravezetőbb lenne a kérdéseket explicit módon leírni, és nem ránk bízni, hogy rakjuk össze, ahogy tudjuk.
Aztán leírtad, hogy egy lista kell, amelyben ki vannak gyűjtve a problémás napok, és mellettük (gondolom) az aznapra érvényes nyitvatartási rend.
Mi kell ennél több? Ez gyakorlatilag megoldás, már csak implementálni kell. Vagy mi hiányzik még?
Sub izé() Dim ws As Worksheet, newWs As Worksheet, rng As Range Set newWs = ThisWorkbook.Worksheets.Add For Each ws In ThisWorkbook.Worksheets If ws.Name <> newWs.Name Then Set rng = newWs.Range("A" & Rows.Count).End(xlUp).Offset(1) rng = ws.Name rng.Offset(, 1) = Application.WorksheetFunction.CountA(ws.Range("A:A")) - 1 End If Next End Sub
Nem értem miért probléma a 40 lap. Kijelölöd mind a 40-et, és az egyikbe beirod a képletet. És akkor ott lesz mindegyiken. Majd kreálsz egy összesítö képletet és bemásolod valamelyik cellába. És kész.
van egy file amiben van a 40 lap, te azt tennéd, hogy egyesével becopyzgatod a számolást, utána, egyesével belinkelgetnéd a 40 féle nevű lapról a cellahivatkozást ?
vagy lenne egy makród, amit a file ba bemásolsz és kész ?
3 ilyen filet kapok egy héten, KÉRLEK HIDD EL, hogy így sokkal egyszerűbb lenne.
Köszönöm az eddigi hozzászólásaidat. (kérlek ne ird le mégegyszer, hogy egyesével kéne ezt megoldani, köszi) :)
Szerintem nem lassú, és makróval nem is próbálkoznék.
Amúgy most is kénytelen vagy egyesével megnyitni, ha tudni akarod, hány sor van benük, nem? Messze gyorsabb összesítéssel megcsinálni, de ezek szerint valami más is van a háttérben.
Tehát akkor nem oldható meg makróval az alábbi probléma ?!
ezt a módszert én is tudom, de ez nem jó megoldás, mert nagyon lassú ezért szeretném ha valaki válaszolna a kérdésre, hogy meg lehet e oldani makróval ?
Nem igazán értem a problémádat. Igen, megnyitod a 40 lapot egyesével, legalsó sor első oszlopába bemásolod a függvényt, és irsz egy összesítőt, ami minden egyes lap első oszlop utolsó sor eredményét összegzi.
Én leirtam, hogy csak sql-ben dolgoztam, abban lenne megoldásom, de kapcsoló tábla kell hozzá.
Érdekel, hogy excelben van-e erre megoldás.
A másik példánál is azt válaszoltátok, hogy lényegében az excel erre nem jó, belső adatbázisa se jó, külső adatbázisra kell csatlakozni, és abból tudtok elemezni pivot táblával. Hát, ha már megvan a külső adatbázis, akkor abban sokkal egyszerűbb megirni a lekérdezéseket, mint excelhez biztositani az állandó hozzáférést és pivot táblákkal szórakozni.
A következő a szitu: Kapok egy közel 40 Sheet et tartalmazó excel filet, amiben változó mennyiségű adat van.
Az általad említett módszer (ami alapban jó) de lássuk be nagyon macerás egy makróhoz képest. MInden egyes lapra, bemásolgatni a kódot, és még összesítő sincs :)
Szóval továbbra is köszönöm annak aki megoldást talál !
Gyakorlatilag erre találták ki a pivot (kimutatás) táblát.
Persze lehetne mondjuk SZUMHATÖBB függvénnyel számoltatni, de mindig deffiniálni kellene a megszámolandó értékeket, a pivot meg megcsinálja a fejléc nevéből.
Hogyan tudnám megoldani egy egyszerű statisztika készítést.
Van három oszlopom
Dátum Idő Cikkszám
06/18/12 8:32:07 0123456789 Dátum Idő Cikkszám
06/18/12 8:35:07 0123456789 Dátum Idő Cikkszám
06/18/12 8:38:07 9876543210
Olyan függvényre lenne szükségem ami megmondja, hogy 18-án a 012345678 termékből legyártottak 2db-ot a 9876543210-ból pedig egy darabot. Erre létezik előre definiált függvény vagy valahogy nekem kellene egyet írni?
Lehet olyan makrót írni ami tetszőleges számú és nevű lapokon (egy file-on belül) megszámolja, hogy mondjuk minden lapon az A oszlopban hány cellában van valami (szám vagy betű mindegy, csak nem üres cella) beírva. Úgy is mondhatnám, hogy hány sor van az adott lapon :).
A sok lapos (kb 40 db) file adott, mindenféle lapnévvel ebben kellene megszámolni a sorokat, és folyamatosan bővül.
Sajna nem értek a makróhoz, nagyon szépen megköszönöm, ha valaki tud segíteni !!!
Esetelg olyat is lehet, hogy egy üres lapra, egymás alá beírja a sheet nevét és mellé, hogy hány sort tartalmaz az adott lap, és egészből levonni 1 et, mert a fejléc nem játszik :) ?
Az a baj, hogy a táblázatomból más munkalapok is dolgoznak, így eléggé macerás lenne az általad javasolt megoldást választanom L Valamit az elmúlt 5 hónap alatt elég sok adat került bele, amik fontosak.
Azt szeretném megkérdezni, hogy egy makróban lehet e feltételként szabni a kérdéses cella típusát. Olyanra gondolok, ha a cella formátuma – pénznem(Ft) – akkor másképp hajtsa végre az utasítást, mintha mondjuk – általános – lenne.
pl. If A1=”cella típusa” Then ….stb
Ha lehet akkor hogyan kell beírni?
Más, a régebbi VB-ben a változók értékeit meglehetett nézni a Debug ablakban, (pl. ?a), de a mostani VB-ben (6.5) nem találom a sehol sem.
A felhasználói függvénnyel kapcsolatban találgatok egy kicsit.
1. Azt ugyan nem tudom, 2007-ben hogy van ez, de 2003-ban, ha egy függvény egy bővítmény része, akkor az nem a felhasználói függvények között jelenik meg, hanem egéb kategóriákban. Biztos, hogy ennek van köze bővítményekhez?
2. Az ügyben részt vevő összes munkafüzet makróbarátként van elmentve?
3. Próbáltad direktbe beírni a függvényt?
4. Nincs ott a VBA kódban a függvény neve előtt, hogy "Private"?
Excel 2007. Van mikor a nyílbillentyük megsüketülnek, és nem hajlandók mozgatni a kurzort. Csak az egérrel lehet a kivánt cellára ráállni. Nyomogatom az összes elképzelhető gombot, gombkominációt, de semmi hatás. Aztán kilépek a fileból, majd újra behívom, és erre megjavul. Ti is tapasztaltatok effélét? És ha igen, van tippetek az okára?
A mellékelt képen látható táblázathoz szeretnék egy kis segítséget kérni. Van egy terméklistám ( G oszlop ) ami mellé heti ciklusban ( H2 - L2 ) be kell írnom a termék árát. Természetesen az eredeti táblázatban sokkal nagyobb :) Mivel az eredeti táblázatban találhtó lista elég terjedelmes, ezért szeretném az árak bevitelét kicsit leegyszerűsíteni. Arra gondoltam, hogy készítek egy adat bevitelre szolgáló részt. Legördülő listából kiválasztom a termék nevét ( A3 ), másik legördülő listából pedig a hetet, amikor a termék akciós ( B2 ). Ezek kiválasztását követően a 3. cellába ( B3 ) beírom az árat és a gomb segítségével beillesztené a megfelelő cellába az árat. Ezt követően kiválaszthatnám a következő terméket stb... Két függvény segítségével ( Hol.van „B5” és a „B6” ; Cím „B7” ) sikerült meghatározni a pontos cellát, ahová az árnak kerülnie kellene ( B7 ). Viszont itt megállt a tudomány, mert itt megakadtam. Nem tudom, hogyan tudnám a B3-as cella tartalmát ( a példában található B7-es cellában található ) I4-es cellába bemásolni.
Boltok nyitvatartása egy táblázatban, hétfőtől vasárnapig nyitás-zárás. - Szerintem ezen ugrottál át.;)
Dátumból lekérdezem, milyen nap van, és megvan a megoldás. - azaz hé-vas 7 féle nap nyitvatartása megvan
Csakhogy vannak ünnepnapok, amikor zárva van, és vannak munkanap áthelyezések, amikor szombat helyett hétfő van, stb.
Évente max. 20 ilyen eset van. Ezeket hogyan lehet kezelni, ti hogyan oldottatok meg ilyen problémát?
- vagyis kell egy lista, amikor a különleges eseteket kezelem. Ezt kérdeztem, hogyan oldjátok meg.
Én feltétel figyelésre gondoltam, ha az adott dátum benne van a listában, akkor felül kell irni a dátum alapján kapott napot a listában szereplő nappal. A listában viszont már 8 elemnek kell lennie, a 8. az "ünnep miatt zárva" eredményt adja.
Nagyon köszönöm a segítségeket, minden jól működik, és úgy ahogy én szeretném. Lenne egy más jellegű problémám Excel 2007-tel. Van egy régebbi felhasználói függvényem ami a 2003-mal nagyon jól megy. A függvény beszúrásnál megjelenik egy sor "Felhasználói függvények”, és ott van az én függvényem is. A 2007-es változatban a munkalapon sehogy sem tudom megjeleníteni, pedig az Excel beállítása/Bővítmények ablakban látható, és aktívvá van téve, a VB szerkesztőben is bent van, de ha visszamegyek a munkalapra sehogy sem tudom előcsalogatni. A másik kérdésem az, hogy a 2007-ben CTRL+: gyorsbillentyű kombóval az aktuális dátumot lehetne beszúrni, de nálam pont ez nem megy, a többi igen. A helpben is ez a kombó van. A 2003-ban simán megy.
Ezt nem teljesen értem. Odáig tudtalak követni, hogy a logikai változód ellentettjére fordul. Az itt kevés, be kell sorolni, hogy melyik napnak felel meg. A munkanap/szabadnap logika kevés, 7 napról van szó.
1. Ha az általad korábban feltöltött minta táblázatból inulok ki, akkor a makró eredményén az sem változtat semmit, ha 100 sorral lejjebb van ez Excel szerint az utolsó sor, hiszen a tényleges és a vélt utolsó sor között csupa üres cella van, se színük nincs, se adat nincs bennük. A makró futása persze picit tovább tart, de vajon ez nagy problémát jelent?
2. Ha csak az a probléma, hogy az Excel eltéved az utolsó cella meghatározásánál, akkor tudd, hogy egy mentés helyreteszi az agyában ezt a kérdést.
De meg lehet határozni az utolsó sort más módokon is, csak a megfelelő módszer kiválasztásához több infó kell.
1. Van egy olyan lehetőség, hogy egy adott oszlop legalsó cellájától (pl. A65536) felfelé megkeresni az első nem üres cellát, és azt kinevezni utolsó sornak. Lényegében arról van szó, hogy ráállsz az A65356-ra, és nyomsz egy Ctrl+felfele nyíl kombót. Ez a módszer akkor jó, ha a feldolgozandó adatoknál lejjebb nincs már más tartalom a táblázatban.
2. Van egy olyan lehetőség, hogy A3-ról indulva megkeresni az összefüggő cellatartomány alsó végét. Lényegében arról van szó, hogy ráállsz az A3-ra, és nyomsz egy Ctrl+lefele nyíl kombót. Ez a módszer akkor jó, ha legalább A3-A4-ben vannak adatok és az A oszlop adatai közt nincs üres cella.
3. Van egy olyan lehetőség, hogy az A oszlopban megkeresni az első SZUM képletet, és azt kinevezni utolsó sornak.
A táblázatod szerkezete alapján melyik tűnik a legjobbnak? Ezeket a módszereket le lehet programozni, viszont mindegyik mutatvány bukik, ha előfordulhat hogy a B oszlopban több adat van, mint az A oszlopban.
Hogy lehet az Excel 2007-et rávenni, hogy ha egy makrót elérhetővé akarok tenni minden munkafüzetből, akkor ne nyisson meg minden egyes indításkor egy personal.x...akármi ablakot is, amire a kutya se kérte (és ha ezt mégis bezárom, akkor továbbra is használható maradjon a makró)?
Hogy lehet az Excel 2007-et rávenni, hogy a visszavonás csak az adott munkafüzetre vonatkozzék, és ha az aktív munkafüzetben vissza akarom vonni az utolsó módosítást, ahhoz ne kelljen visszavonni három másik megnyitott munkafüzetben azóta végzett huszonkét változtatást?
(És ki volt az a beteg agyú perverz alak, aki ezt így programozta be, és eltiltották-e már örökre a foglalkozásának gyakorlásától?)
Az a gond, hogy amikor elkezdtem csinálni a táblázatot akkor volt amikor beszúrtam sorokat, majd később töröltem belőlük. Minden beszúrásnál az utolsó cellát lejjebb tolta, de törlésnél viszont nem emelte feljebb. Amikor készlett az oldalon a végleges formátum akkor azt szeretném hogy az utolsó sor a bekeretezett táblázat végén legyen, de úgy hogy az adatok feltöltésénél megmaradjon az a lehetőség hogy sor beszúrásakor a utolsó cella helyét lejjebb tolja. Ezért nem jó ha fix értéket írok be.
Ezt most nem egészen értem. Az usor = ws.Range("A3").SpecialCells(xlLastCell).Row - 1 kód mindig az aktuális munkalapon határozza meg az utolsó cella helyét, függetlenül attól, hogy a többi lapon mi van.
Az a gond, hogy nem ígyműködik? Vagy az, hogy így működik, de nem így akarod? Rögzíteni kellene, hogy pl. mindig csak B40-ig nézze?
Köszönöm!!! Most már nagyon jól működik, de lenne még egy kérdésem az utolsó cellával kapcsolatban. A munkafüzet oldalain nem egyformák az utolsó cella helye. Azt nem lehet valamilyen módon megadni, hogy hol legyen ez a hely?
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) DelilaMakrója End Sub
akkor fut le, amikor egy cella értéke megváltozik. Működése ebból áll, hogy meghívja Delila makróját, ami cellaértékeket változtat, és annak következtében a fenti kód újra lefut, és így generál végtelen ciklust. A megoldás az, ha letiltjuk az eseményfigyelést a makró végrehajtásának idejére.
Ezzel és még egy aprósággal kiegészítve a működőképes kód ilyen lesz (ezúttal kipróbáltam, mielőtt beküldtem, és nekem működött):
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) DelilaMakrója Sh End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) DelilaMakrója Sh End Sub
Private Sub DelilaMakrója(ws As Worksheet) Dim CV As Range, usor As Long Application.EnableEvents = False ws.Range("D3:G3") = 0 usor = ws.Range("A3").SpecialCells(xlLastCell).Row - 1 For Each CV In ws.Range("A3:B" & usor) Select Case CV.Interior.ColorIndex Case 6 ws.Range("D3") = ws.Range("D3") + CV.Value Case 14 ws.Range("E3") = ws.Range("E3") + CV.Value Case 3 ws.Range("F3") = ws.Range("F3") + CV.Value Case 23 ws.Range("G3") = ws.Range("G3") + CV.Value End Select Next Application.EnableEvents = True End Sub *******************************************************************
Range("A3").SpecialCells(xlLastCell)
Ez annyit tesz, mintha ráállnál az A3-ra, és nyomnál egy Ctrl+End-et. (Pontosabban akárhová állhatsz, a Ctrl+End mindig ugyanazt a cellát adja ki.)
.Row
Megadja a pont előtt meghivatkozott cella sorának számát. Pl. a K28 cella sorának száma 28.
Sajnos a makró automata lefutását nem tudtam megcsinálni. Nem értem teljesen hogy milyen formátumba kell beírni (amatőr vagyok). A munkalap kódlapjára beírtam úgy ahogy javasoltad, majd visszamentem a táblázatba és egy végtelen ciklusba kezdet állandóan futatta a macrót, csak ESC-vel tudtam leállítani. Most jelenleg billentyűkombinációhoz rendeltem az indítást, de nagyon szeretném ha ez automatikusan menne. Egyébként Delila makrója alapján írtam egy makrót ami igazodik az én táblázatomhoz és jól működik, egy dolog kivételével. Az usor változó gondolom az utolsó sor lehet ami a tömb méretét, és a ciklus számát adja.
Ha ezt a sort elmagyaráznád, hogy mi miért van beírva, megköszönném. Mitől függ az utolsó sor értéke, mivel tudom a tömb méretét behatárolni, de ha kell tudjam bővíteni. A táblázatom kb. 40 sorból áll, de menet közben többször kell beszúrni sorokat, ezért lenne jó az usor változó használata.
Én egy külön listába felveszem azokat a napokat, amelyek módosulnak. Tehát ha pl. kedden ünnepnap van, és a hétfői munkanapot áthelyezik szombatra, akkor felveszem a listába
- a hétfőt, mert az rendesen munkanap lenne, de most szabadnap
- a keddet, mert az rendesen munkanap lenne, de most ünnepnap
- a szombatot, mert az rendesen szabadnap lenne, de most munkanap
Amikor egy adott dátumot megvizsgálok, akkor először is az, hogy naptár szerint munkanap-e van sem (Igaz/Hamis), aztán pedig hogy bent van-e a listában, és ha igen, akkor az Igaz/Hamis az ellentettjére fordul.
"Mit értesz azon, hogy "a munkalap formátuma ne változzon meg"?" - Arra gondolok, hogy az oszlopok adatai ne csússzanak össze az "A" oszlopba + a dátumok formátuma se legyen nn/hh/éééé éééé.hh.nn helyett.
Ha a rögzített kóddal mentem, akkor ezt fogom látni megnyitásnál:
A1 cella = Hétfő,piros,20/06/2012
Tehát minden belesűrűsödik az A oszlopba.
Azért nem értem, mert szerintem ebben az esetben mindent rögzít a VBE, amit csinálok manuálisan. Tehát nem találom a manuális mentés és kód közötti eltérést. :(
True saves files against the language of Microsoft Excel (including control panel settings). False (default) saves files against the language of Visual Basic for Applications (VBA) (which is typically US English unless the VBA project where Workbooks.Open is run from is an old internationalized XL5/95 VBA project).
Ha azt akarod, hogy minden munkalapon ugyanez működjön, akkor a munkafüzet kódlapjára kell tenni a kódot.
Én így csinálnám:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) DelilaMakrója End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) DelilaMakrója End Sub
Private Sub DelilaMakrója() Dim CV As Range, usor As Long Range("D3:G3") = 0 usor = Range("A3").SpecialCells(xlLastCell).Row - 1 For Each CV In Range("A3:B" & usor) Select Case CV.Interior.ColorIndex Case 6 Range("D3") = Range("D3") + CV.Value Case 14 Range("E3") = Range("E3") + CV.Value Case 3 Range("F3") = Range("F3") + CV.Value Case 23 Range("G3") = Range("G3") + CV.Value End Select Next End Sub
A vastaggal kiemelt sorban történt módosítások nem lényegesek, elvileg működne az eredeti formában is, de így jobb.
Cellaszín változása nem generál semmi olyan eseményt, amihez makrót lehetne kötni. Más szóval: Excelben nem lehet megoldani azt, hogy a cellaszín változására automatikusan lefusson egy makró. Lehet kapcsolni például a kijelölés változásához. Ez tehát akkor fut le, amikor az aktív kijelölés megváltozik. Akár egérrel jelölsz ki más cellákat, akár Entert nyomsz, akár valamelyik nyilat, vagy PageUp, PageDown....
A munkalap kódlapjára (Alt+F11, aztán duplaklikk a munkalap nevén a képernyő bal felső részében) ez a kód kell :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Delila_Makrója End Sub
A ColorIndex kiderítése így a legegyszerűbb:
1. beszínezel egy cellát
2. aktívvá teszed ugyanazt a cellát (vagyis "ráállsz")
3. Alt+F11
4. Immediate ablekba beírod az alábbi utasítást (Enterrel kell zárni):
Debug.Print ActiveCell.Interior.ColorIndex
Ha nincs Immediate ablak, akkor Ctrl+G-vel vagy a View menüből előcsalogatható.
Tetszik az a hozzáállás, hogy "Egyébként órákon keresztül tanulmányoztam a makródat mire nagy nehezen megértettem hogy nagyjából mi mire való". Ne aggasszon, hogy amatőr vagy. Olyannak mindig szívesen segítünk, aki beleteszi a maga részét :)
Köszönöm nagyon jól működik. Egy baja van csak, hogy nem csinálja automatikusan amikor az adatok oszlopban megváltoztatok egy szint, mindig lekell futatni a makrót. A másik problémám, hogyha felakarok venni további színeket nem tudom a színekhez tartozó colorindex számokat. A súgóban hosszas keresés után sem találtam meg. ha ebben is tudnál segíteni megköszönném. Egyébként órákon keresztül tanulmányoztam a makródat mire nagy nehezen megértettem hogy nagyjából mi mire való (én eléggé amatőr vagyok).
Valahogy asszem be lehet állítani (vagy importálásnál, vagy mentésnél), hogy a határoló karakter tabulátor vagy pontosvessző legyen, mert igazságszerint asszem az echte verzióban pontosvessző határol. A mi környezeti beállításaink esetén meg tabulátor.
Mit értesz azon, hogy "a munkalap formátuma ne változzon meg"?
Csináltam egy Excel makrót, aminek a végén el kell mentenie egy új munkafüzetet .csv formátumban. Rögzítettem a kódot, mert nem tudtam hogyan kell ilyen formátumban menteni:
ChDir "C:Documents and Settingsuserasztal"
ActiveWorkbook.SaveAs Filename:= _
"C:Documents and SettingsuserasztalTESZT36rendelkezes.csv", _
FileFormat:=xlCSV, CreateBackup:=False
Ez sztem felesleges is bele: CreateBackup:=False
A problémám:
Amikor megnyitom a makró által mentett .csv-t, akkor teljes lesz a káosz. Minden adatom bekerül az "A" oszlopba, egymástól vesszővel elválasztva. A dátumok nn/hh/éééé formátumot kapnak éééé.hh.nn helyett.
Ezeken még nem sokkolódnék annyira, ha a manuális mentés (ahogy rögzítettem) nem őrizné meg a mentés előtti formátumom.
Makróval visszaalakítani sem tudom a tábla felépítését, mert a mentést követően bezárom, hogy egy másik alkalmazás importálhassa. (Ám a káoszos forma miatt nem lehet importálni...
A kérdésem: Milyen kóddal menthetek el egy új munkafüzetet .csv formátumban úgy, hogy a munkalap formátuma ne változzon meg?
Office 2007-et használok, de a kódnak mennie kell Office 2003-as Excellel is.. :(
Szeretnék megoldást találni Excelben az alábbi feladathoz:
pl.:
A B C D
2012.01 ki 21 1
2012.01 ki 12 11
2012.01 be 12 5
2012.02 be 0 22
2012.02 ki 1 20
2012.02 ki 5 12
2012.03 be 22 3
...
a listából dátum-, mozgás (ki/be)-, és C-D oszlop szerint szűrve és szummázva kellenének az adatok.Tehát pl. 2012.01 dátum alatt mennyi volt összesen a "ki" mozgás a C oszlopban (21+12=33). Természetesen a táblázat sokkal több oszlopot és sort tartalmaz.
FKERES függvénnyel nem mentem semmire, mert csak az első találathoz tartozó adatokat hozza így nem tudtam mit szummázni sem. Próbáltam soronként is, de egy hatalmas adathalmaz lett belőle és ekkora adatmennyiségnél ez nem járható út.
Nagyon nagy segítség lenne, ha valaki tudná a megoldást!
ráadásul ha ez megvan valamilyen adatbázis file-ban, akkor a pivottal rá lehet kapcsolódni és ki azon keresztül lehet riportálni excelbe. Úgy rendezed/szűröd ahogy akarod
egyelőre csak elméleti síkon érdekelne, hogy megoldható-e szerintetek az alábbi elképzelésem.
Vettem egy 50e-s cégadatbázist, illetve ahhoz való hozzáférést. Ebből csak az e-mail címekre van szükségem. De nyilván úgy van megoldva, hogy ne lehessen csak úgy egyben kimásolni az egészet, hanem az egyes cégek neveire keresve és kattintva látszanak az adatok. Egy oldalon egyszerre csak egy cég.
Tudom, hogy az excel képes weblapok tartalmát behivatkozni, ilyet már csináltam, és a tartalomból is kitudnám bányászni a címeket, ezért 2 kérdésem marad.
Lehet-e olyan weboldalak tartalmára hivatkozni, vagy lekérni azt, amikre fejlhasználónév/jelszó-val kell belépni?
A másik, hogy makró szinten (mert gondolom arra lenne szükség) megoldható-e olyasmi, hogy ezen az oldalon a makró "megnyomjon egy gombot" - a következőt, majd az így megjelenő új oldal tartalmát kérje le?
Próbáld meg ezzel a makróval, ami az A3 cellától a B utolsó előtti sorig összegez a D3:G3 cellákba (utolsó a szum függvény).
Sub SumColor() Dim CV As Object, usor As Integer Range("D3:G3") = 0
usor = ActiveCell.SpecialCells(xlLastCell).Row - 1 For Each CV In Range("A3:B" & usor) Select Case CV.Interior.ColorIndex Case 6 Range("D3") = Range("D3") + CV.Value Case 14 Range("E3") = Range("E3") + CV.Value Case 3 Range("F3") = Range("F3") + CV.Value Case 23 Range("G3") = Range("G3") + CV.Value End Select Next End Sub
Sajnos az általad írt megoldással próbálkoztam, de nem tudtam megcsinálni, sőt a plusz oszlop sem kivitelezhető megoldás nekem. Feltettem a data.hu-ra egy mintát http://data.hu/get/5218270/Cellak_szine.xlsx, amivel talán érthetőbb hogy mit akarok csinálni.
Nekem ez az érzés kétszeres, mert a 2007-est a munkahelyemen kell használnom, és tegnap este már fél kilenckor elszabadultam onnan, és örülök, hogy most itthon is lehetek pár órát. :-)
Szerintem a legegyszerűbb, ha nyitsz mellette egy másik oszlopot, ahova számokat írsz mellé. Mondjuk az A oszlopban vannak az adataid, a B oszlopba pedig számjegyeket írsz mellé 1-től 5-ig. Eztuán az A oszlopra feltételes formázást állítasz be, és a számok alapján kiszínezi neked, valahol máshol meg összeadod őket a SZUMHA függvénnyel. Ezt csinálni is sokkal gyorsabb, mint a színezést. Utána ha zavar, a B oszlopot átállíthatod nagyon keskenyre és 2 pontos betűméretre, vagy elrejtheted.
Van ennek sajnos egy korlátja, de nem tudom fejből, és most hál'istennek nincs előttem a 2007. A 2003-asban csak 3 feltételes formázást enged, a 2007-es ennél többet, de nem tudom, hányat.
Excel 2007-ben hogyan lehetne megoldani, hogy egy oszlopban egymás alatt vannak külömböző értékek. Úgy szeretném szétválogatni (pl. egy másik cellában összeadni), hogy az oszlopban egyes cellákat külömböző színekkel megjelölök, és az értékek a színhez rendelt cellába kerül.
Kösz. Ez a HELYETTE nagyon hasznos lesz nekem. Idáig nem ismertem.
Lenne még egy kérdésem. Excel 2003-ban ha beálltam egy adattáblába (a tábla kijelölése nélkül), akkor az autószűrő automatikusan felismerte az adattáblát, akárhol is volt a táblázatom. A 2007-esem szűrőjének viszont ki kell jelölnöm az adattáblát, mert anélkül a teljes Munkalapot tekinti adatbázisnak és az első sort a fejlécnek. Nem lehetne valamilyen beállítással a 2003-as szerinti működésre bírni?
"Or, hey, come to think of it, maybe it’s just your expectations that are wrong: Since “ ” is explicitely intended to be _Non-Breaking_, why on Earth would you think it should be handled like an ordinary space by “trim()”? The whole point of a Non-Breaking Space is that it is NOT to be considered a word boundary, but left intact with the letters to either side of it, just like an ordinary letter."
A probléma félig megoldódott. Az 'xxxx' stringek valójában 'xxxx ' stringek voltak. Annyi különbséggel, hogy amit számmá tudott alakítani annál az üres hely szóköz volt 32-es kóddal, amit meg nem tudott konvertálni azé meg 160. Így most már csak azt kérdezném, hogy milyen célt szolgál ez a 160-as?
Excel 2007. Hogyan lehet megnézni, hogy egy cellában vannak-e rejtett karakterek? Ugyanis nem tudok másra gondolni az alábbi jelenség kapcsán: Egy internetes árlistát excelbe másolva a 'Price: xxxx' stringek zöméről az xxxx (ezek számok) leválasztható és számformátumúvá alakítható, de néhányuk megmakacsolja magát, és bár az xxxx leválasztható, de nem lehet számmá konvertálni. A problémás és a problémátlan stringek ugyanolyan hosszúak.
Mivel látatlanban feltehetőleg nem igen lehet megadni a magyarázatot a miértre, néhány problémás és problémátlan cellát tudnék küldeni tanulmányozásra, már amennyiben valaki felajánlaná, hogy hajlandó megnézni őket.
Olyan kérdésem lenne, hogy hogyan tudom megoldani azt az Excelben, hogy egy adott cella háttere egy kép legyen, ne pedig egyszerű színes kitöltés vagy valami mintázat, mitn amit felkínál a cella formázásán belül.
Ilyenkor fkeres helyett a index függvényt szokták használni, a hol.van fgv-t beleágyazva - ami megkeresi azt a sorszámot az index fgv-nek, ahol az első találat lesz.
Köszönöm szépen, így már gyerekjáték lesz. :) Én meg már írtam az oldalnyi széles függvényt hozzá. :D
Még annyit elárulnátok, hogy törlöm ki az üres sorokat egy adott oszlopból? Mármint, hogy az olyan cellák kihagyás nélkül kerüljenek egymás alá, amiknek van valami tartalma?
Másolás, beillesztésen kívül persze, mert van belőle vagy 16e. A cím mindig a sor végén van, tehát a JOBB függvénnyel el tudok indulni, csak utána hogy mondom meg neki, hogy csak annyi karakterig menjen balra, amíg szünetet talál?
Adott egy táblázat egy cellája, benne egy valamilyen értékkel, ami szövegesen van tárolva. Arra keresnék megoldást, hogy valamilyen módon ezt az értéket össze kellene hasonlítani egy sor 6-12 cellájával. (a pontos szám még nem ismert, de gondolom ez mindegy is). Ha van teljes egyezés, akkor egy másik cella értékét állítsa 0-ra, ha nincs, akkor 1-re.
Megoldható ez valahogy, lehetőleg makrók nélkül?
Az már csak hab lenne a tortán, ha a teljes egyezéseket is meg tudná jelölni valahogy.
oldalon van a megoldás: a Skype nemrég letöltött "Click to Call" progija okozta a hibát, amit a frissített verzió letöltésével orvosolhatunk. Letöltöttem, ismét a szokott módon működik a ctrl+c és a ctrl+v. Üdv mindenkinek.
Használd Firefoxot Lazarus kiegészítővel. Segítségével elszállt írásodat eredeti állapotában visszatudod állítani még shut down esetén is. Szenzációs kiegészítő.
Egy kérdésem volna. Hogyan lehet lekérdezni, hogy a default printer létezik-e?
A kérdés alapja: hálózati printer különböző okokból elszáll ezér az a makró ami printelni akar hibár hoz és elekad az egész. A hozzánemértő felhasználó ezzel nem tud mit kezdeni.
Nekem akkor viselkedett így, amikor a munkafüzetemet weblapnak nézte. Az segített, hogy elmentettem a munkafüzetet más néven. Mentéskor a fáljtípust át kellett állítani "Excel munkafüzetre", mert alapértelmezésben html dokumentum volt. Próbáld ki.
Segítséget kérnék az alábbi hibajelenségre (XP-n futó Excel 2003): cellából akarok másolni másik cellába. Ctrl+C-vel kijelölöm a cellát, de nem jelenik meg a cella körül a szokásos vastagított animált mozgó keret. Ha ezután több hasonló pl. egymás alatti cellát kijelölök és ctrl+v-vel be akarom illeszteni a kimásolt cella tartalmát, a "A vágólapon lévő adatok méretükben és alakjukban különböznek a kijelölt területtől. Szeretné mégis beilleszteni az adatokat?" hibaüzenet jön. Ugyanígy, ha Irányított beillesztéssel akarom betenni az adatot, nem a szokásos, hanem az "Unicode szöveg" vagy "Szöveg" opciók jönnek be és nem az Irányított beillesztés opciói (azaz hogy képletet, értéket, formátumot stb.). Korábban "normálisan" működött ugyanezen a gépen ugyanez a táblázat ugyanezzel az excel programmal. Ugyanez a hiba jön elő bármilyen korábban készített vagy új táblázatnál is.
Természetesen próbáltam - köszönöm. De közben rájöttem...
a google találtok alapján jó páran beleszaladtak ebbe a problémába ahogy elnézem...
A lényeg az, hogy nem a weblekérdezés háttérbeállításaiban kell frissíteni (azokat ki kell kapcsolni), hanem a VBA kódban egy
Workbooks("fuzet").RefreshAll
paranccsal.
Így a frissítés lefut és a Workbooks("fuzet").Close csak ez után zárja be... - egyébként bezárja frissítés nélkül, ha a weblekérdezésnél kapcsolom be és nem a RefreshAll-al frissítem...
Köszi. Az érdekes az, hogy pont pár nappal korábban használtam az ofszetet, mégsem jutott eszembe. Gyakorlati szempontból mégsem előrelépés, mert ez meg az első blokk kialakítását nehezíti meg annyival, amennyivel megkönnyíti a többiért (eddig ugye annyi volt, hogy =, és aztán katt a megfelelő cellára a másik munkalapon).
Ezek szerint nem voltam egyedül azzal, hogy a 2. pontban leírt kérdés alapján halvány fogalmam sincs, hogy mit szeretne megoldani a kérdező. Egyébként a google elég sok találatot ad a készletnyilvántartásra, nem biztos, hogy ezt most kell kidolgozni.
Nem tudom, hogy jól értem-e e feladatot, de ha Munka1!G1, Munka1!M1, Munka1!S1 stb celláknak tartalmát mondjuk a Munka2!A1-től kezdve szeretnéd függőlegesen megkapni, a következő képletet lefelé másolod, akkor pont ezt kapod
Szépen elszállt a hozzászólásam, köszönet az ún. szoftver ún. fejlesztőinek. :-(
Szóval már csak rövidítve írom újra. Van egy sorban n*k adatom (nagyon hosszú a sor, mondjuk 60-100 oszlop, áttekinthetetlen és nyomtathatatlan). Az n*k azt jelenti, hogy k adatfajta ismétlődik n*szer azonos típussal és szereppel, de más entitáshoz tartoznak, más az értékük. (Ez egy webes űrlap exporttevékenységének az eredménye, nincs rá befolyásom.)
Ezeket kéne kulturáltan elrendezni egymás alá. Mondjuk az A5:F8 téglalapba egy sablonnal ízlésesen megformázva kiteregettem az első entitás adatait, tehát efféle hivatkozások lesznek benne: =Munka1!G1
Hogyan lehet kulturáltan, ésszerű munkával lemásolni ezt alá n-1 példányban úgy, hogy a képletekben mindig k oszlopeltolás legyen, tehát pl. k=6 esetén a másodiknál =Munka1!G1 helyett =Munka1!M1, a harmadiknál =Munka1!S1 stb.?
A legjobb, amit kitaláltam, hogy S1O1 stílusúra állítom a számozást (hogy az oszlopszámokhoz is könnyebben tudjak k-t adni), és bekapcsolom a kélpletek láthatóságát az értékek helyett. Így könnyebb ugyan elvégezni a korrekciót, de így is kézzel kell átírni (n-1)*k képletet. Van erre értelmes megoldás?
Vagy a másik kérdésem, hogyan tudom megoldani, hogy egy cella értéke nem lehet kisebb mint 0 ?
Hali!
Excelben meg lehet oldani a következő problémámat ami készletnyílvántartással kapcsolatos vagy erre már esetleg kevés?:
Külföldről kapok alapanyagot egy bizonyos árfolyamon. Ennek kiszámolom a Forint értékét. Ahogy csökken az alapanyag mennyisége úgy csökken a pénzbeni értéke is.
Valamikor kapok (pl hó közben) hozzá még alapanyagot más árfolyamon. Ugyan úgy kiszámolom a forint értékét a darabnak.
FIFO elvet követve ahogy legyon a "gyártósorról" a termék először az első árfolyamon kapott alapanyagot szeretném csökkenteni és ha az eléri a 0-t akkor a második árfolyamon kapottat csökkenteném
azt nem is feltételeztem hogy wordben vagy acrobatban vagy egyéb más programban működni fog a dolog, hiszen ez nem is volt elvárás...
de ha megnyitok egy microfos féle excel táblát nekem az ugyan az mintha open office ban vagy libre office ban nyitnám meg...
...persze tudom hogy ua. a file az említett 3 programban teljesen másképp fog kinézni és viselkedni... de azért már bocsásson meg a T. világ... (legyünk már kompatibilisak)
...miért nem lehet már megírni vmit úgy, hogy ha vmi működik akkor működjön már máshol is...
...és itt a jogdíjak nem érdekelnek...
szóval akkor ismételten kérdezem a hozzáértő szakembereket (only Libre Office) mi lehet ebben az ügyben a megoldás...
...és mielőtt jön az "okos" megoldás hogy írjak be egy 0-át az első cellába, majd a ctrl gomb nyomvatartása melélett huzzam le a kívánt celláig...és láss csodát...!
Excelben meg lehet oldani a következő problémámat ami készletnyílvántartással kapcsolatos vagy erre már esetleg kevés?:
Külföldről kapok alapanyagot egy bizonyos árfolyamon. Ennek kiszámolom a Forint értékét. Ahogy csökken az alapanyag mennyisége úgy csökken a pénzbeni értéke is.
Valamikor kapok (pl hó közben) hozzá még alapanyagot más árfolyamon. Ugyan úgy kiszámolom a forint értékét a darabnak.
FIFO elvet követve ahogy legyon a "gyártósorról" a termék először az első árfolyamon kapott alapanyagot szeretném csökkenteni és ha az eléri a 0-t akkor a második árfolyamon kapottat csökkenteném.
Ezt a feladatot Excelben Solverrel meg lehet oldani, az Access erre nem lesz jó.
Azonban, a megoldás csupán kb. 10 százaléka Excel, a 90 százaléka optimum- és mátrixszámítás (Lineáris programozás), először annak olvass utána, különös tekintettel a "Hozzárendelési feladat" nevezetes problémára.
Ha a fejléc az oszlopcím nálad, valamint a minden "oldal" az nyomtatási oldal akar lenni, akkor be lehet állítani ezeket.
1.
Oldalbeállítás - nyomtatási terület kijelölése. Ezt beállítod mind a kettőnek. (az utolsó oldalnak, meg a többinek külön-külön (Nyomtatási terület bővítése v. kijelölése)). Viszont egy munkalaphoz egy ilyet tudsz beállítani.
2. Oldalbeállítás - Lap. Itt beállítod a fennt ismétlődő sorokat - ezek lesznek minden oldal elején.
Nekem egy olyan gondom van, hogy a táblázatom tetején lévő fejléc (2 sor) minden oldalon megjelenjen. Azonban az utolsó oldalon már más jellegű tartalom van ezért ott már nem szeretném, hogy látszódjon a fejléc. Sajnos akárhogy is próbáltam, sehogyan sem sikerült ezt beállítanom.
a munkahelyem lenne egy feladat amit megkellene oldanom excelbe,ehhez kérném a segítségeteket, hogy miként tudnám megcsinálni. Próbálok mindent leírni.
-Jelenleg a munkbeosztás kézi beírással történik. Ezt minden műszakban a vezető írja ki mind a 30-40 főnek. Egy sima excel táblában kézi beírással.
pl.: Kiss József dolgozó délelőttös műszakban a 45AB munkahelyen dolgozzon.
Ezt szeretném automatizálni, mert nagyon sok időt vesz el ezt tervezgetni.
- Nagyon sok munkaállomás van(25-30), és egy dolgozó akár több munkaállomáson is dolgozhat,mert többfajta terméket is tud gyártani, de mivel több műszakban dolgozunk ( de.,du.,éj. illetve van folyamatos is) ezáltal
bonyolultabbá válik a dolog.
- Az adott munkaállomásra mindig van egy aktuális rendelés,hogy mi után mit kell csinálni. pl.: 45 AB munkahely ---> 100db 1234c típus---> 200db 1234d típus--> és így sorba. Az adott munkaállomásokra mindig a következő 24 órára
előre meg van adva a rendelés egy excel táblázatba (meddtől meddig kell gyártani, mennyi darabot, milyen típus) .
- Ami még problémás az az, hogy nem mindegyik dolgozó fix munkaidőbe jön. Valaki csak de., valaki csak du., de. ,van aki de. és éj., vagy de. és du. . Figyelembe kellene venni még azt is, hogy ki az aki táppénzem, és ki az aki szabaságon
van.
- Olyanra gondoltam, hogy lenne egy táblázat ami tartalmaza a rendeléseket, egy táblázat ami tartalmazza a dolgozókat(de,du,éj tud dolgozni, melyik munkahelyen) illetve egy ami összesíti a kettőt , hogy ki hol dogozzon.
Ötletem sajnos nincs, hogy hogy kellene belekezdeni, vagy inkább Access-ba kellene?
Excel statisztikai próbákról lenne kérdésem. Két csoport adatait hasonlítanám össze kétmintás T próbával, de az F próba szerint eltérő a szórásnégyzetük, így Welch (vagy d) próbára lenen szükségem (azt hiszem). Ez megfelel az excelben található T próba 3-as típusának (kétmintás, nem egyenlő variancia (heteroszcedasztikus))? Vagy mit kellene használnom ezesetben?
Persze hogy nálam volt a galiba. Az még hagyján, hogy valóban volt hivatkozás egy másik munkafüzetre, de ez nem szokott akadályt jelenteni, ha jó az útvonal. Esetemben azonban, mint erre épp néhány perce jöttem rá, a másik munkafüzet a hálózatom egy nem bekapcsolt gépén volt....
Ha netántán a gondolatjelnek látszó jelek nullák könyvelési számformátumban, ill. ha elfogadható hogy a nem szorzót tartalmazó cella üres legyen, vagy nullát tartalmazzon, akkor az alábbi egyszerű képletet javaslom: {max(A1:C1*D1)}. A képlet tömbképlet, CTRL+SHIFT+ENTER-rel kell aktiválni.
Sziasztok. Új vagyok itt, és egy olyan kérdésem lenne, hogy most telepítettem az office 2007-et és az excel munkalapokra ha kattintok, csak egy táblázat nélküli üres excelt nyit meg, és csak a fájl megnyitással tudom megnyitni az adott dokumentumot. A társításnál megnéztem, rendben van, próbáltam újratelepíteni, de eddig semmi javulás. Ha valaki tudna megoldást...
Excel 2007. Mostanában ezzel az üzenettel kezd, amikor az egyik filem behívom: Biztonsági figyelmeztetés! A rendszer letiltotta a hivatkozások automatikus frissítését.
Tulajdonképpen semmi probléma ezzel, csak kiváncsi vagyok, hogy miért csinálja, miért nem csinálta eddig, miért nem csinálja többi filenál. Az üzengetős munkafüzet saját gyártmány, semmilyen külső hivatkozást nem tartalmaz, és makrót sem írtam hozzá.
A makró mindkét kérdésedre válasz. Mivel nem adtad meg pontosan, mi hol található a füzetedben, a saját belátásom szerint írtam meg.
A billentyűzetről történő bevitel, amit a makró figyel, az első lap A1-es cellája. Ennek a függvényében változik a B1 cella értéke IGAZ-ra, vagy HAMIS-ra.
A két terület nálam a Munka2!C1:E9 (Első), és Munka2!G2:J15 (Második) tartomány. Az Első-t a B1=IGAZ esetén az indító lap D3 cellájába másolja – a D3 lesz a tartomány bal felső sarka. B1=HAMIS esetén a Második tartomány adatai törlődnek.
A makró utolsó sora az F (hatodik) oszlop bevitelét figyeli. Mikor Enterrel elfogadtatod a bevitelt, a fókusz az azonos sor J oszlopába ugrik.
A makrót a bevitel lapjához kell rendelned. Lapfülön jobb klikk, a VB szerkesztőbe bejutva a jobb oldalon kapott üres lapra másold be.
Private Sub Worksheet_Change(ByVal Target As Range) Dim Első As Range, Második As Range
If Target.Address = "$A$1" Then Set Első = Sheets("Munka2").Range("C1:E9") Set Második = Sheets("Munka2").Range("G2:J15")
If Cells(1, "B") Then Első.Copy Sheets(1).Range("D3") Else Második.ClearContents End If End If
If Target.Column = 6 Then Cells(Target.Row, "J").Select End Sub
Ha Robbantómester tanácsa alapján lapvédelemmel oldod meg a fókusz helyét, az End Sub fölötti sort törölheted.
ha zárolod a cellákat és a zárolt cellák védelmét aktiválod - akkor enter leütésére az egyik cellából a következő NEM ZÁROLT cellába fog ugrani. Vagy makrós ez is....
Az első: lehet-e mondjuk egy HA függvénybe olyan utasítást adni hogy "ha igaz" érték esetén egy komplett névvel ellátott tartományt másoljon be egy másik munkalapból az adott helyre, vagy mondjuk "ha hamis" értéknél töröljön egy színté névvel ellátott tartományt?
A másik kérdés hogy meg lehet-e oldani hogy egy munkalapon adatok beírásánál hogy miután egy cellába bírtam az adatot és lenyomtam az entert, akkor automatikusan egy meghatározott következő cellába ugorjon a cursor? Van erre valami egyszerű megoldás?
Előre is köszi a válaszokat és jó hétvégét mindenkinek!
igen, ez is jó sőt még jobb is, mert az én pédámnál a dátumoknak növekvő sorrendben kell lenniük, ennél viszont ez nem fontos.
ez tulajdonképpen két részből áll: a "*" jobb és bal oldalán
a bal oldal:
MAX((($D$2:$D$7011)=D2)
ezzel kapsz egy olyan tömböt, amibel 0-k (hamis) és 1-ek (igaz) vannak. Ott lesz 1, ahol a dátum a maximum, a többi 0 lesz.
a jobb oldal:
Ezek pedig a tényleges dátumok egy ugyanakkora tömbben, mint fentebb a $D$2:$D$7011.
Tulajdonképpen a nullák és egyesek vannak tömbként összeszorozva - tehát ahol 0 van, ott 0 lesz mert a nullával szorzás 0-t ad vissza a többi (ahol 1 van) pedig vissza adja a dátum maximumot (mert eggyel szorzol - tehát u.azt kapod vissza)
Szia! Köszi szépen, közben rákerestem a neten és találtam egy max-os megoldást:
C D E F G H
fv Customer Number Customer Name City Customer Number Invoice Date
=MAX((($D$2:$D$7011)=D2)*($H$2:$H$7011), aztán ctrl + shift + enter-rel rögzíteni
Így elvileg működik, már csak a logikát lenne jó megérteni, mert egyedül tuti nem tudnék egy ilyet legközelebb megcsinálni... Esetleg ha van időd, akkor el tudnád magyarázni, hogy miért ez a megoldás? az =E2-t sem értem, illetve a * jelet.
azt hiszem jobban jársz, ha a pivottábla hátteréül szolgáló adatokban egy segédoszlopban határozod meg a vevő dátumának maximumát - majd így készíted el a pivottáblát.
Sziasztok! Tudnátok segíteni abban, hogy van egy adatbázisom vevőkről excelben és egy olyan listát szeretnék ebből készíteni, ami minden vevőnél a legutóbbi számlát tartalmazza csak.
Csináltam egy pivot táblát, megpróbáltam a top10...-et az invoice date-nél, de sajnos nem jutottam vele előrébb... :( Hogyan tudnám ezt a feladatot megoldani?
Szia köszönöm a válaszodat, van egy program is a munkafüzet mellé oda kell beírni az eredményt :) Ezen lehet gyakorolni a zh-ra. Annyit megtudnál tenni, hogy átküldöd nekem (vagy feltöltöd valahová) a megoldást, sokat segítene, mert nekem sehogy nem adja azt az eredményt. (Órán egyébként ilyesmirő szó nem volt)
Töltse ki a Kritérium lapon található kritériumtáblát úgy, hogy a feltételeknek az alábbi leírásban szereplő rekordok feleljenek meg, majd a kapott ellenőrző kódot írja a mezőbe!
A nem győri, Levendula utcai kétnapos kölcsönzések.
Nem az volt a probléma. Rögtön kipróbáltam szüz cellákkal, és ott sem tudta hivatkozassal megoldani. Végül megtaláltam a hiba okát. Be volt kapcsolva a másodlagos képletkiértékelés. Amint azt kikapcsoltam, megszűnt a hiba. Így csak az a kérdés, hogy a másodlagos képletkiértékelésnél miért fuccsol be. Elvileg semmi sem indokolja.
Minek kispályázol? Egyből diplomát kellene vásárolnod a kínai piacon.
Komolyra fordítva, ez egy szakmai fórum. Kétlem, hogy itt bárki ócsítani akarná a nicknevét azzal, hogy egy efféle alantas üzetbe partnernek ajánlkozik. Szerintem két héttel ezelőtt kellett volna jelentkezned, hogy korrepetáljunk. Azt többen is szívesen vállaltuk volna.
Helo Mindenki! Lenne egy hatalmas problémám! Holnap Azaz Szerdán reggel 9:50től Zh-t írok Excel témaköréből (gyakorlati zh, annuitásos, kereső függvények, solver), jobban mondva pótzh-t. Most keresek valakit aki ezt a holnapi ZH-t megtudja nekem oldani olyan módon hogy én azt a zh-t elküldöm emailben és ő kitöltve visszaküldi! Kérlek segítsetek!! 2000 forintot tudok érte felkínálni ha átmegyek! Jelentekzni: bugatti1992@citromail.hu-n! Nagyon fontos lenne!!!!! Csak 40%-ot kell jól teljesíteni és meg van a kettes!
A másolás és spec. beillesztásben van transzponálás, de az a képleteket eltolja (mert ugye nincsenek a cellákban $ jellel rögzítve a hivatkozások). Egyesével meg macerás lenne mindenhová beírni a $ jeleket.
Az ehhez hasonló esetekben a $-jel betoldására ill eliminálására én a CSERE funkciót szoktam használni. Egyetlen lényeges feltétele van, hogy a cserélendőt kellően szelektíven lehessen megadni. Ez $-jel eliminálásakor általában nem probléma. Fordított esetben jobban oda kell figyelni.
Excel 2007. A MARADEK függvény hibát jelez, ha cellahivatkozassal adom meg az osztandót. Azt írja ki, hogy nem megfelelő az adattípus. Ha értékként irom be a függvénybe, akkor normálisan kiszámolja. Mi lehet az oka, hogy nem fogadja cellahivatkozással?
Sajnos ez nem viszi át helyesen a képleteket. Az A1:E1 tartományba a +sor()*2 függvényt vittem be, a képlettel az F1:F5 tartomány minden tagja az eredeti 2-t adta vissza. :(
Most tudtam meg, hogy a római számokat arabokká lehet konvertálni a
{=HOL.VAN(A1;RÓMAI(SOR(INDIREKT("1:3999")));0)} képlettel. Hátha valakit érdekel. A tartományt az 1:3999 módosításával lehet növelni, vagy csökkenteni.
Tömbképlet (lehetséges, hogy a fórummotor lenyeli a kapcsos zárójeleket).
a1:e1 tartományt akarod transzponálni a függvénnyel pl f1:f5-be:
jelöld ki az f1:f5 tartományt, nyomj egy F2-t. Írd be, hogy =TRANSZPONÁLÁS(a1:e1) és nyomj egy ctr+shift+enter bill. kombinációt (a tömbképletek kell így bevinni, ez a fgv ugyanis így működik)
VA egy 10 tagól álló sorom. Mindegyikbe képlet van, tehát nem konkrét szám.
Ezt szeretném függőleges oszlopba rendezni.
A másolás és spec. beillesztásben van transzponálás, de az a képleteket eltolja (mert ugye nincsenek a cellákban $ jellel rögzítve a hivatkozások). Egyesével meg macerás lenne mindenhová beírni a $ jeleket.
Na most van egy Transzponálás függvény, amiben tartományt adok meg (pl. egy sort), de az csak egy cellára ad ereményt, nem alakít ki oszlopot. Szóval hogyan lehet
1. A 2010-es verzióban is elérhető az automatikus formázás az alábbi módon: File - Beállítások - Gyorselérési eszköztár - Választható parancsok helye - Menüszalagon nem szereplőparancsok - Automatikus formázás . Innen felveheted az eszköztárba vagy akár a szalagra.
2. A formázás táblázatként is jó. Miután kiválasztottad a megfelelő stílust, a Táblázateszközök fülön az eszközök csoportban, kiválasztod az átalakítás tartománnyá utasítást. Ezzel megtartod a formátumot de megszűnik un. Excel táblázatnak lenni.
Kösz a tippet. A segítségével rájöttem, hogy én voltam hülye, nem az excel. A kereső oszlopcím ugyanis kétszer szerepelt a táblázat fejlécében. Tehát jól szűrt az excel, csak nem abban az oszlopban amelyikben gondoltam, hanem a másik ugyan olyan nevűben.
Már vagy egy órája próbálok, rájönni hogy mi a fene lehet rosszul beállítódva az excelemben (2003), de nem jövök rá. Az írányított helyben szűrés ugyanabban a fileban az egyik lapon nem találja meg a keresett rekordot, rekordokat, egy másikon meg minden további nélkül hozza őket. Ha van valakinek valami ötlete, hogy mit nézzek meg, kérem ossza meg velem. Az olyan triviális hibalehetőségek ellenőrzésén, hogy létezik-e a keresett rekord, van-e rejtett kritérium oszlop, nem látszó szóközök, stb. túl vagyok.
Sziasztok! Eddig Excel 2003-at használtam, nemrég tértem át a 2010-re. Az automatikus formázásnál elakadtam. Kijelölöm a formázni kivánt táblázatot, rákattintok a formázás táblázatként gombra, a felbukkanó ablakban kiválasztom a kívánt stílust, de ahelyett hogy megtörténne a formázás, még felugrik egy új ablak, melyben a táblázat adatainak helyét lehet megadni, valamint, hogy kérek-e rovatfejet. Ezután az oszlopfejek adatszűrő módba váltanak, de én ezt nem szeretném, én csak formázni akarok. Hogy lehetne ezt kikapcsolni? Arra már rájöttem, ha átalakítom normál tartománnyá, akkor eltűnnek a nyilacskák, de ez nem teljesen jó megoldás, mert ha más stílust akarok, akkor megint kezdődik előlről. Láttam olyan táblázatot, amelyben a formázott táblázat nincsen normál tartománnyá alakítva, mégis működik a formázás, és anélkül lehet más stílusra átváltani, hogy az adatok helyét kérő ablak felugrana. Nem tudom ezt hogy oldották meg. Kérdezés előtt mindig keresgélni szoktam, de erről semmit sem találtam (talán csak annyit, hogy Excel 2007-ben elvileg úgy működik, ahogy én is várnám).
A levél küldéshez az ActiveWindow.Close sor után kell ezeket betenni outlook használata esetén:
Set ouApp = CreateObject("Outlook.Application", "localhost") ouApp.Session.Logon Set levelou = ouApp.CreateItem(olMailItem) levelou.To = "címzettek" 'ide kell betenni a címzetteket levelou.Subject = "tárgy" 'levél tárgya levelou.Attachments.Add (nev$) levelou.display Set levelou = Nothing Application.Wait (Now + TimeValue("0:00:03"))
Az utolsó sor elhagyható, de nekem valamiért kellett a helyes működéshez. A címzetteket pedig vagy valamilyen változóba kell beletenned, vagy a táblázatban valahol felsorolni és onnan kiolvasni. A változó vagy a cellák léptetéséhez a már definiált lap% változót kell felhasználnod.
Egy excel feladatot kellene megoldanom, viszont segítségre lenne szükségem, mert eléggé elakadtam. A táblázat:
Termék Minőség Selejt% A 1 5,2% A 2 4,2% A 3 4,3% B 1 1,8% B 2 0,3% B 3 1,1% C 1 0,9% C 2 4,1% C 3 8,2% D 1 7,7% D 2 5,7% D 3 5,2% E 1 5,61% E 2 5,13% E 3 0,57%
Ebből a táblázatból kéne ab.darab függvénnyel kihozni azt, hogy hány olyan termék volt, aminél 1%-nál kevesebb a selejt.
Sziasztok. Excel 2007el dolgozom és elakadtam. Egy fajta futballszurkolói füzeten dolgozom, melyben szeretnék góllóvőlistát kiiratni , természetesen rendezve.
Példa hogy értem:
Debrecen:
Varga József 3 gól
Yannick 2 gól
Szakály 1 gól
Pápa:
Marics 4 gól
Szűcs Lajos 2 gól
szóval így fel van sorolva a 20 csapatom nevekkel, gólszerzőkkel és ezt akarom 1 másik munkafüzeten, névvel, csapattal, gólok számával kiiratni, valahogy így:
4 gól Marics PÁPA
3 gól Varga DEBRECEN
2 Gól Yannick DEBRECEN
Szakály DEBRECEN
és persze ezt úgy hogy az idő előrehaladtával, ha a játékosok újabb gólokat szereznek és átírom a gólok számát, akkor frissüljön folyamatosan.
szóval ha Yannick 2jéhez rúg még 3at akkor ő kerüljön előre majd ha Marics rúg2-t akkor megint ő.
Próbáloztam Fkeres függvénnyel de nem sikerül összehoznom úgy hogy kiirassam a neveket is meg a gólok számát is és még a csapatnevet is.
2. kérdésem pedig az lenne hogy a tabellát hogyan tudom úgy frissíteni hogy a csapataim is mozogjanak fel vagy le a pontszámuk függvényében. Mert az megy hogy a pontok alapján rendezem a csapatokat , de az eredményeik tehát (lejátszott meccsek, győzelem, vereség stb.) ugyan abban az oszlopban marad, csak a csapatnév mozog el az adott irányba. Köszönöm előre is a segítséget.
Nem kell lementened. A makró első lépésben külön lapokra dobja szét az adatokat. A lapok neve az ügyfélszámhoz tartozó név lesz (FKERES).
Második lépésben a lapokat egyenként átteszi 1-1 új fájlba, amiknek az ügyfélkód nevet adom. Ezeket lementi – a makró elején – általad megadott könyvtárba.
Érdemes egy másolatot készíteni a füzetedről, és abban kipróbálhatod.
Robbantómester biztosan segít a levelezésben. :)
A fórummotor a backslash-ekkel táplálkozik, most is lenyelte az utvonal = "E:Eadat" sorban.
Helyesen utvonal = "E\:Eadat\". Remélem, most átviszi.
Annyit csináltam meg, hogy az egyes ügyfélszámokhoz tartozó sorokat külön lapokra átmásolja. A lapok nevét az FKERES függvénnyel kikeresett névvel látja el, és ezeket a lapokat egyenként új füzetbe teszi át, majd lementi az adott könyvtárba az ügyfélkód nevével. A levelezést majd valaki beírja a Mentés nevű részbe. Ehhez meg kell adnod, melyik levelezőt alkalmazod.
Az ügyfélkódokat a V, a hozzájuk tartozó neveket a Z oszlopba tettem – innen veszi az FKERES a neveket –, a másolást soronként az A:K cellára írtam meg.
Sub Ugyfelek() Dim sor As Double, usor As Double, usor_1 As Double, nev$, WS1 As Worksheet Dim utvonal$, lap%
utvonal = "E:Eadat" 'itt írd be a saját útvonaladat ehelyett usor = Cells(Rows.Count, "A").End(xlUp).Row Set WS1 = Sheets("Munka1") 'ide jön a saját indító lapod neve
'Másolás lap%okra For sor = 2 To usor nev$ = Application.WorksheetFunction.VLookup(WS1.Cells(sor, "A"), _ WS1.Range("V:Z"), 2, 0) 'itt a V:Z módosítandó az fkeres függvényhez On Error GoTo Uj_lap usor_1 = Sheets(nev$).Cells(Rows.Count, "A").End(xlUp).Row + 1 If usor_1 = 2 Then Range(WS1.Cells(1, "A"), WS1.Cells(1, "K")).Copy Sheets(nev$).Cells(1) Range(WS1.Cells(sor, "A"), WS1.Cells(sor, "K")).Copy Sheets(nev$).Cells(usor_1, "A") Next
'Mentés, zárás For lap% = 1 To Sheets.Count - 1 nev$ = utvonal & Sheets(1).Cells(2, "A") Sheets(1).Move
uj munkakoromben fantasztikus feladatokat kapok, melyet szeretnek leegyszerusiteni. Adott egy adatbazis, A oszlopaban ugyfelszamok, B ben a rendelt termekek, a tobbi nem erdekes.
pl
A B
001 alma
001 korte
001 malna
002 alma
002 malna
003 korte
004 alma
stb
A feladatom, hogy ugyfelszamonkent kulon fajba mentsem a megrendeleseket es elkuldjem az ugyfelnek. Egymas adatait nyilvan nem lathatjak, igy nem tartalmazhatja oket a file.
Arra gondoltam, hogy ez annyira manualis, hogy macroval kellene megoldani, de sajnos Makroban meg nem tartok ott, hogy irjak is egyet, csak felvenni tudok es azt modositgatni, ha valamit elront.
Szoval valami olyat keresek, hogy gyujtse ki a 001 ertekeket az A ban, es mentse el egy kulon fajlba 001 nev alatt. Aztan keresse ki a 002-ket, mentse le, es igy tovabb. Kb 150 kulon ugyfelszam van, nehany ezer sorral.
A masik kerdesem, hogy ugyanezeket el is kellene kuldenem mailben. Egyazon szoveg nelkuli levelet mas mas melleklettel, mas mas cimekre. Azt szeretnem tudni, hogy lehet-e olyat, hogy egy makro automatikusan megnyit egy levelet, egy listabol megcimezi, es automatikusan minden levelbe beteszi a megfelelo mellekletet? az elkuldest mar vallalnam, ha az gond :-)
Lehetseges ilyen makrokat letrehozni, ill tudtok ebbe segiteni?
Van egy problémám, amire nem sikerül megoldást találnom. Ha tudtok, segítsetek.
Az excel táblázat azt tartalmazza, hogy egy termék aktuálisán mennyibe kerül. Az "A" oszlop celláiban vannak a kezdő dátumok, a "B"-ben pedig a vég dátumok. A "C" tartalmazza azt, hogy a megadott dátumintervallumban mennibe került a termék. Az alábbi kis példából látható, hogy mit kellene megoldani.
Tételezzük fel, hogy az alábbi excel táblám van:
A1: 2012.01.01
A2: 2012.01.18
A3: 2012.01.24
B1: 2012.01.17
B2: 2012.01.23
B3: 2012.02.15
C1: 25000
C2: 30000
C3: 35000
E1: 2012.01.19
F1: képlet, ami az "E1" cella éréke alapján megkeresi a "C" oszlopban azt az értéket, aminek a dátuma "A" és "B" oszlop értéke között van. Az eredménynek ennek a konkrét példában 30000-nek kellene lenni.
Van erre a problémára valamilyen beépített képlet?
Remélem érthető, amit szeretnék. Ha ismered az SQL-t, akkor abban így oldanám meg: SELECT 'C' FROM tablazat WHERE 'E1' BETWEEN 'A' AND 'B';
Hát, a bonyolultság az a dologban, hogy ha az Excel éppen nem aktív (és nem aktív, mert pont az a baj, hogy más program aktív és eltakarja) akkor hiába is programozol rá valamit bármelyik billentyűre Excelben...
A sima mezei Alt+Tab nem felel meg, esetleg? Csak blöffölök.
Esetleg még azt lehet megcsinálni (nem tom lehetséges-e), hogy az Excel sose engedje át semmilyen más programnak a fókuszt.
Én élek a gyanúperrel, hgoy itt valami excel-en kívüli megoldás működhet.
Kiváncsi vagyok mások mit mondanak, mert ezért van itt egy-két feketeöves Event kezelő nindzsa...
Egy egyszerű kérdésem lenne, bár a megoldást rá nem találom.
Arról lenne szó, hogy van egy excel munkafüzetem, melyben elinduláskor egy VBA makró fut, és amely automatikusan elrejti az excel munkafüzetet a VBA formok mögül (application.visible = false programkóddal) , és a windows tálcáról egyaránt.
Ha a programom használata közben másik programot is be kell töltenem, akkor az eltakarja az én programomat, és zavaróan hosszadalmas, amíg minden takaró programot lepálcázok (Kis méretre rakok a tálcára), hogy az én programom újra látható legyen. Szeretném, ha egy billentyű (Pl.: ALT) megnyomására az én programom jönne fel a legfelső programnak.
(Ugye a windows tálcáról nem tudom felnagyítani, mert a makrókód eltűnteti a tálcán lévő excel megjelölést).
A ×60 esetében percben kapod meg. Be kell szorozni még ×24-gyel és még egyszer ×60-nal is (az idő az Excelben [0;1] tartományba eső tizedestört, ahol 0 a 00.00.00, az 1 pedig a 24.00.00).
Sub izé() Dim Src As Range, Dst As Range, c As Range Dim MaxCount As Long, i As Long, j As Long, RandX As Long, RandY As Long Dim VoltMár As String
Set Src = Range("C4:G16") Set Dst = Range("I4") Dst.Resize(13, 5).ClearContents For Each c In Src If Application.WorksheetFunction.CountIf(Src, c.Value) > MaxCount Then MaxCount = Application.WorksheetFunction.CountIf(Src, c.Value) If MaxCount > 13 Then MsgBox "A következő szám:" & c.Value & " többször forfdul elő, mint 13. Így a feladat nem megoldható." Exit Sub End If End If Next VoltMár = "_" For i = MaxCount To 1 Step -1 For Each c In Src If (Application.WorksheetFunction.CountIf(Src, c.Value) = i) And (InStr(VoltMár, "_" & c.Value & "_") = 0) Then For j = 1 To i Do RandY = Int(Rnd() * 13) Loop Until (Application.WorksheetFunction.CountIf(Dst.Offset(RandY).Resize(, 5), c.Value) = 0) _ And (Application.WorksheetFunction.Count(Dst.Offset(RandY).Resize(, 5)) < 5) Do RandX = Int(Rnd() * 5) Loop Until Dst.Offset(RandY, RandX) = "" Dst.Offset(RandY, RandX) = c.Value Next VoltMár = VoltMár & c.Value & "_" End If Next Next End Sub
A dolog lényege az, hogy előfordulási gyakoriság szerint csökkenő sorrendben szórom szét a számokat egy 13x5-ös mezőben. Először tehát mindig annak keresek helyet, aki a legtöbbször fordul elő. Holtverseny esetén az kerül sorra előbb, akivel a C4:G16 tartományban (balról jobbra majd fentről lefelé haladva) hamarabb találkozom. Ennélfogva a számok elhelyezése nem teljesen véletlenszerű (hiszen a fenti szabályszerűség benne van). De a célnak talán megfelel.
A másik dolog, hogy létezhet olyan kiindulási számsor, ahol a fenti algoritmus zsákutcába (végtelen ciklusba) fut. Minél kevesebb az egyedi szám, vagyis minél több az ismétlődés a kezdeti számok között, annál nagyobb a zsákutca esélye. Ilyenkor Ctrl+Break gombokkal lehet leállítani a makrót, aztán meg lehet próbálni újraindítani. Ha többször/mindig végtelen ciklusba kerül, az szívás, és nincs rá megoldásom.
Nem vagyok valami rutinos exceles, csak néha kell használnom, így aztán erről a függvényről nem is tudtam, de aztán a szomszéd srác telefonon felhomályosított. Mindenesetre köszi a segítséget! Próbálkoztam, hátha mázlim lesz, és van itt épp valaki, aki azonnal válaszolni tud. :)
Ha egy hosszú oszlopban minden egyes szám elé be kell írnom azt, hogy D, azt hogyan tudom a leggyorsabban megcsinálni? Tehát pl. az van a cellában, hogy '3423', de nekem az kellene, hogy 'D3423', és így tovább minden szám elé az egész oszlopban. Próbáltam azt, hogy az előtte lévő oszlopba írom a D-t, aztán egyesítem a két cellát, de nem hajlandó összevonni a két oszlop beírt adatait, hanem törli a jobboldalit.
Bevallom töredelmesen, hogy a makrókhoz nagyon nem értek. Az írt javítással működik, el is indul, le is fut, de csak a számok felét használja fel. 13 csoport helyett csak 7db 5ös csoportba osztja a számok. Megpróbáltam a kódból kitalálni, hogy mit kéne átírnom, de sajna nem sikerült megtalálnom.
Szóval, tényleg köszönöm a segítséget. Elkészítettem a makrót, de a Dst.Offset((i - 1) 5, (i - 1) Mod 5) = Val(Selected) sornál nálam sintaktikai hibát ír.
Sub izé() Dim i As Long, Maxi As Long, Randi As Long Dim Numbers As String, Selected As String Dim Rng As Range, c As Range, Dst As Range
Set Rng = Range("C4:G15") Set Dst = Range("K4") For Each c In Rng If InStr(Numbers, c.Value) = 0 Then Numbers = Numbers & "," & c.Value Maxi = Maxi + 1 End If Next
For i = 1 To UBound(Split(Numbers, ",")) Randi = Int(Rnd() * Maxi) + 1 Selected = Split(Numbers, ",")(Randi) Dst.Offset((i - 1) 5, (i - 1) Mod 5) = Val(Selected) Numbers = Replace(Numbers, "," & Selected & ",", ",") Maxi = Maxi - 1 Next End Sub
Az első vastagított sor a forrás tartomány definíciója, a második pedig a céltartomány bal felső sarka.
Nem ellenőriztem alaposan az eredményt, de szerintem jó.
Egy búzatáblában a szálak magassága normális eloszlású valószínűségi változó 70 cm várható értékkel és 5 cm szórással. Mennyi a valószínűsége, hogy egy véletlenszerűen kiválasztott szál magassága 68 és 75 cm között van?
Valószínűséget kiszámoltam, az 0,4968.
Melyik értéknél lesz a standard normális eloszlásfüggvény értéke 0,8? Na ez nem megy. Valaki tud segíteni? Hogy kell, milyen fv-el.
Sajnos ez a funkció nem jó nekem, mert lefelé görgetéskor az A oszlop elemei is gördülnek a többivel együtt... Én azt szeretném, hogy pl. az A1:A25 tartomány mindig ugyazon pozicióban látszódjék lefelé görgetéskor is.
Főnök átküldte a lenti instrukciókkal a táblát. Hogy mihez kell, azt nem kötötte az orromra, de lottóhoz nagyok a számok :).
Feltöltöttem a táblát. Kerestem neten, de azt nem tudtam megoldani, hogy ha meg van az első 5 szám, utána azokat már ne vegye figyeleme, amiket kiválasztott, meg azt sem tudtam 1000%-ra belőni, hogy ne válasszon két azonos értéket egy 5ös csoportba. Egyáltalán ez megy excelben? Vagy programozni kéne valamit?
Sziasztok! Megoldható valahogyan az, hogy az A oszlop minden esetben fix legyen, lefelé görgetéskor a B oszloptól és az ettől jobbra lévő oszopok tartalma változzék csak? Köszönöm a válaszaitokat! :)
2007-es excelt használok és a következőt kéne megoldanom: Van egy táblázatom csak számokkal C4től G16ig ami tartalmaz azonos számokat is. A benne található számokat kéne véletlenszerűen ötös csoportokba rendezni úgy, hogy a kapott ötös csoportokon belül egy szám nem szerepelhet többször, viszont minden elem felhasználásra kerül a táblázatból.
Ha van "Munka1" nevű munkalapod, és azon a R5 cella nincs levédve, akkor csak egy gond lehet: végtelen ciklusba kerül.
Próbáld ki ezt:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Application.EnableEvents = False Worksheets("Munka1").Range("r5") = Now() Application.EnableEvents = True End Sub
Kérdésem az lenne, hogy egy 25000 db-ól (első táblázat) álló termékcsoport 2000 db (második táblázat) terméke árát és darabszámát szeretnénk frissíteni.
Így a 2 táblázat összehangolására lenne szükségünk.
Az első dolgunk a 2000 termék kiszűrése lenne a 25000ből, amit az állandó értékű cikszámok egyezése alapján tudnánk megoldani.
Kérdés:
Hogyan szürjünk a cikszám alapján?
A szűrés után hogyan frissítsük az első táblázat árai és darabszámai alapján a második táblázat darabszámait és árait?
A Ctrl+f-re bejön a kereső ablak. A szó beírása után a "Listába mind" gombot nyomd meg, mire kapsz egy ablakot az összes találati hellyel. Amelyiket ezek közül kiválasztod, oda ugrik a fókusz, bezárhatod a kereső ablakot.
Bár nemtudom létezik-e ilyen makró vagy valami ami megoldást jelentene a problémára; végülis olyan lenne ez mint egy cellába épített kereső amibe csak bele kell kattintani egyszer és beirni a szöveget, a végén ütni egy Entert és kijelöli a találatot.
"Az FKERES függvénnyel egy cellatartomány első oszlopában kereshet, majd eredményül megkaphatja a találatnak megfelelő sorban lévő bármely cella értékét.
keresési_érték: Kötelező megadni. A táblázat vagy tartomány első oszlopában keresendő érték. A keresési_érték érték vagy hivatkozás is lehet.
Tábla: Kötelező megadni. Az adatokat tartalmazó cellatartomány. A tábla argumentum lehet tartomány (például A2:D8) vagy egy tartomány neve. A tábla első oszlopában lévő értékek a keresési_érték argumentum szerint keresett értékek. Ezek az értékek lehetnek szövegek, számok vagy logikai értékek. A függvény a kis- és nagybetűk között nem tesz különbséget.
Oszlop_szám: Kötelező megadni. A tábla azon oszlopának a táblán belüli sorszáma, amelyből az eredményt meg kívánja kapni. Ha az oszlop_szám értéke 1, akkor a tábla első oszlopában lévő értéket kapja eredményül, ha az oszlop_szám értéke 2, akkor a tábla második oszlopában lévő értéket, és így tovább."
A "Tartományban keres" leírása kicsit hosszabb, azt nem másolom be ide.
Nálad az első keresési érték a Munka1 lap A2 cellájában van, mert ide írod az első iktatószámot.
A tábla a Munka2 lap $A:$D oszlopa, de megadhatod úgy is, hogy $A$2:$D$4 – csak akkor a sorok bővülésekor a képletet is át kell írnod. Ennek a táblának a 2. oszlopa tartalmazza a nevet. Eszerint a B2 képlete: =FKERES($A2;Munka2!$A:$D;2;HAMIS). A HAMIS helyett írhatsz nullát, az IGAZ helyett 1-et.
A képletet jobbra másolod a D2 celláig, és csak az oszlop számát kell módosítanod. Mikor ez megvan, a 3 képletet együtt másolhatod a többi sorba.
Látsz itt $ jeleket. Ezeknek az értelmezéséhez nézz utána a fix-, a relatív-, és vegyes hivatkozásnak. Nagyon hasznos dolog ezeknek az ismerete.
fkeres függvény.
vagy ha ugyanaz a sorrend, akkor egyszerűen áthivatkozod a cellákat a másik munkalapról. (= jellel kezdessz és átkattintassz a másik munkalapra, majd "lehúzod")
Szeretnék segítséget kérni. R1 cellába beírt, szám és betű(vegyesen beírt) karaktereket akarom megkerestetni az A, D, G, J, M, P, S, V oszlopok 8. sorától lefele úgy, hogy amikor írom az R1 cellába az értéket és lenyomom az Enter-t odaugrik automatikusan a keresett cellatartalomhoz és kijelöli azt a cellát. Ha nem találja a keresett értéket akkor az R1 cellába beírja hogy "Nincs találat" . Lehet-e olyat csinálni, hogy az R1 cellába, de csak az R1-be ne duplán, hanem csak egyszer kelljen beleklikkelni a keresett tartalom begépeléséhez; ha lehet akkor hogyan? 2007-es Excelt használok. Előre is köszönöm a segítséget!
Sziasztok, segítségre lenne szükségem. Nem tudom milyen képlettel tudnék megoldásttalálni a problémámra. A B2 mezőben szereplő név, ha szerepel az L1 től L30 ig terjedő névsorban, akkor a C2 mezőbe irjon 1est, ha nem szerepel, akkor 0 át. Le tudnátok irni a teljes beirandó részt? Köszönöm:)
Sajnos nem igazán. Engem mindig is az SQL lekerdezések érdekeltek, azt meg - számomra - megfelelő mélységben taglalja az a könyv amit régebben ajánlottam.
A múltkor bennem is felmerült ez a kérdés. Ránéztem a nickjére, és láttam, hogy más topikokban megszólalt. Tehát itt van valahol, csak biztos nincs ideje tömbképleteket gyártani.