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.
Sziasztok, Legyetek szívesek segítsetek. Terem órarendet kellene készítenem, amit aztán kinyomtatunk és a terembe kiragasztunk. A munkalapon megvan a teremszám, kezdési dátum és időpont, tantárgynév, oktató. A dátumból számítottam hét napját. Beleteszem egy kereszttáblába (nem túl elegáns, de majd szétszedem termenként) sorok a kezdés időpontja, az oszlopok a hét napjai. A tárgynév+oktató összefűzését belehúzom az értékhez, ahol mindenképpen számított cellák vannak, így darabszámot jelenít meg. Hogyan tudnám az értéknél a cellák szöveges értékét megjeleníteni? Szóval nekem oda a tárgynév és oktató kellene. Köszönöm szépen!
Nézd meg légy szíves az Adatok - Speciális (leánykori nevén irányított) szűrőhoz tartozó súgót. Ebben lehet vagy kapcsolatot is megadni szűrőfeltételként.
Vannak egy listában nevek s hozzá taj-szám, személyigazolvány-szám és adószám.
Bizonyos embereknek valami hiányzik, van akinek több minden is.
Próbáltam szűrőket rakni az oszlopokra, de ugye ezzel az a baj, hogy akinek nincs taj-száma, de van adószáma és én a hiányzó adószámokra szűrők, akkor nem lesz benne mindenki olyan, akinek bármi más adata is hiányzik.
Ezeket hogy lehetne legegyszerűbben egységben kezelni?
Tehát a változó neveit felsorolom egymás alatt egy-egy cellában, és az éppen aktuális változó értékét szeretném igazra állítani (azaz a cella tartalma és a változó nevei megegyeznek). A tömb sajnos nem jó, mert később ezt logikai egyenletekben szeretném felhasználni és a változó neve sokkal-sokkal beszédesebb, mint a tömb egy-egy elemére hivatkozás.
Egy egészen alapvetőnek látszó feladatot nem tudk megoldani. Munkalapokat másolok át egy kész munkafüzetből. Az egyik munkalapon háromszázvalahanyadik sor látszik. Ugyanakkor a lekérdezésekkel kiderül, hogy valójában az A1 az aktív. Viszont ez nem látszik
A későbbi panel rögzítéshez szükségem lenne, hogy az első sort lássam, mert az N3 cellán állva szeretném a rögzítést.
Kiválasztani, írni bele, olvasni, minden további nélkül tudnék, de képtelen vagyok elérni, hogy ráálljon a vezérlés.
A ws.Range("A1").Select parancs ellen nem tiltakozik, csak éppen nem áll rá.
Kézzel persze meg tudom oldani, de programból kellene. Már órák óta keresgélek, de nem találok megoldást.
Mi lehet az oka annak, hogy a VBA program alábbi utasítása néha nem törli a teljes tartományt?
MthSheet.Rows("1:13").Delete
Fizikailag ugyanarra a munkalapra ráeresztve kb 5-ből egyszer nem 13, csak 12 sort töröl, és hogy cifrázzam a dolgot, a "bennfelejtett" sor mindig a hajdani tizedik.
Az alábbi verzió pontosan ugyanígy önállóskodik:
MthSheet.Rows("1:13").Select
Selection.Delete
A 10-es sorban természetesen nem találok semmi extrát (az a sor amúgy üres is eredetileg, csak a teszteléshez felöltöttem mind a 13 sor első celláját, hogy lássam, melyik ragad bent) - arról nem beszélve, hogy "többnyire" azzal a sorral is megbirkózik.
Egész megdöbbentő és érthetetlen jelenséget tapasztaltam programírás közben:
Oszlopszámokból képzek oszlopneveket a következő függvény segítésével (az elvet Jimmytől kaptam évekkel ezelőtt):
Function oszlopnev(oszlszam As Long) As String Dim cellastring As String cellastring = Cells(1, oszlszam).Address(rowabsolute:=True, columnabsolute:=False) oszlopnev = Left(cellastring, InStr(cellastring, "$") - 1) End Function
Évek óta használom, tökéletesen működik. Igazából most is, csak meglepetésemre az eredményt a VBA képernyőn nem jól jeleníti meg.
A cél a 41 és 41, valamint a 36 és 37 oszlopszámok összegét per jellel elválasztva betenni az immediate ablakban látható képletbe egy későbbi számítás alapjául.
Meglepetésemre a "szoveg" változó fölé állva csak a képlet első fele jelenik meg, az immediate ablakban látszik a teljes képlet. Mielőtt az utóbbit lekérdeztem, hosszasan keresgéltem az okát, hogy hol hibáztam el az összefűzést, mire kiderült, hogy a képlet a szándékom szerint sikerült, csak nem látszik.
Érdekes módon az értékadás után a munkalap megfelelő cellájában szintén hibásan jelenik meg a képlet. Később a munkalapon már a jó adat látszik.
Ehhez hasonló összefűzögetést elég sokat csinálok ugyanebben a programban, és mind rendben van, ennek az egynek a kivételével.
Még annyit, hogy karakterenként megnéztem, nincs-e benne valami rejtett karakter, de semmi.
Segítségeteket szeretném kérni, az alábbi excel problémával kapcsolatban. Van egy néhány soros adatbázis, és abból készítenék egy rendszerezett táblázatot, mely hasonlóan néz ki mint egy kimutatás. Nagyon jó is lenne, addig amíg nincsenek azonos rekordok, mert azokat összevonja. Persze a kimutatásnak az a feladata, gondoltam ki lehet valahogy kapcsolni ezt az értékmezők számolásait, de nem sikerült. Tud valaki segíteni ez ügyben, vagy más megoldás is jó lenne, ami hasonlóan néz ki…
Ha létrehozok egy új számformátumot, pl. "db" azt hogyan tudom elmenteni akár hozzárendelni egy kis parancsikont, hogy ne kelljen a későbbiekben újra előállítani?
Nekem az összes táblázatom úgy működik, hogy be van képletezve, és ha sort szúrok be, bizonyos cellákba automatikusan bekerül a képlet, bármiféle makró nélkül. Azt gondolom, hogy azért, mert táblázatként van definiálva.
Egyébként most is azt csinálom, hogy amikor beszúrom a sorokat felhúzom a képleteket, hogy átírja a régi rosszat az új jóra, és épp ennek szükségességét akarom elkerülni.