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.
Valahol 2003 és 2010 között az OFSZET függvényt átnevezték ELTOLÁS-ra. 2003-ban biztosan OFSZET kell az ELTOLÁS helyett, 2007-ben nem tudom, ki kell próbálni.
Sziasztok! Pár hete láttam itt valahol egy linket, ami Kovalcsik Géza makró könyvére mutat, meg tudja valaki adni a pontos hsz. számot? Vagy ha újra belinkelné az illető ide, nagyon jó lenne. Köszi.
Más. Hogyan tudom megcsinálni azt, hogy amikor el akarok nevezni egy tartományt Név definiálással, tehát nem létrehozással, akkor az Excel dinamikusan érzékelje, hogy hol kezdődik és hol végződik az a tartomány?
A struktúra a következő: van 6 oszlop, ahol különböző termékfajták vannak. Az egy csoportba tartozókat, melyeknek azonos a neve, ezeket szeretném definiáltatni a makróval.
Az első oszlop tartalmazza a neveket, összesen 5 fajta termékét.
Ebből az 5 termékből csak 2 terméket, a Sakkot és a Labdát kell definiálni, a többi nem érdekes.
Ahogy Excelben csinálom: átmásoltam egy külső adatbázisból a sheet tartalmát, tehát megvannak az aktuális adataim.
Utána sorba rendezem a terméknév szerint a táblázatot, majd megnézem, hogy kezdődik a Sakk nevű termékek sora, és ott kijelölöm a kezdő cellától az utolsó őt tartalmazó celláig a tartományt, belevéve a mellette lévő másik 5 oszlopot, benne a költségadatokkal, és ugyanezt megcsinálom a másik termékre is, melynek neve Labda.
A Sakk és a Labda tartományelnevezéseket aztán használja egy másik munkalap a vlookup-hoz, mert onnan veszi át a vonatkozó költségadatokat.
Ami a makró részét illeti, logikailag úgy gondolnám, hogy sorba kell először rendezi a táblázatot terméknév szerint, majd csinálni egy utasítást, hogy a makró keresse meg a B oszlopban azt a sort, mely először tartalmazza a Sakk nevet, ezt jelölje ki, majd menjen le addig, amíg eltérő nevet nem talál ugyanabban az oszlopban, majd kijelölve a köztes területet és a mellette lévő további öt sort definiálja Sakk néven a tartományt.
Majd ugyanezt csinálja meg a Labdával is, Labda névre elnevezve.
Éppen csak a hogyant nem tudom erre az utasításra. Ezt rögzítéssel nem lehet megcsinálni, csak if then-nel vagy Case ciklussal gondolom, de a szintaktikát nem tudom.
A múltkori segítséget még egyszer köszi mindenkinek - Fferi, Jimmy, Tbando , a makró remekül működik azóta is :-)
Excelben egy cellában van egy email cím a @ karakterrel. Automatikusan hivatkozást csinál belőle. De én nem szeretnék hivatkozást. Jobb egérgomb helyi menüben kiválasztom a hivatkozás eltávolítását, ezután oké lesz. De ha a cellában (F2) Alt+Enter nyomva egy új bekezdést csinálva hozzáírok valamt, akkor megint hivatkozás lesz azzal együtt, amit hozzáírtam. Megint hivatkozás eltávolítását választom. De ekkor az új bekezdés eltűnik, közvetlenül az email cím után kerül aminek külön sorban kéne lennie. És ez az ami nem jó, mert nekem új bekezdésben (vagyis az email cím alatti új sorba) kéne írnom.
Az If Not IsDate(cl.Value) Then sort nem szabad kikommentelni, mert akkor a már dátumként kezelt értékekkel gond lesz (ha pl. nem szövegként, hanem kapásból dátumként jeleníti meg a cellában, akkor nem lesz benne "-"!
Ezt kezeli az else ág, amely beállítja a magyar dátum formátumot és be is írja mégegyszer az értéket, mert így érvényesül csak.
A hónapnevek, meg a tartomány az példaként kezelendő természetesen.
Rosszul írtam :((((. Az óra oszlopra még rá kell ereszteni a Gyakoriság fgv.-t vagy Darabtelivel meghatározni a gyakoriságokat. A diagramot a gyakoriság táblázat adatai adják.
Csinálsz még egy oszlopot, amelyben a belépési időpontokról levágod a perceket. Gondolom az =óra() fgv. erre igen alkalmas. Aztán a diagramot ezzel az oszloppal csinálod.
Annyit fűznék hozzá, hogy a tömbben megadott hónap nevek nem tekintendők szentírásnak. Mi csak feltételeztük, hogy a csv fileból ezeket hónapnevek jönnek. Ha nem, akkor az eltérőket át kell írni. Mert enélkül kiakad a makró. (Amire ugyan lehetne írni hibakezelőt, de házi használatra felesleges, leálláskor egyszerűen csak ellenőríni kell a hónapnév-egyezéseket és javítani, amit kell).
És még egy megjegyzés: A jelenlegi hónapnevekkel a januári, a februári, az augusztusi, a novemberi, és a decemberi dátumokat változatlanul fogja hagyni, mert azokat az excel felismeri dátumként, és ezért azokkal nem foglalkozik. Emiatt a dátumoszlopban keverten lesznek angol és magyar formátumú dátumok, amik a velük való számolást nem befolyásolják, hiszen az excel mindkét formát beazonosítja. A usert azonban zavarhatja. Ez esetben azIf Not IsDate(cl.Value) Then sort és a hozzátartozó End if-et kell kikommentelni.
Ez igaz, de én nem akarom ezt a munkalapon látni egy percre sem (hiszen később nem lesz rá szükség már). A munkalapra meg csak fel kellene vinni valahogy (vagy új egyéni listát csinálni rá).
Segítségeteket kérem olyam diagram osszeállításában ami úgy nézne ki, hogy: Vízszintes tengelyen 7-15 óráig az időskála van, a függőlegesen pedig darabszám.
Ábrázolni szeretném egy felhasználó szoftverhasználati szokását. Megvannak a belépési idők és oszlopdiagramban szeretném a gyakoriságot ábrázolni, hogy
pl: 7-8 óra között 4 szer, 8-9 óra között 6-szor, 9-10 óra között 1-szer stb...lépett be a szoftverbe.
Ja és még valami. A probléma újabb áttekintése arra is jó volt, hogy fény derült a korábbi hsz-emben hosszasan ecsetelt a pont-kötöjel probléma hátterére. Mondanom sem kell, egy banálális bénázásom okozta :)))))))
Ezek szerint nálad jól működik a makró. Mert nálam a Numberformat kiiktatásával sem. Ezek szerint az én excelem (2007) valamit rosszul csinál. Megnéznéd, hogy a te gépeden, hogy működik? Elküldeném, ha megadnád a mailcímed. Meg megköszönném, ha elküldenéd a te füzetedet, hátha az én gépemen is jó lesz. De feltehetjük a füzeteket a data.hu-ra is.
Más. A nap% nem minden esetben barmolja el a hónap meghatározást. Csak ha a napdátum 10 alatti. Ugyanis akkor az integer változóba egyjegyű szám kerül, és így a honap = Replace(cell.Value, nap & "-", "") utasítás a cell-ben bennehagyja a 01-ből a 0-t, amit így hozzátesz hónaphoz, amit aztán nem ismer fel.