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.
Az okot illetően csak találgatni tudok. Ez az elméletem: A program a műveleteket mindig egy láthatatlan, háttérben tárolt értéken végzi el, és csak ez után adja át a felületnek, hogy az formázza kedvére. De a program angolul gondolkodik. Angolul a vessző (",") karakter az ezres helyiértékek elválasztására szolgál. Az eredeti adatod szöveg formátumú, de amikor a pontot programból kicseréled vesszőre, akkor számmá konvertálódik, amelyben a vessző egy ezerszeres szorzást jelent. Ezután a felület megkapja az immár 1000-szer akkora számot, és megformázza magyar területi beállítások szerint.
Szerintem az Excel magyarítása során cseszhettek el valamit. Mindenesetre a problémának nevetségesen egyszerű a megoldása, csak hát épeszű ember nem nagyon gondolna rá. És mégis működik.
Sub Formatum() Columns("F:K").Select 'itt vannak az értékek With Selection .ColumnWidth = 10 .HorizontalAlignment = xlCenter .NumberFormat = "0.00" .Replace What:=".", Replacement:=".", _ LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False End With End Sub
Segítséget szeretnék kérni! Mikor szövegfile-ból beszúrt lebegőpontos számnál a tizedespontot "."-ról ","-re cseréltetem makróval, akkor az eredmények 1000-szerese jelenik meg. A Szerkesztés/Csere... művelettel jól megy, de ezzel nem:
Eredetileg így gondoltam én is, de direkt nem kapcsoltam ki a figyelmeztetést a biztonság miatt, mert a programnak csak a második igenre kell törölnie az adott munkalapot. Ezért kerestem ennek a lekezelhetőségét....
Z = MsgBox("Szeretné törölni a Sheet1 munkalapot?", vbYesNo)
' Yes = 6 no = 7 If Z = 6 Then Application.DisplayAlerts = False Worksheets("Sheet1").Delete Application.DisplayAlerts = True Else ' ha a nemet választotta...
Az lenne a kérdésem, hogy van-e olyan lehetőség az Excelben, hogy kialakítok egy űrlapszerű táblázatot és rögzítem a formátumot. Azt szeretném hogy ne engedje pl az oszlopok sorok átméretezését, egyedül a mezők kitöltését és a mentést engedje.
Eccer volt Wordben egy oly olyan filem, ami ha hozzáírtam egy karaktert elszállt. Azták kisakkoztam, egy láthatatlan karakter okozta a zürt. Miután azt kitörültem, megszünt a hiba. Mivel az excelbe gyakran copyzok táblákat a netről, azt hittem, most is valami ilyesmi lehet. De úgy tűnik nem.
Sziasztok!
Szeretném megkérdezni, hogy makró futása közben hogyan lehet az alábbi beépített választás eredményét lekérdezni, vagyis pl. azt, hogy a mégsem gombot választotta.
Vannak olyan Excel munkafüzeteim, amelyekben több munkalapon is kimutatások vannak (régen ezeket Pivot tábláknak hívták). Ha ráállok az egyikre, és frissítem az adatokat, akkor az összes többi mukalap kimutatása is frissül. Hol/hogy lehet ezt beállítani? Én is szeretnék ilyen munkafüzeteket csinálni, mert praktikus.
1. Nézz utána, nincs-e vírusod. Én ezt úgy tenném, hogy egy vélhetően vírusmentes gépbe átteszem a vinyót, mert van olyan vírus, ami, ha aktív, kijátssza a víruskergetőt. Az én gépemen lévő vírus nem aktiválódik, ha a másik gép operációs rendszerét indítom, tehát esélyesebb a megtalálása.
2. Próbálkozz az Excel újratelepítésével.
3. Csak az Excel hülyéskedik, vagy más programokkal is vannak gondok? Lefagyások, kékhalál, ilyesmi? Ha általános érvényű a jelenség, akkor lehet hardver-, pl. memória- vagy tápegységproblémára gyanakodni. Esetleg merevlemez is lehet.
Az E15-ben tegyél $ jelet a 15 elé: E$15 A $ jel rögzíti az oszlop- illetve sorindexeket. Pl. $E$15-ben az E oszlop is fix, tehát jobbra-balra húzgálva a képletet sem változik.
Az Excel 2000-m mostanában elkezdett produkálni néhány bosszantó jelenséget. Komolyabb probléma még nem származott belőlük, de valahogy balsejtelmeim vannak, hogy ezek valami keményebb probléma előszelei lehetnek. Abban bizom, hogy tudtok valami magyarázattal és/vagy tanáccsal szolgálni.
1. Kb. 2 hónap óta, amikor kilépek az Excelből, rendesen lement, majd megjelenik az obligát hibaüzenet: "A Windows hibát észlelt, elnézést kérnek az adatvesztésért, küldjem el a hibát stb," majd jön a semmitmondó hibamagyarázat, hogy frissitsek. Frissitenék de nem talál semmi frissiteni valót. Csinálja mindezt a hibátlan lementések után. Ja és még valami. Nem minden táblázatnál, de egyre gyakrabban.
2. Néhány nap óta ha megnyitom a Beszúrás-Megjegyzést, akkor utána nem akar becsukódni. Ki kell törölni a cellát. Tehát pratikusan megszünt a cellamegjegyzés lehetősége. Ami elég bosszantó az esetemben.
3. Ma meg azt kezdte el játszani, hogy az üres területek oszlopszélességét átállítja. A duplájára. Aztán ha visszaállítom akkor utána normális marad. Legalábbis egyelőre.
Koszonom a segitseget, a telepuleslista helyes 2. vh-s járásokat tartalmazza, telivan olyan telepulessel ami azota nevet valtoztatott / megszunt. De rajottem, hogy a fobb varosokat veletlen egy ovatlan pillanatban landoltattam a kukaban, most keszitem az ujat. Koszonom meg egyszer, ha ha sikerul ha nem jelzem :)
Megnéztem. Pár dolgot kipróbáltam magyarországi településekre. Íme egy javaslat, ami teljesen nem oldja meg a problémát, de 90-95% automatizálni tudsz. 0. Irányított szűrővel gyűjtsd ki a különböző országokat külön munkalapra. Az üres cellák se kerüljenek bele. A továbbiak csak magyar településről beszélünk. 1. A helyes településnevek listája közel sem teljes pl. hiányoznak belőle a nagyobb városok, Budapest, Szolnok, Miskolc stb. Ezért az javaslom, hogy a www.posta.hu-ról töltsd le Excel formátumba az település-irányítószám listát és csinálj belőle egy tényleg helyes településlistát (Budapest, Miskolc stb elég ha csak egy szerepel). Legyen ez mondjuk a Helyes munkalap B oszlopában 2. A Helyes munkalap A oszlopában állítsd elő a településnév ékezetelen változatát a következő VBA függvénnyel: Function EkezetTorol(szoveg As String) As String Dim ekezetes, ekezetnelkul, seged As String Dim i As Integer seged = UCase(szoveg) ekezetes = "ÁÉÍÓÖŐÚÜŰ" ekezetnelkul = "AEIOOOUUU" For i = 1 To Len(ekezetes) seged = Replace(seged, Mid(ekezetes, i, 1), Mid(ekezetnelkul, i, 1)) Next i EkezetTorol = seged End Function
(egyébként ez még nagybetűssé is teszi) Tehát a Helyes munkalap A1: =EkezetTorol(B1)
és végéig másolni 3. A javítást most már FKERES-sel megcsinálhatodí pl. D2: =HA(NEM(HIBÁS(FKERES(B2;Helyes!$A:$B;2;HAMIS)));FKERES(B2;Helyes!$A:$B;2;HAMIS);"") és végéig másolni. 4. A fennmaradó településeket legvégső soron kézzel javítod. Üdv József
Megcsinaltam csak erre a problemara az excelt. Lehet neked/nektek csak egy klikk lenne en meg mar napok ota ugyetlenkedek. A javitando reszt kene kicserelni ha talal hasonlot a helyesben, ha nincs/vagy nem magyar akkor hagyja uresen, a cellat.
http://www.dreamworld.hu/lakhely.xls
Koszonom szepen ha valaki fordit idot a belenezesbe.
Koszonom a valaszt, a Kecskemét csak egy pelda az erthetoseg kedveert, sajnos iranyitoszam nincs hozzakotve. A hasonlosagbol kene nekem kivalasztani a jo tablabol egy legjobban passzolot, ezt nem tudom hogyan lehetne megirni. A milliomos osszeg szepen hangzana, de sajnos picivel tobb mint minimalberezett adatrogzitoi munkarol van szo :)
Ki kell vonni a két időpontot egymásból. Az eredmény egy szám, ami napban mérve ábrázolja az időt. Ha ezt megszorzod 24-gyel, akkor az eredmény egész része az eltelt órák száma. Ha a kivonás után az eredmény cella formátumát "idő"-re módosítod, akkor egyből az időkülönbséget kapod.
kb 30ezer kulonbozo telepules van elgepelve :) vagy ekezet lemaradva.
Nézd, ha jellemzőenvan benne szisztéma, pl. Kecskemét mindig KECZKEMET, akkor csinálsz egy táblát pl. Posta írányítószám állománya alapján és FKERES fv. kigyűjtöd a jó verziót. A többire marad a manuális megoldás. Egyes betűelírásokat CZ CS helyett Szerkesztés/Csere menüponttal megoldhatsz. Szóba jöhet meg az Eszközök/Automatikus javítás, de ilyen mennyiségnél az FKERES-es jobban kezelhető. Ha ettől rosszabb a helyzet, tehát össze-vissza vannak elírva, akkor lehet írni rá hasonlóság vizsgáló függvényeket, amik pl. pontozzák a rossz neveket mennyire hasonlít a valamilyen jó településnévre és egy bizonyos pontszám felett cserélsz automatikusan. A többi itt is manuális. De azért ne várd, hogy itt majd valaki egy jellemzően milliós összegbe kerülő adattisztítási munkára komplett megoldást ad neked:) Üdv József
Ha a lapjaidon a különböző termékek azonos cellában vannak a lapokon (termék_1 darabszáma minden lapodon a B1 cellában van), akkor az összesítő lap B1 cellája:
=szum('01.02:01.31'!b1)
Ha nem azonos a helyük, akkor Adatok/Kimutatás/Több tartomány.
hogy erre pont nem gondoltam :) kb 30ezer kulonbozo telepules van elgepelve :) vagy ekezet lemaradva. szerencsetlen kis office a kisfaluk megyeit sem ismeri nemhogy sajat magat.
Köszönöm, és még egyet kérdeznék, ha naponta készitek egy termék előállitási listát excelbe, ami különböző darabok mennyiségét tartalmazza. 01.02 a lap neve,(január másodika,)...és igy tovább, jelenleg a 01.10 nél tartok. lehet arra valami általános képletet késziteni hogy az utolsó (Havi nevü lapon) szeretném összesiteni a J6-os excel táblák tartalmát akkor milyen képletre van szükségem? Nyilván szombat, vasárnap nem készitek napi listát. Erre létezik megoldás?
Úgy tudom, Wordben nincs olyan mező, amivel direkben felhasználi függvényt tudnál meghívni. Makróval lehet trükközni, vagy megcsinálhatod a csekket wordben és körlevél ként nyomtatod, úgy hogy az adatforrás Excelben legyen. Üdv József
Ha esetleg nem akarsz bonyolult képletekkel foglalkozni (bár szerintem ezek sokkal átláthatóbbak), akkor lehet trükközni. Az Excel a dátumot és időt számként kezeli, a szám egészrésze a 1900 jan. 1-től eltelt napok száma(egyként Ms bugtól eltekintve :) ), a törtrésze napon belüli időpontot jelenti. Ha csak annyi van egy cellába, hogy 8:15:00, akkor ez igazából 1900.01.01 8:15:00, és számként 0,34375 jelent. Ha ezt megszorzod 24-gyel akkor órában kapod meg az időt: 8,25. Tehát pl. a túlórás képletet jól lehet így is fel lehet írni: =HA((b2-a2)*24>8,5;(b2-a2)-8/24;b2-a2) Természetes a cellaformátum idő legyen. A túlórákat gondolom összegezni is szeretnéd. Erre cellaformátum [ó]:pp:mm legyen! Egyébként ezt a 24-való szorzásos dolgot jól lehet felhasználni, ha időt kerekíteni kell (órára, negyedórára, félórára, 10percre stb.) Üdv József