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.
Ja és a helyes adat, amit ki akarsz nyerni, se nem 51800Ft (ez így helytelen), se nem 51800 Ft, ami csak ránézésre helyes, hanem 51800 (szám), pénznemként megformázva. Mert ha kinyerted az általad leírt 51800Ft adatot, azzal megint nem tudsz semmit kezdeni a nyomtatáson kívül (pl. áfát számolni, összeadni...). Ha azt csinálod, amit írtam, akkor a Ft stringek külön oszlopba kerülnek és egyszerűen törölheted őket, a pénzt tartalmazó oszlopok pedig számformátumúak lesznek.
Delila nagyon fürgén ír makrókat kora reggel, de én egy másik, excelesebb megoldást javaslok. Ha vannak más sozlopokban is adatok, azokat húzd odébb vagy 10 oszloppal, hogy legyen helyed, utána az A oszlop kijelölésével válaszd az adatok menüben a szövegből oszlopok parancsot, tagolt, elválasztó karakter szóköz, egymást közvetlenül követő elválasztók egynek számítanak beállításokkal, és hamarosan egy valódi Excel-táblázat birtokosa leszel, amiben végezhetsz műveleteket is. Ez ugyanis egy ömlesztett szövegfile az A oszlopban, amivel az összes többi felmerülő feladatot is csak szörnyen nyakatekert módon fogod tudni megoldani.
A cellád több helyen is tartalmaz számot, azért nem jött össze.
Írtam rá egy függvényt.
Function Ft(Cella As Range) Dim betu As Integer, nev$, ujnev$ nev$ = Cella.Value For betu = Len(nev$) - 3 To 1 Step -1 If IsNumeric(Mid(nev$, betu, 1)) Then ujnev$ = Mid(nev$, betu, 1) & ujnev$ Else Ft = ujnev$ & " Ft" Exit For End If Next End Function
A B1 cellába ezt írd: =Ft(A1), ezt másolhatod az alatta lévő cellákba.
SK adatbázikus munkáról beszélt, a "bázikus" jelző pedig a lúgossal szinonim, a savasnak az ellentéte. Az adatbázikus munka közömbösíti a savas kávét.
A fűnyíróember egy másik fonál, nincs köze a sav-bázis egyensúlyhoz. Ez egy film volt valamikor a 90-es években, asszem Stephen King könyve alapján. A címszereplő **** spoiler **** annyira virtualizálódott a végére, hogy kilépett a testéből, be a számítógépes hálózatba, és ott élt tovább. Ha jól emlékszem.
Szarvashibát követtem el. Többeket (ScreenUpdating, DisplayAlerts) kikapcsoltam, és azzal voltam, hogy ezek között volt az EnableEvents is. Most vettem észre a hiányát, hogy rám olvastad.
K ö s z ö n ö m!
Off: Mikor alszol? Éjjel, és hajnalban is itt vagy. On:
Lehet, hogy a Selection.PasteSpecial Paste:=xlPasteValues helyett van olyan módszere az értékbeillesztésnek, amit nem ismerek, és nem kell a másolat helyére állni előtte?
Arról a bizonyos 11. lapról készítek másolatokat egy ciklusban, ahol szükségszerűen a másolt lap lesz aktív, akkor pedig az első lap hivatalból elé ugrik. Most a másolatok készítese után beírtam, hogy szaladjon vissza az első a helyére.
Eddig irányított beillesztéssel, értékeket illesztettem be az elsőről a 11-n. lapokra, annál rá kellett állni az n-re. Sima másolásnál nem szükséges az n. lapra állás. Ezt végül másképpen, hivatkozásokkal oldottam meg.
A teljes kód külsős rendszeren nem tesztelhető, mert a kód nagy része adatokat importál a vállalatirányítási rendszerünkből. Ha kíváncsiságból mégis szeretnél ránézni, akkor megállítom az aktuális eljárásnak megfelelő formánál és elküldöm a kód más rendszerből is használható részét. (Előtte azért letesztelem, hogy pusztán a kivágott kóddal is megakad-e, vagy csak a teljessel együtt. (Sanszos, mert bizti az aktuális kódban van valami, amitől bugzik.)
De igazából csak jó lenne az a teljes kód, mert így nem nagyon lehet reprodukálni a problémát. Van a topikleírásban egy link, hogy hová lehet pakolni a hosszú kódokat.