Keresés

Részletes keresés

tbando Creative Commons License 2013.06.25 0 0 21612

Ezt a kérdést már többször feltették itt, és többször megválaszolták. A 2 legegyszerübb megoldás:

 

1. A Beszúrás/Kimutatás-sal megadod hogy hova listázzon, majd továbblépsz és az 1-50 oszlop fejcímét az un. sorcimkék kvadránsba húzod, és kész.

 

2. Special (Irányitott) szűrő, kipipálod, hogy mindegyiket csak egyszer, hogy ne helyben szűrjön, hanem "máshova", aztán megadod hogy hova, a kritériumcellába  beírod, hogy   >0, majd szűrés és kész.

 

A két eredménylista abban fog különbözni, hogy a kimutatásé nagyság szerint rendezi az számaidat, a szűrőnél pedig megmaradnak az adatoszlop sorrendjében. 

Előzmény: boseg (21611)
boseg Creative Commons License 2013.06.25 0 0 21611

Sziasztok, az alábbi problémát nem tudom megoldani:

 

Van egy oszlop tele számokkal 1-50-ig. Van, hogy egy szám többször is szerepel az oszlopban, de van olyan szám is 1-50-ig, ami egyáltalán nem szerepel az oszlopban, illetve van az oszlopban olyan sor is, ahol egyáltalán nincsen szám.

 

A feladat a következő lenne. Egy másik oszlopba egymás alá ki kéne listázni azokat a számokat, amik szerepelnek az első oszlopban, de ebben a második oszlopban, már csak egyszer szerepeljen mnden szám.

 

Tudtok erre valami megoldást.

 

Előre is köszönöm a tippeket!

pimre Creative Commons License 2013.06.24 0 0 21610

Kicsit körbejártam néhány angol nyelvű oldalt. Többen panaszolják ugyanezt.

 

A legaranyosabb beszélgetést erről a microsoft egyik fórumán találtam (http://social.msdn.microsoft.com/Forums/office/en-US/9f0f9e73-9462-41b9-88ea-5179774d0cbb/replace-does-not-work-on-a-protected-sheet-even-with-userinterfaceonly-set-to-true):

 

A kérdés: 

 

Hi Folks, Another bug?  Replace does not work on a protected sheet even with UserInterfaceOnly set to True?

Maybe more interestingly, it doesn't throw and error?

Is the only workaround to unprotect a reprotect?

 

Tehát: Ismét egy poloska (bug)? A replace nem működik a védett lapon akkor sem, ha a UserInterfaceOnly értéke true?

...Az egyedüli megoldás, ha ki-, majd visszakapcsoljuk a védelmet?

 

És a microsoft szakértő válasza: ...this is a very old problem. i wouldn't say that it is a bug. This feature is simply not available. But here is a workaround.

...ez egy nagyon régi probléma. Én nem mondanám, hogy poloska. Ez a tulajdonság egyszerűen nem érhető el.  

 

Előzmény: pimre (21609)
pimre Creative Commons License 2013.06.24 0 0 21609

Nálam is. Az a kérdés, hogy unprotect nélkül miért nem működik? Mikor minden más módosítás működik a védett adatlapon. Még egyszer hangsúlyozom, a kérdésem elvi jellegű, a problémát meg tudom oldani, csak nem értem, hogy miért van így.

Előzmény: Delila10 (21604)
tbando Creative Commons License 2013.06.24 0 0 21608

Kösz!

 

Magamtól sosem jöttem volna rá, hogy a Personal füzetem állítja át a beállítást.   

Előzmény: E.Istvan (21600)
Eredő Vektor Creative Commons License 2013.06.24 0 0 21607

a.) kérd, hogy a fájlt ismét küldjék el. Előfordul, hogy hibás lesz egy csatolmány

b.) mi a file kiterjesztése? (az utolsó "." utáni karakterek a filenévben)

Előzmény: zulumester (21605)
Sánta Kutya (SK) Creative Commons License 2013.06.24 0 0 21606

Sérült a file.

Előzmény: zulumester (21605)
zulumester Creative Commons License 2013.06.24 0 0 21605

Sziasztok!

 

Egy olyan problémám van, hogy e-mailben kapott excel dokumentumot a program nem tud megnyitni. Bejön az excel ablak, de maga a munkalap nem jelenik meg. Más exel dokumentumot a program gond nélkül megnyit. Mi lehet a probléma?

Előre is köszönöm a válaszokat.

Delila10 Creative Commons License 2013.06.24 0 0 21604

Nálam a

 

Sub mmm()
    ActiveSheet.Unprotect Password:="aaa"

    Columns(1).Replace What:="1", Replacement:="3", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    ActiveSheet.Protect Password:="aaa"
End Sub

makró hibátlanul működik.

 

Előzmény: pimre (21603)
pimre Creative Commons License 2013.06.24 0 0 21603

Kedves Delila, köszönöm. De azt hiszem, félreértetted a kérdésemet. (Emlékeim szerint ez eddig először történt meg).

 

Szóval nem az volt a gondom, hogy hogyan tudom a lapvédelmet feloldani. Hiszen ahogy a programban letiltom az esetleges kézi módosítások lehetőségét az ActiveSheet.Protect userinterfaceonly:=True paranccsal, ugyanúgy könnyedén vissza tudom kapcsolni az ActiveSheet.Unprotect paranccsal.

 

Engem az zavart, hogy amig a program a protect parancs ellenére eddig minden adatmódosítást (beírás, törlés, rendezés stb.) gond nélkül végrehajtott (hiszen a tiltás elvileg csak a kézi beavatkozásokra érvényes), addig a replace parancs esetében megtagadta a végrehajtást.

 

Tehát a kérdésem inkább elvi volt. Létezik, hogy a replace parancs "szabálytalanul" viselkedik, avagy én hibázok el valamit? Illetve, ha a replace a hibás, akkor vannak-e még más, unortodox módon viselkedő parancsok?

Előzmény: Delila10 (21602)
Delila10 Creative Commons License 2013.06.24 0 0 21602

Nézd meg a 19926-os hozzászólást, ahol le van írva, hogyan engedélyezheted a lap módosítását makróból.

 

A lapvédelem bekapcsolásánál engedélyezheted az autoszűrő használatát a "Minden felhasználónak engedélyezve" listában.

Előzmény: pimre (21597)
E.Istvan Creative Commons License 2013.06.24 0 0 21601

Természetesen munkafüzeteket akartam írni munkalapok helyett.

Előzmény: E.Istvan (21600)
E.Istvan Creative Commons License 2013.06.24 0 0 21600

Pedig ez a beállítás is megőrződik, csak az Excelnek van egy speciális, de érthető tulajdonsága. Ahogy előttem is írták ez a beállítás az egész Excelre vonatkozik.
Az automatikus/kézi számolási beállítást az Excel mindig a legelső megnyitott fájlból állítja be. Tehát ha ezt a fájlt nyitod meg elsőnek, akkor kézi számolásod lesz. Viszont ha ezután még megnyitsz másik tíz munkalapot, akkor azokban a munkalapokban is kézi lesz a számolás, majd ha ezt a másik tíz munkalapot mented, akkor azok is lementik magukkal a kézi számolás beállítását. Ha viszont már van nyitva egy munkafüzeted, amiben automatikus a számolás, és ezután megnyitod a kézi számolásos fájlt akkor viszont abban is az automatikus beállítás lesz érvényes.

Előzmény: tbando (21598)
Sánta Kutya (SK) Creative Commons License 2013.06.24 0 0 21599

Én meg azt gondolom, hogy ez az Excel beállítása lehet és nem a munkafüzeté. A visszavonás gombbal vissza lehet vonni egy ilyen beállítást? Felteszem, nem.

 

 

Előzmény: SQLkerdes (21596)
tbando Creative Commons License 2013.06.24 0 0 21598

Én is azt hittem, mivel a többi beállítás megőrződik.  De ez speciel nem.  

Előzmény: SQLkerdes (21596)
pimre Creative Commons License 2013.06.23 0 0 21597

Meglepő jelenséget produkált az Excelem (2003). Hónapok óta dolgozom a programomon, ahol a munkafüzet jelszavas védelmén túlmenően magát az alapadatokat tartalmazó munkalapokon is beállítottam a lapvédelmet. Amit ugyan nem nehéz kikerülni, de azért jobbnak láttam, ha az Excel nem engedi a kézi módosításokat. A program elején bekapcsolom a lapvédelmet (ha valamiért kikapcsolódott volna), és ez így is marad. A kikapcsolást nem használom. A program így is tud írni bele. Annyit tudtam, hogy a védelem az autoszűrő használatát is tiltja, de sebaj, azzal úgysem dolgozom.

 

Erre most egy ponton használnom kellett a search and replace parancsot, és legnagyobb megdöbbenésemre egyrészt hibaüzenetet kaptam, hogy a módosítani kívánt cella írásvédett.... Az üzenet még nem lett volna gond, azt le lehet tiltani, de a cserét nem hajtotta végre a program. Amúgy ez sem nem nagy gond, egy programsorral fel tudom oldani, majd egy másikkal vissza, inkább elvileg zavar. Nem találom dokumentálva a dolgot.

 

Az érintett részlet így néz ki:

 

Range L6:L54.select
Selection.Replace What:=sorszám1, Replacement:=sorszám2, LookAt:=xlWhole, SearchOrder:=xlByRows, _
MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

 

Én szúrtam el valamit, vagy a Replace funkció nem működik a védett lapokon. És ha az utóbbi igaz, fog-e vajon érni  még más meglepetés is további parancsoknál?

SQLkerdes Creative Commons License 2013.06.23 0 0 21596

Szerintem alapból az történik, hogy ez az infó mentődik...

Előzmény: tbando (21595)
tbando Creative Commons License 2013.06.23 0 0 21595

Azt be lehet állítani az Excel 2007-ben, hogy amikor lementek egy füzetet a "Képletek kiszámítása csak kérésre" beállítással, akkor azt így is nyissa ki? Mert nálam mindig visszavált az automatikus kiszámítási módra.

tbando Creative Commons License 2013.06.22 0 0 21594

Vagy lehet valahogy mondani neki, hogy a "D" oszlop összes sorára értelmezze.

 

Nem értem a problémád. Már miért ne lehetne mondjuk az E oszlop adatait a D oszlop celláiból származtatni? Ez a BAL fgv-nyel is ugyanúgy megy mint bármelyik függvénnyel. l  

Előzmény: djmorphy (21588)
mimi_bacsi Creative Commons License 2013.06.21 0 0 21593

Köszönöm a link publikálását!

Előzmény: SQLkerdes (21566)
Sánta Kutya (SK) Creative Commons License 2013.06.21 0 0 21592

Sajátos szintaktika.

Ha az első 8 karakter kell, én egyszerűen használnám a BAL() függvényt. Nem látom, hogy a csoportosítás mit ad ehhez hozzá a bonyodalmon kívül.

Előzmény: Eredő Vektor (21591)
Eredő Vektor Creative Commons License 2013.06.21 0 0 21591

nyolcasával

Előzmény: Sánta Kutya (SK) (21590)
Sánta Kutya (SK) Creative Commons License 2013.06.21 0 0 21590

Mi az a 8-val?

Előzmény: djmorphy (21589)
djmorphy Creative Commons License 2013.06.21 0 0 21589

A1: 2013.06.21                      <==(dátum)

B1:10:10:15                           <== (idő)

C1:0123456789123456         <==(vonalkód)

 

 

A C1-nél az első 8 karakterre van szükségem csak. És itt van az, hogy az eleje azonos a termékeknél de a vége eltér ezért logikusan a táblázat külön értéknek veszi.

 

De mit érek azzal ha mondjuk 8-val csoportosítom?

 

Előzmény: SQLkerdes (21572)
djmorphy Creative Commons License 2013.06.21 0 0 21588

Köszi a tippet! De az a baj, hogy egy txt file-ból olvassa be ami minden nap csak növekszik. Szóval az összes sorra meg kellene írnom szerintem a left() fgv-t. Vagy lehet valahogy mondani neki, hogy a "D" oszlop összes sorára értelmezze.

Előzmény: Törölt nick (21571)
Eredő Vektor Creative Commons License 2013.06.21 0 0 21587

ilyesmi?

=SZÖVEG(DÁTUM(2013;6;22);"éééé.hh.nn")&"-"&NAP(DÁTUM(2013;6;23))

(egyéni dátumformátumot szerintem nem sem lehet ilyet megadni)

Előzmény: szrox (21585)
Sánta Kutya (SK) Creative Commons License 2013.06.20 0 0 21586

Szerintem nem. De ha az A és a B oszlopban van a két dátum, akkor a C-ben elő lehet állítani ezt dátum- és szövegkezelő függvényekkel, és az első kettőt elrejteni, Viszont azokkal lehet számolni tovább.

Előzmény: szrox (21585)
szrox Creative Commons License 2013.06.20 0 0 21585

Sziasztok!

 

Meg tudja mondani nekem valaki, hogy excelben hogy lehetséges dátum formátumban intervallumot megadni?

pl. azt szeretném beírni, hogy 2013. június 22-23. - és szeretném, ha ezt dátum formátumként kezelje. Lehetséges?

 

Előre is köszönöm!

pimre Creative Commons License 2013.06.20 0 0 21582

Az automatikus beléptetés nálam is csak a saját asztali gépemen érvényes. Más gépen be kell jelentkeznem (bár máshol ezt szándékosan nem is indapassal teszem, hiszen ott nem akarok bejelentkezve maradni), de az nem érinti a saját asztali gépemet. Itt azután sem kell bejelentkeznem hazatérés után.

Előzmény: Törölt nick (21580)
tbando Creative Commons License 2013.06.20 0 0 21581

Úgy néz ki sikerült. Magamtól valszeg sosem jöttem volna rá. Köszi.

Előzmény: KelemenGy (21579)
Törölt nick Creative Commons License 2013.06.20 0 0 21580

Ezt majd kiprobalom en is.

 

Nekem az van h melohelyrol meg otthoni geprol szoktam forumozni es ha az egyiken belepek, a masikbol kidob. Fuggetlenul a "jegyezz meg" allasatol.

Előzmény: KelemenGy (21579)
KelemenGy Creative Commons License 2013.06.20 0 0 21579

Indapassozol? Elvileg mostanra muszáj volna. Ha igen, akkor ne a forum.index.hu-ról jelentkezz be, hanem pötyögd be, hogy indapass.hu, ugyanazzal a loginnal lépj be a jobb felső sarokban lévő belépés gombbal, böngésző bezár, majd irány a parancsikon. Elméletileg így működnie kellene.

Előzmény: tbando (21577)
pimre Creative Commons License 2013.06.20 0 0 21578

Emlékeim szerint nekem ebben az indapassal való összekötés segített. Csak az újrainstallálás kapcsolta ki. Akkor újra összekapcsoltam, és azóta is eleve bejelentkezve vagyok a saját gépemen. Csak már régrn volt, és a pontos technikára nem emlékszem.

Előzmény: tbando (21577)
tbando Creative Commons License 2013.06.20 0 0 21577

Kösz a választ. Nem töröltem semmilyen böngészési előzményt. De ha töröltem volna is, be kellene tudni állítani valahogy egyszerűen. Mintahogy előszörre  sikerült. Ha már akkor is bejelentkezés nélkül müködött volna, belenyugodtam volna, hogy csak így müxik. De az előzmények miatt tudom, hogy van bejelentkezéses forma is. Így hát keresem.

 

A kukikat hol kell megnézni? És egyáltalán: átírhatók?

Előzmény: SQLkerdes (21576)
SQLkerdes Creative Commons License 2013.06.20 0 0 21576

Szerintem a bejelentkezési státuszod egy kukiban van.  Töröltél mostanában böngészési történetet?

Nem tudom mi a megoldás, de én a cookie-k környékén keresgetnék.

Előzmény: tbando (21575)
tbando Creative Commons License 2013.06.20 0 0 21575

Az Excel fórumnak csináltam egy inditó ikont az Asztalra. Hosszú ideig, ha rákattintottam. úgy hozta fórumot, hogy már be is voltam jelentkezve. Kb két hete azonban meghülyült, és belentkezés nélkül adja a fórumot. Próbálkoztam mindenféle beállítással, de nem sikerült a bejelentkezéses változatot összehoznom. Tudna valaki segíteni?   

tbando Creative Commons License 2013.06.20 0 0 21574

A pivot kimutatáshoz azonban kell a left-fv-nyel csonkitott kereső oszlop. 

Előzmény: tbando (21573)
tbando Creative Commons License 2013.06.20 0 0 21573

Sőt, a left-es (Bal függvényes) alakhoz nem is kell külön kereső oszlop, mert az FKERES  függvényt is elfogad kritérumként. Tehát:

 

=FKERES(BAL(1234567,6); stb) 123456-ra fog keresni.

 

A 2007-es excelnél mindegy, hogy az 1234567 szám- vagy szövegformátumú, a 2003-asnál azonban úgy emlékszem, hogy szövegfüggvényhez csak szövegformátum passzintható. És viszont

Előzmény: Törölt nick (21571)
SQLkerdes Creative Commons License 2013.06.20 0 0 21572

Nem ismerem az adatstruktúrádat, de megpróbálkozhatsz azzal, hogy tizesével grouppolod a pivottáblád kódjait.  

Előzmény: djmorphy (21570)
Törölt nick Creative Commons License 2013.06.20 0 0 21571

A vonalkodoknak vagd le azt a reszet (LEFT fv-el) ami elegendo (azon a reszen ahol keres a VLOOKUP), majd csak arra VLOOKUPozz.

Előzmény: SQLkerdes (21569)
djmorphy Creative Commons License 2013.06.20 0 0 21570

Majd megpróbálok valamit mert azért bosszant, hogy nem tudom megoldani.

 

 


Most egy másik kérdésem lenne már ha el tudom magyarázni :D 

 

Van három munkafüzetem. Munkafüzet1-en van vonalkód időbélyeggel. Munkafüzet2-n van egy értékpárom ahol a vonalkód és a hozzá tartozó termék neve van és az Fkeres() fgv-hez kell. Munkafüzet3-n egy kimuatás van a vonalkódból ami a munkafüzet1-en szerepel

A munkafüzet3 A oszlopába írom az Fkeres() fgv-t azért hogy ne vonalkódokat kelljen keresni hanem ott legyen a termék neve.

 

A problémám, hogy a vonalkód vége változhat ami a terméket nézve nem fontos mert a szállítmányozáshoz kell. 
Pl:

0123456 ==>Csoki1   

0654321 ==>Csoki2

 

0123459 ==>Csoki1

0654329 ==>Csoki2

 


Így a kimutatás táblázatban összesen 4 sor van ha a példát nézzük. Nem lehet megvalósítani valahogy hogy összevontan jelenítse meg? 
Azaz mindegy hogy 0123456 vagy 0123459 mind a két bejegyzés a harmadik munkafüzeten a csoki1-hez tartozzon?

Előzmény: tbando (21553)
SQLkerdes Creative Commons License 2013.06.19 0 0 21569

James42:  az a fontos, hogy te elégedett légy, ne törődj a világgal.

 

Pimre:  a youtube oldalon, az alatt, hogy "Published on..." van egy link.  Arra kattintasz, majd a link alatti leírást követve a feljövő oldalon megkeresed a file-t (legalul van), a videón 1:14-től mutatja hogy találod meg.

Előzmény: pimre (21568)
pimre Creative Commons License 2013.06.19 0 0 21568

Bizonyára hasznosak a Youtube videói, bár én a linkből nem igazán tudom kihámozni a kereshető listát. Nincs egy jobb lista?

 

Egyébként a magam részéről ha igazán alapos gyűjteményt keresek, akkor jobban szeretem az írásos - tartalomjegyzékkel elláttott, lapozható - összeállításokat. És ebben számomra a csúcs eddig a következő volt: http://www.ozgrid.com/Excel/free-training/basic-index.htm

 

Például ennek az 5. leckesorozatából tanultam meg a Userformok használatánap alapjait. 

Előzmény: SQLkerdes (21566)
James 42 Creative Commons License 2013.06.19 0 0 21567

Na de oda tartoznak még a szajkók és a szarkák is, és azok sokkal szebbek. Viszont a lényeg az, hogy most legalább már érthető, hogy mit akartál, és még link is van hozzá. Tehát a hozzászólásomat sikeresnek nyilvánítom.  :-)

Előzmény: SQLkerdes (21566)
SQLkerdes Creative Commons License 2013.06.19 0 0 21566

Nekem a varjúk történetesen nem jönnek be, de virágozzék ezer virág!

A két név akiket ezek szerint nem ismersz, a youtube-ra töltenek fel videókat az excel használatáról, többnyire függvényekről.  Most csináltak egy kereshető listát az összes videójukról excel file formátumban.

 

https://www.youtube.com/watch?v=mf3iIJzs6jw

Előzmény: James 42 (21565)
James 42 Creative Commons License 2013.06.19 0 0 21565

De a többi varjúféle is helyes. Amúgy mit is akartál mondani?

Előzmény: SQLkerdes (21564)
SQLkerdes Creative Commons License 2013.06.19 0 0 21564

Ha valakit érdekel, Mr. Excel és ExcelisFun videók kereshető formátumban.  Én bírom mindkét csókát.

 

KelemenGy Creative Commons License 2013.06.19 0 0 21563

A kompatibilitási mód megoldotta a problémát, úgy fest. Köszönöm!

Előzmény: tbando (21561)
Eredő Vektor Creative Commons License 2013.06.18 0 0 21562

NVIDIA Driver-t is olvastam, valami multiview funkció.

Egy csomó találatot adott a google, még magyarul is.

Előzmény: KelemenGy (21560)
tbando Creative Commons License 2013.06.18 0 0 21561

A makrók tudtommal nem. De a hozzájuk rendelt billentyűkiosztás felül írja az excel billentyűkiosztását.  Nálatok valszeg nem ez van, mert arra csak emlékeznétek, hogy csináltatok beszúrás és  eltolás makrókat, amihez pont ezt a két betűt rendeltétek.

 

Egyébként akartam is javasolni, hogy ha minden kötél szakad, megoldás lehet, hogy lemakrózzátok a másolás és beillesztés parancsot és kiosztjátok nekik ezt a két betűt.  Ha ezt az excel elfogadja és normálisan működik, akkor az exceletek állítódott át. De az is lehet, hogy figyelmeztet, hogy a két betű foglalt, válasszatok más betűt. Ekkor szerencsétek van, mert csak a betűket lefoglaló makrókat kell megkeresni és átállítani, hogy helyre álljon a rend. 

Előzmény: KelemenGy (21560)
KelemenGy Creative Commons License 2013.06.18 0 0 21560

Korábban rendben volt, de hogy mi váltotta ki, nem tudom (nem az én gépem, kolléga kínlódik a jelenséggel). Makrófuttatás elkavarhatja vajon ennyire az excel lelkivilágát?

Előzmény: tbando (21555)
KelemenGy Creative Commons License 2013.06.18 0 0 21559

Bocs, egy rakat infót kihagytam. A környezet Win7 Enterprise, skype nincs a gépen. A kompatibilitási mód ígéretes, megnézem holnap, köszönöm!

Előzmény: Eredő Vektor (21557)
Eredő Vektor Creative Commons License 2013.06.18 0 0 21558

próbáld ezt:

Előzmény: KelemenGy (21554)
Eredő Vektor Creative Commons License 2013.06.18 0 0 21557

winxp?

Előzmény: KelemenGy (21554)
Delila10 Creative Commons License 2013.06.18 0 0 21556

Nálam még nem fordult elő, de azt olvastam valahol, hogy a Skype-pal akad össze.

Előzmény: KelemenGy (21554)
tbando Creative Commons License 2013.06.18 0 0 21555

Korábban konvencionálisan müködött, vagy már a kezdetektől így viselkedik?

Előzmény: KelemenGy (21554)
KelemenGy Creative Commons License 2013.06.18 0 0 21554

Sziasztok!

 

2007-es Excellel akadt egy kis összetűzésünk. A Ctrl+C és a Ctrl+V billentyűkombók nem épp az elvárt módon működnek. A Ctrl+C a másolás helyett a "Beszúrás..." helyi menű tartalmát szedi elő, a Ctrl+V pedig ugyanez pepitában, csak nem a beszúrást, hanem az eltolást erőlteti. Mi lehet vajon félretekerve? Van ötletetek?

A Ctrl+X normálisan működik, illetve az egérrel elérhető másolás és beillesztés menüpontok is teszik a dolgukat normálisan.

tbando Creative Commons License 2013.06.18 0 0 21553

:)))

 

De a viccet félretéve, talán mégis megoldható a problémád.  Valahogy úgy, ahogy pdw javasolta.  Külön oszlopban vezetve a változást, majd egy harmadikban történne a 2 oszlop összedolgozása (amihez esetleg további segédoszlopok felvétele is előnyös lehet). 

Előzmény: djmorphy (21552)
djmorphy Creative Commons License 2013.06.18 0 0 21552

Közben rájöttem, hogy nem lehet megvalósítani meg még hülyeséget is kérdeztem a táblázat szempontjából! :)

(Amúgy kollégám aki nagyvonalakba érti mit csinálok és hol tartok sem értette a kérdést! :D)

Előzmény: tbando (21550)
Törölt nick Creative Commons License 2013.06.17 0 0 21551

Csinalj havonta egy sheet-et. Vagy ha egy sheetben akarod tartani tovabbra is, akkor kulon cellakba ird az elterest.

Előzmény: djmorphy (21549)
tbando Creative Commons License 2013.06.17 0 0 21550

Szívesen segítenék, ha érteném, hogy mit akarsz. 

Előzmény: djmorphy (21549)
djmorphy Creative Commons License 2013.06.17 0 0 21549

Sziasztok!

 

Olyan kérdésem lenne, hogy megvalósítható-e automatizáltan a következő:

 

Van egy txt file amiből számol nekem az excel szép kis számokat. Hó végén ellenörzöm a raktárat. Többnyire egy kis eltérés van a tényleges és az excelben található értékek között.

Egy sima kivonással kiszámolom a raktár és a tényleges közti különbséget majd ezzel az értékkel korrigálom is a készletet.

De ezt az ellenörzést csak havi szinten csinálom meg. És az a kérdésem hogyan lehetne megoldani, hogy a január végén beolvasott értékek statikusak maradjonak mert februárban már nem annyi a készlet. Egyenlőre csak a copy paste megoldást találtam mint használható dolog

 

példával:

 

 

A "Készlet mf A1"-be szum függvénnyel beolvassa a "scanner munkafüzetből", hogy 100db

Kimentem a raktárba és 150db-ot találtam.

Amit be is írok a "leltár mf A1" oszloba.

Azaz 50 db az eltérés amit hozzá is adok a "Készlet mf A1"-hez és így 150 db lesz. Magyarul egyezik az excel és a valóság

 

Kimegyek következő hónapban ugyan ezt a procedúrát megcsinálom. Csak az a baj, hogy akkor már a "scanner munkafüzetbe" nem 100db lesz hanem 500db. Így az előző hónapnál nem 50 darab az eltérésem. 

 

pimre Creative Commons License 2013.06.14 0 0 21548

Köszönöm.

Előzmény: Törölt nick (21547)
Törölt nick Creative Commons License 2013.06.14 0 0 21547

Zárd be az Analysis ToolPak -  VBA bővítményt.

Előzmény: pimre (21546)
pimre Creative Commons License 2013.06.14 0 0 21546

Egy apró kellemetlenség miatt kérdezlek benneteket:

 

Amikor megnyitom a VBA ablakot, akkor az immediate ablakomban mindig a következő szöveg fogad:

 

[auto_open] <

[SetupFunctionIDs] <

[SetupFunctionIDs] >

[PickPlatform] <

[PickPlatform] >

[VerifyOpen] <

[VerifyOpen] > 1

[RegisterFunctionIDs] <

[RegisterFunctionIDs] >

[auto_open] >

 

Nem nagy gond, mert két mozdulattal kitörlöm, de nem bánnám, ha eleve nem így indulna. Ki lehet ezt valahogy küszöbölni?

 

Delila10 Creative Commons License 2013.06.13 0 0 21545

Nem venném a lelkemre!

Előzmény: Eredő Vektor (21544)
Eredő Vektor Creative Commons License 2013.06.13 0 0 21544

Ezen fog megsértődni, aztán tényleg nem jön ide többet :)

Előzmény: Delila10 (21543)
Delila10 Creative Commons License 2013.06.13 0 0 21543

Nekem a kertes házak idegesítő szomszédja jutott eszembe, aki naponta nyírja a füvet. :)

Előzmény: Eredő Vektor (21541)
Eredő Vektor Creative Commons License 2013.06.13 0 0 21542

A linken a leírás is nagyon király, azt meg én köszönöm.

Előzmény: GrundfosUPS2560eladó15000 (21540)
Eredő Vektor Creative Commons License 2013.06.13 0 0 21541

Na, ezt soha nem fejtettem volna meg. Pedig a fűnyíróembernél tévesen elkanyarodtam még Ollókezű Edvárdig is.

Előzmény: Törölt nick (21533)
GrundfosUPS2560eladó15000 Creative Commons License 2013.06.13 0 0 21540

Ez viszont sikerült király Köszönöm

 

Előzmény: Sánta Kutya (SK) (21536)
GrundfosUPS2560eladó15000 Creative Commons License 2013.06.13 0 0 21539

Elvesztettem a fonalat:) Ennyire azért nem vagyok benne az excelben esetleg valami letölthető adat készen és akkor továbbhúzom B1 et lefelé

Delila10 Creative Commons License 2013.06.13 0 0 21538

Jogos!

Előzmény: Sánta Kutya (SK) (21537)
Sánta Kutya (SK) Creative Commons License 2013.06.13 0 0 21537

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.

Előzmény: Sánta Kutya (SK) (21536)
Sánta Kutya (SK) Creative Commons License 2013.06.13 0 0 21536

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.

Előzmény: GrundfosUPS2560eladó15000 (21534)
Delila10 Creative Commons License 2013.06.13 0 0 21535

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.

 

Előzmény: GrundfosUPS2560eladó15000 (21534)
GrundfosUPS2560eladó15000 Creative Commons License 2013.06.13 0 0 21534

ÜDV!

 

Az A1 cellám az alábbi  karaktereket tartalmazza

 

991103726 Név kompr550 1 db 0 Ft 51800 Ft   B1 cellába szeretném kinyerni az 51800Ft adatot

 

http://office.microsoft.com/hu-hu/excel-help/szamok-kinyerese-alfanumerikus-karakterlancbol-HA001154901.aspx

 

a linken található megoldást próbáltam de nem jártam sikerrel valaki megoldást? Köszönöm

Törölt nick Creative Commons License 2013.06.12 0 0 21533

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.

Előzmény: Eredő Vektor (21532)
Eredő Vektor Creative Commons License 2013.06.12 0 0 21532

Hát, én a ?nyírás - kávézás - lúgosítás részénél elvesztettem a fonalat.

Előzmény: _Nyuszi (21531)
_Nyuszi Creative Commons License 2013.06.12 0 0 21531

Csak átfutottam a mai termést, és nem fért a fejembe, hogy hogyan lehet a fűnyírással közömbösíteni a kávézást, és hogy ezek miért egészségesek. :-)

Aztán elolvastam még egyszer, meg még egyszer. Most már azt hiszem, megvan. :-)

Előzmény: Sánta Kutya (SK) (21530)
Sánta Kutya (SK) Creative Commons License 2013.06.12 0 0 21530

A kávé állítólag savasít, közömbösítik egymást.

Egyébként igen, egészséges életmód témakörében utazunk. :-)

Előzmény: Törölt nick (21528)
Törölt nick Creative Commons License 2013.06.12 0 0 21529

Mindig itt vagyok. Én vagyok a  fűnyíróember. ;-)

Előzmény: Delila10 (21518)
Törölt nick Creative Commons License 2013.06.12 0 0 21528

Lúgosító adatok? Egészséges munkahelyed lehet! :-)

Előzmény: Sánta Kutya (SK) (21526)
Delila10 Creative Commons License 2013.06.12 0 0 21527

Jó kávézást!

Előzmény: Sánta Kutya (SK) (21526)
Sánta Kutya (SK) Creative Commons License 2013.06.12 0 0 21526

Rákerestem, de most ez valahogy nem bír lekötni, talán mert még kávé előtt vagyok, és sokkal izgalmasabb adatbázikus kérdésekkel kell foglalkoznom.

Köszönöm!

Előzmény: Delila10 (21525)
Delila10 Creative Commons License 2013.06.12 0 0 21525

Keress rá a súgóban az "esetek" kifejezésre, ott megtalálod. :)

Előzmény: Sánta Kutya (SK) (21524)
Sánta Kutya (SK) Creative Commons License 2013.06.12 0 0 21524

Jó, szuper! Sose láttam otzt azt a nyavalyát, annyira alul van, és gördítősáv kell hozzá, eszembe se jutott, hogy ott még van valami pipás.

Mi fán terem az esetek szerkesztése legalul?

Előzmény: Delila10 (21523)
Delila10 Creative Commons License 2013.06.12 0 0 21523

Megnéztem a 2007-es verzióban. A lapvédelemnél ne legyen bejelölve az "Objektumok szerkesztése" a "Minden felhasználónak engedélyezve" kategóriában.

 

Nálam bevált, kijelölni sem engedi a beszúrt képet.

Előzmény: Sánta Kutya (SK) (21522)
Sánta Kutya (SK) Creative Commons License 2013.06.12 0 0 21522

2007-ben nincs ilyen fül a képformázásnál. Default sincs, mert a munkalap védett, a kép meg nem.

Előzmény: Delila10 (21521)
Delila10 Creative Commons License 2013.06.12 0 0 21521

A kép formázása párbeszédnél a védelem fülön beállítod a zároltságot. Ez az alapérték.

Ám ha a védelemnél az objektumok szerkesztését bejelölöd, megszűnik a rá vonatkozó védelem.

Előzmény: Sánta Kutya (SK) (21520)
Sánta Kutya (SK) Creative Commons License 2013.06.12 0 0 21520

Hogy lehet a munkalapvédelmet kiterjeszteni a beillesztett képre?

Kutyasimogato Creative Commons License 2013.06.12 0 0 21519

Benéztem éjjel, mert ma már az oszlopszélesség nullázása is csak az "A" oszlopra hatott. Megvan a abaj, csak értelmet nem találok benne.

 

Bugos (csak "A"-t rejti el):

Columns("A:A").Delete Shift:=xlToLeft

Columns("B:B").Delete Shift:=xlToLeft

Columns("D:D").Delete Shift:=xlToLeft

Columns("H:I").Delete Shift:=xlToLeft

Columns("I:I").Delete Shift:=xlToLeft

Range("A:A,F:F,L:M,O:S").EntireColumn.Hidden = True 'Range("A:A,F:F,L:M,O:S").EntireColumn.ColumnWidth = 0

ActiveWindow.Zoom = 80

Cells.EntireColumn.AutoFit

 

OK:

Columns("A:A").Delete Shift:=xlToLeft

Columns("B:B").Delete Shift:=xlToLeft

Columns("D:D").Delete Shift:=xlToLeft

Columns("H:I").Delete Shift:=xlToLeft

Columns("I:I").Delete Shift:=xlToLeft

ActiveWindow.Zoom = 80

Cells.EntireColumn.AutoFit

Range("A:A,F:F,L:M,O:S").EntireColumn.Hidden = True 'Range("A:A,F:F,L:M,O:S").EntireColumn.ColumnWidth = 0

Előzmény: Kutyasimogato (21514)
Delila10 Creative Commons License 2013.06.12 0 0 21518

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:

Előzmény: Törölt nick (21516)
Delila10 Creative Commons License 2013.06.12 0 0 21517

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?

Előzmény: Kutyasimogato (21514)
Törölt nick Creative Commons License 2013.06.12 0 0 21516

Szerintem inkább a másolatok készítése idejére kapcsold ki az eseményeket.

Előzmény: Delila10 (21515)
Delila10 Creative Commons License 2013.06.12 0 0 21515

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.

Előzmény: Törölt nick (21513)
Kutyasimogato Creative Commons License 2013.06.11 0 0 21514

Köszönöm az ötletet! Megoldotta a problémát. :)

 

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.)

Előzmény: Törölt nick (21512)
Törölt nick Creative Commons License 2013.06.11 0 0 21513

A ciklusod Worksheet(n).Select utasítást tartalmaz? :-)

Előzmény: Delila10 (21509)
Törölt nick Creative Commons License 2013.06.11 0 0 21512

A Hidden tulajdonsággal időnként szoktak lenni gondok. Próbáld meg így:

 

Range("A:A,F:F,L:M,O:S").EntireColumn.ColumnWidth = 0

 

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.

Előzmény: Kutyasimogato (21510)
Törölt nick Creative Commons License 2013.06.11 0 0 21511

Ja. Szerencsétlen narkósok :)

Előzmény: Eredő Vektor (21508)
Kutyasimogato Creative Commons License 2013.06.11 0 0 21510

Sziasztok!

 

 Megakadtam egy agyrepesztően idegesítő dolgon. Oszlopokat szeretnék elrejteni. Az alábbi megoldásokkal próbálkoztam eddig:

 

 1: Range("A:A,F:F,L:M,O:S").EntireColumn.Hidden = True

 

 Ha ezt bezárom egy eljárásba, akkor azt teszi, amire hivatott. Amint beteszem a programba, onnantól csak az "A" oszlopot hajlandó elrejteni. -.- Gondoltam, hogy lehet, hogy sok az agyának, mert a 800. sor után kerül sorra, addigra lehet befárad az Excel, vagy nem is tudom... Tehát szétszedve + range lecserélve, biztos, ami ziher

 

 2:

Columns("A:A").EntireColumn.Hidden = True

Columns("F:F").EntireColumn.Hidden = True

Columns("L:M").EntireColumn.Hidden = True

Columns("O:S").EntireColumn.Hidden = True

 

 A 2. verzió is csak az "A"-t rejti el a programban futtatva. Sebaj, biztos retardáltra dolgozza magát az Excel, ezért összefolyik neki a parancs, ahogy nekem a betűk a szemem előtt. Íme, a never go full retard elvnek ellentmondó próbálkozás is:

 

 3:

Columns("A:A").EntireColumn.Hidden = True

Cells(1, 2).Select 'fake

Columns("F:F").EntireColumn.Hidden = True

Cells(1, 3).Select 'fake

Columns("L:M").EntireColumn.Hidden = True

Cells(1, 2).Select 'fake

Columns("O:S").EntireColumn.Hidden = True

 

 Persze ez is csak az A-t rejti el. Nem értem, hogy mi van... Egyébként minden próbálkozás az eredményt tekintve kiváló, ha szubrutinként hívom meg... De ez így nagyon nem elegáns. A kódot nem vágnám be, mert hosszú, de oszloptörlések vannak közvetlenül az elrejtés előtt a kódban. Ha ez lenne a baj, akkor sem értem...

 

 Előre is köszi az ötleteket, javaslatokat! :)

Delila10 Creative Commons License 2013.06.11 0 0 21509

Egy idétlen krimi nézése közben eszembe jutott a megoldás, míg a képernyőn gyilkolászott a tettes.

 

Mikor a napokat tartalmazó lapokon haladtam a ciklussal (11-től az utolsóig), az első lap mindig az aktuális elé furakodott a remek makród mellékhatásaként, felborítva a sorrendet. Ezt sikerült megoldanom: a ciklusba beírtam, hogy szaladjon vissza a helyére.

 

Köszönöm a felajánlást.

 

Előzmény: Törölt nick (21505)
Eredő Vektor Creative Commons License 2013.06.11 0 0 21508

Igazad. Meg van olyan is, aki inkább eladja magát az indapass-nak, minthogy lemondjon róla. 

Előzmény: Törölt nick (21506)
Sánta Kutya (SK) Creative Commons License 2013.06.11 0 0 21507

Bummbumm! Bummbumm!

Matuska, nem mondja folyton, hogy bumm!

Igenis, bummbumm!

Előzmény: Törölt nick (21506)
Törölt nick Creative Commons License 2013.06.11 0 0 21506

Off: Aki mindig csak robbantgat, az nem tud meglenni excel nélkül. Igazam van? On:

Törölt nick Creative Commons License 2013.06.11 0 0 21505

Ne búsulj, biztos meg lehet oldani. Csak az a baj, hogy nem értem :) 

De ha elküldöd privátba, megszakértem.

Előzmény: Delila10 (21503)
Eredő Vektor Creative Commons License 2013.06.11 0 0 21504

Aha.

HÉT.SZÁMA("2012.12.31";2) + HÉT.SZÁMA("2013.12.01";2)

 

Úgy értettem, hogy egy olyan riport elkészítése életszerű lehet, ahol az előző évvel együtt folytatólagosan kérik a hetek megszámozását. Ahogy például a hónapokkal is megteszik az annuitásos törlesztőszámításnál. Ott sem 1-12 hónap van, 1-60 hónap pl. az 5 éves hitelnél. Persze hétnél ez nem jellemző, de találkoztam én már mindenféle váratlan dologgal.

Az említett pédához természetesen nem illik, kizárólag azzal példálóztam, hogy mivan, ha mégis... alapon kerüljük már meg, hogy bal() fgv helyett minden eshetőségre egy arra valót használunk, ami szépen megformázza azt a számot (szöveg())

 

 

Előzmény: Törölt nick (21499)
Delila10 Creative Commons License 2013.06.11 0 0 21503

Köszönöm. Mint kiderült, sajnos az én feladatomhoz nem jó.


Van 10+1 lapom. A +1 tartalmazza a hónap első napjának adatait. Agyba-főbe formázott, hétköznap, szombat, vasárnap, és ünnepnap oszlopai különböző háttérszínekkel a megadott dátum szerint.


Egy makró bekéri az évet és hónapot. A 11. lapból annyit másol a füzet végére, ahány nap szükséges az adott hónaphoz, pl. nem szökőévben februárnál 27-et.


A napok lapjai a füzet első lapjáról vesznek adatokat, ezért lett volna jó, ha az mindig az aktuális lap mellett van. Az n-edik lapra állva az első lap az n-1-edik helyre lép. Viszont ha rálépek az elsőre, az előre szalad, és ott vagyok, ahol voltam.

 

Kihagyhatnám az előre fuss utasítást, marad az első lap az n-1-edik helyen. Akkor meg más hiba lesz. Egy másik makró az elsőről irányított beillesztéssel másol oszlopokat a napok lapjaira. Itt a For lap% = 11 To Worksheets.Count bolondul meg, mert a korpa közé keveredett a disznó.


Szomorú vagyok, nagyon jó lett volna.

Előzmény: Törölt nick (21497)
mimi_bacsi Creative Commons License 2013.06.11 0 0 21502

Köszönöm a válaszokat, ezeknek a figyelembe vételével sikerült megoldanom a feladatomat!

Törölt nick Creative Commons License 2013.06.11 0 0 21501

Annyi csak az osszefugges hogy nem vagyok annyira jartas a szovegformazos fuggvenyekben :)

Előzmény: Eredő Vektor (21495)
Törölt nick Creative Commons License 2013.06.11 0 0 21500

Nem ertem :)

Evente 52 het van. Ha masik evrol beszelunk annak meg az eleje lesz mas (2012.01 vs 2013.01) igy nincs utkozes.

Előzmény: Eredő Vektor (21496)
Törölt nick Creative Commons License 2013.06.11 0 0 21499

El tudod képzelni, hogy a HÉT.SZÁMA függvény 99-nél nagyobb értéket adjon vissza?

Előzmény: Eredő Vektor (21496)
Törölt nick Creative Commons License 2013.06.11 0 0 21498

Olyasmire gondoltam, hogy ha pl. Munka1-en egy képlet munkalapokon átívelő összeadást tartalmaz (pl. lásd itt: http://www.officearticles.com/excel/sum_the_same_cell_in_multiple_microsoft_excel_worksheets.htm),  akkor a lapok átrendezése rögtön körkörös hivatkozást fog okozni, ami beláthatatlan következményekkel járhat. Nekem pl. teszteléskor felugrott a körkörös hivatkozás című ablak, és azóta sem tudom bezárni :-)

Pedig a lapok sorrendjét már helyreállítottam.

 

Előzmény: pimre (21494)
Törölt nick Creative Commons License 2013.06.11 0 0 21497

Nemtom, talán valami ilyesmi:

 

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Application.EnableEvents = False
    Application.ScreenUpdating = False
    If Sh.Name <> "Munka1" Then
        If Sh.Index > 5 Then
            ThisWorkbook.Worksheets("Munka1").Move before:=Sh
        Else
            ThisWorkbook.Worksheets("Munka1").Move before:=ThisWorkbook.Worksheets(1)
        End If
        Sh.Activate
    End If
    Application.ScreenUpdating = True
    Application.EnableEvents = True
End Sub

Előzmény: Delila10 (21492)
Eredő Vektor Creative Commons License 2013.06.11 0 0 21496

pl. a right-es megoldás működik 99-ig, de utána már nem. (A példánál maradva: 2 évben lehet 99-nél több hét is - hisz életszerű lehet)

Előzmény: Törölt nick (21493)
Eredő Vektor Creative Commons License 2013.06.11 0 0 21495

az összefüggést nem annyira értem - egyébként az említett függvények tulajdonsága, hogy használatuk során egy számból szöveg lesz

Előzmény: Törölt nick (21493)
pimre Creative Commons License 2013.06.11 0 0 21494

"Persze ha valami miatt fontos a lapok sorrendje, akkor ez a megközelítés nem jó."

 

Feltételezem, hogy ha fontos is a lapok sorrendje, az nem az adatbevitel közben érdekes. Ezért el tudom képzelni, hogy elegendő a munkafüzetből való kilépéskor helyreállítani:

 

Private Sub Workbook_BeforeClose(Cancel As Boolean)

    Application.EnableEvents = False

    Application.ScreenUpdating = False

    ThisWorkbook.Worksheets("Munka1").Move before:=Worksheets(1)

    Application.ScreenUpdating = True

    Application.EnableEvents = True

End Sub

 

Előzmény: Törölt nick (21484)
Törölt nick Creative Commons License 2013.06.11 0 0 21493

Igaz, en jellemzoen szamokkal dolgozom ezert a RIGHT/LEFT/MID-et gyakrabban hasznalom. Vegulis mindegy :)

Előzmény: Eredő Vektor (21491)
Delila10 Creative Commons License 2013.06.11 0 0 21492

Ez klassz!

 

Mit kellene a feltételhez fűzni, hogy pl. max az 5. lap kiválasztásáig tegye elé a Munka1 lapot?

Előzmény: Törölt nick (21484)
Eredő Vektor Creative Commons License 2013.06.11 0 0 21491

RIGHT("0"&Hét.száma("dátum";2),2)

helyett

 

inkább így: 

szöveg(Hét.száma("dátum";2);"00")

 

(persze az eredmény ugyanaz, csak azt akartam megmutatni, hogy erre is van jól célzott függvény)

 


Előzmény: Törölt nick (21490)
Törölt nick Creative Commons License 2013.06.11 0 0 21490

A lenti kepletet kell modositani:

 

=ÉV("dátum") &". "&RIGHT("0"&Hét.száma("dátum";2),2)

 

Ez azt csinalja, hogy minden hét ele berak egy nullat, majd jobbrol (azaz a vegerol visszafele) 2 szamjegyet mutat. Ergo 1-bol 01 lesz es 01 latszik, 12bol 012 lesz de szinten csak 12 latszik.

 

Megj.: a RIGHT-ot nemtom mi magyarul, majd az okosok megmondjak :)

Előzmény: mimi_bacsi (21488)
mimi_bacsi Creative Commons License 2013.06.11 0 0 21489

 

Így néz ki...:-(

mimi_bacsi Creative Commons License 2013.06.11 0 0 21488

Köszönöm a válaszodat!

 

Azt, hogy a hét száma ne 1 helyértékű legyen (pl.: 1) hanem két helyértékű (pl.: 01), azt hogy lehet elérni? (mert a 2. hét után a 20., a 21....heteket jeleníti meg)

Előzmény: Eredő Vektor (21487)
Eredő Vektor Creative Commons License 2013.06.11 0 0 21487

pl:

ÉV("dátum") &". "&Hét.száma("dátum";2)

Előzmény: mimi_bacsi (21485)
mimi_bacsi Creative Commons License 2013.06.11 0 0 21486

Az megoldás, hogy két külön oszlopba megjelenítem az évet (BAL függvénnyel) majd a hetet (WEEKNUM_ADD függvénnyel) majd egy harmadik oszlopba összefűzöm a két oszlop adatát.
Van ennél egyszerűbb? 

Előzmény: mimi_bacsi (21485)
mimi_bacsi Creative Commons License 2013.06.11 0 0 21485

Szeretnék dátum adatokból grafikont készíteni, ami az elmúlt hetek adatait tartalmazza. A feladatom az, hogy már a tavalyi adatokat (heteket) is meg kell jelenítenem. Hogy lehet dátumból (2012-11-20 vagy 2013-02-10) olyan formátumot készíteni függvénnyel, ami tartalmazza az adott évet és hetet. (pl.: 2012. 47 vagy 2013. 09)

Törölt nick Creative Commons License 2013.06.11 0 0 21484

Én ezzel próbálkoznék:

 

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Application.EnableEvents = False
    Application.ScreenUpdating = False
    If Sh.Name <> "Munka1" Then
        ThisWorkbook.Worksheets("Munka1").Move before:=Sh
    End If
    Sh.Activate
    Application.ScreenUpdating = True
    Application.EnableEvents = True
End Sub

 

A kód mindig az éppen aktivált lap elé teszi a Munka1 nevű lapot. (Célszerű is a Munka1 fülét átszínezni, és akkor jobban látszik, hogy melyik az.)

Persze ha valami miatt fontos a lapok sorrendje, akkor ez a megközelítés nem jó.

Előzmény: Alta Mira (21472)
pimre Creative Commons License 2013.06.11 0 0 21483

Erre én is kíváncsi voltam, és kipróbáltam. Lehet, hogy valamit félreértek, de nekem nem egészen azt teszi, amit Alta Mira szeretne.

Mivel a szerző nem írja, hogy a makrót hova kell tenni, hát a Workbook SheetActivate funkciójához rendeltem:

 

Private Sub Workbook_SheetActivate(ByVal Sh As Object)

Worksheets(1).Activate

End Sub

 

Ez működik is, csak éppen egy kicsit jobban a kelleténél. Ugyanis bármely munkalapra kattintok, azonnal visszaugrik az első munkalapra. Naná, hiszen azt aktiválja. Csak éppen ezzel nem lehet dolgozni másik munkalapon. És nem is látszik egyszerre két távoli munkalap neve egy képernyőn.

Előzmény: Törölt nick (21477)
Eredő Vektor Creative Commons License 2013.06.10 0 0 21482

Egyébként tényleg hasznos lenne

Előzmény: Alta Mira (21480)
Alta Mira Creative Commons License 2013.06.10 0 0 21481

Köszi, bár nem értek mindent a leírásból, de megpróbálom megoldani ez alapján. Próbáltad megcsinálni? Működik?

 

Előzmény: Törölt nick (21477)
Alta Mira Creative Commons License 2013.06.10 0 0 21480

Nem akarom egyszerre látni a két megnyitott munkalapot, csak azt szeretném, hogy az első munkalapfül mindig elérhető legyen.

 

Végülis eléggé részletkérdésnek tűnik a probléma, mert csak kicsit odébb kell görgetni... de nem magamnak csinálom, hanem a "megrendelő" így kéri. Mondtam, hogy tudtommal nem lehet így beállítani, de elkezdtem gondolkodni rajta, és már érdekel a megoldás. Amúgy érdekes kérdés az is, hogy vajon miért nem lehet ezt egyszerűen beállítani, mint a panelek rögzítésénél (erre miért nem gondoltak a program készítői)?

 

 

Előzmény: Eredő Vektor (21478)
Sánta Kutya (SK) Creative Commons License 2013.06.10 0 0 21479

Jaja, létezik akkora monitor. :-)

Előzmény: Eredő Vektor (21478)
Eredő Vektor Creative Commons License 2013.06.10 0 0 21478

javaslat:

Nézet/Új ablak - ekkor ugyanazt a munkafüzetet nézetként duplikálod egy új ablakban.

Az egyikben kiválasztod az első munkalapot, a másikban a másikat.

 

Nézet/Mozaik/Egymás mellett

Így már tudsz dolgozni, hogy látod az első munkalapot, és azt is, amiben dolgozol.

Előzmény: Alta Mira (21472)
Törölt nick Creative Commons License 2013.06.10 0 0 21477
Előzmény: Alta Mira (21475)
pimre Creative Commons License 2013.06.10 0 0 21476

Az nem lenne megoldás, hogy a 30 munkalapból néhányat elrejtesz, hogy mindig az összes nem elrejtett görgetés nélkül látsszon? Ha ez jó, akkor a VBA ablakban az elrejtendő munkalapok visible tulajdonságát hidden-re kell állítanod.

Előzmény: Alta Mira (21472)
Alta Mira Creative Commons License 2013.06.10 0 0 21475

Hogy googleztad meg? Mit írtál be?

 

Előzmény: Törölt nick (21474)
Törölt nick Creative Commons License 2013.06.10 0 0 21474

Macroval lehet ilyet csinalni. En ragoggleztam es egy rakat pelda van csak az elso nehany talaltban :)

Előzmény: Alta Mira (21472)
Delila10 Creative Commons License 2013.06.10 0 0 21473

Tudtommal ezt nem lehet megoldani, de előfordulhat, hogy csak én nem ismerem a módját.

 

Van azonban megoldás, nézz el ide: http://exceldailytip.blogspot.hu/2009/04/tip-49-camera-tool-in-excel.html

Előzmény: Alta Mira (21472)
Alta Mira Creative Commons License 2013.06.10 0 0 21472

Sziasztok!

 

Az lenne a kérdésem, hogy egy több munkalapos excelben az első munkalap fülecskéje mindig látható legyen?

A probléma az, hogy van egy 30 lapból álló munkafüzetem, az első munkalapon egy összesítő táblázat van. Azt szeretném megoldani, hogy ez az összesítő munkalapfül akkor is látható legyen, amikor mondjuk a 29. munkalapot töltöm ki, hogy oda kattintva meg tudjam nézni az összesítést is, ne kelljen görgetnem a munkalapfüleket az elejére. (Hasonlóan, mint amikor paneleket rögzítek egy munkalapon.)

Remélem van erre megoldás, előre is köszönöm a válaszokat.

 

Üdv

Delila10 Creative Commons License 2013.06.05 0 0 21471

Részemről szívesen. :)

Előzmény: maciti (21470)
maciti Creative Commons License 2013.06.05 0 0 21470

Köszönöm a gyors válaszokat! Most már szerintem boldogulok!

Előzmény: Delila10 (21469)
Delila10 Creative Commons License 2013.06.05 0 0 21469

A H1 cellába írtam egy számot.  Végig lépkedek a D oszlop celláin. Amelyik sorban a H1-nél kisebb szám van, vagy üres a cella, vagy nem számértéket tartalmaz, azt a sort törli. Sortörlésnél az alsó sortól kell indulni felfelé, másképp nem kapsz jó eredményt.

 

A makróba ***-gal jelölt sorokat írtam, amik nem szükségesek a feladathoz, de megtudod belőlük a hasznos terület címét. Ebből veszem az usor változó értékét.

A D oszlop utolsó sorát így is megkaphatod:

usor = Range("D" & Rows.Count).End(xlUp).Row, ebben az esetben nincs szükség a csillagos sorokra.

 

Sub mmm()

    Dim ter As Range, sor As Integer, usor As Integer

    Dim cella As Range

 

    Range("A1").Select  '***

    Set ter = Selection.CurrentRegion   '***

    MsgBox ter.Address 'Így tudod meg a területed címét ***

 

    usor = ter.Rows.Count   'A terület utolsó sora

 

    For sor = usor To 1 Step -1

        Set cella = Range("D" & sor)

        If cella = "" Or cella < Range("H1") Or Not IsNumeric(cella) Then

             Rows(sor).EntireRow.Delete

        End If

    Next

End Sub

 

 

Előzmény: maciti (21463)
E.Istvan Creative Commons License 2013.06.05 0 0 21468

Helyesen

Workbooks.Open Filename:=ThisWorkbook.Path & "\jancsika.csv", local:=True

Előzmény: E.Istvan (21467)
E.Istvan Creative Commons License 2013.06.05 0 0 21467

Egyszerű primitív módszerrel:Sub program()
    Workbooks.Open Filename:=ThisWorkbook.Path & "jancsika.csv", local:=True
    Cells.Select
    Selection.Replace What:=Chr(13) & Chr(10), Replacement:=" ", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:="jancsika.csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True
    Application.DisplayAlerts = True
    Selection.Copy
    Workbooks.Add
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Workbooks("jancsika.csv").Close SaveChanges:=False
End Sub

Előzmény: Sánta Kutya (SK) (21462)
Jozsef Creative Commons License 2013.06.05 0 0 21466

Nem tudom milyen a tábláid szerkezete, de ha az 1. sorban a mezőnevek, alatta további sorokban az adatok vannak, és más semmi (pl. összegző sor alul stb), akkor a A:D hivatkozással is végezheted az adatbázis műveleteket.

 

 

Előzmény: maciti (21463)
E.Istvan Creative Commons License 2013.06.05 0 0 21465

A legegyszerűbb módszer, ami nem igényel  magasabb ismereteket ha elnevezed a tartományt.
Kijelölöd a kérdéses területet és a szerkesztőléc bal oldalán a név mezőbe beírsz egy nevet mondjuk „alapadatok”
Range("A1:E20").Select helyett Range("alapadatok").Select

Előzmény: maciti (21463)
Törölt nick Creative Commons License 2013.06.05 0 0 21464

Azt nem tudom hogy makroba hogy kell integralni, de ha az adathalmazra nyomsz egy "format as table" opciot akkor az ad neki egy nevet (Table1 pl.) amire aztan hivatkozhatsz a makroban.

Előzmény: maciti (21463)
maciti Creative Commons License 2013.06.05 0 0 21463

Sziasztok!

 

Visszaolvasva korábbi kérdéseket próbáltam megoldást találni az alábbi problémára, de nem találtam.

A következőről lenne szó. Néhány feladatnál próbálok makró rögzítéssel, majd futtatással gyorsítani a munkámon. Ez több kevesebb sikerrel működik is. Egy olyan számomra VB-ben megoldhatatlannak látszó problémába ütköztem, amiben szeretnék segítséget kérni:

Változó nagyságú adatbázisokon szeretnék bizonyos műveleteket elvégezni, pl törölni. Ehhez valamilyen feltételeknek megfelelő sorokat kellene kijelölni és azt törölni. Viszont ezek a feltételek egy cellában helyezkednek el.

Konkrétan:

Az adatbázis mérete A1:D25, és ebből azokat a sorokat szeretném törölni, amelyikben a D oszlop adatai közül pl. nagyobb mint 100, vagy amelyik pl üres, vagy nem tartalmaz számot stb.

Viszont ha egy hagyományos módon rögzített makróval akarom ezt megoldani, akkor ezt nem érzékeli egy más méretű adatbáziban, csak az eredeti rögzítéskor kijelölt cellákkal hajtja végre a műveletet.

(Nem vagyok otthon VB-ben csak amit saját magam ellestem a makro készítése közben az Excel-től Amit próbáltam: hogy beírok a     Range("A1:E20").Select –ben a 20 helyére valami cellahívatkozást, vagy képletet de ez nagy hülyeség…)

 

Köszönettel veszek minden segítséget

Szabó Tibor

 

Sánta Kutya (SK) Creative Commons License 2013.06.04 0 0 21462

A következő makróval tudna boldoggá tenni valaki, nem tudom, mekkora munka ez. (Off. 2007)

A táblázattal azonos könyvtárban levő, fix nevű csv-t (pl. jancsika.csv) nyissa meg, cserélje le benne globálisan a CRLF (CHR(13)CHR(10)) előfordulásokat egy-egy szóközre (a sima LF marad), és mentse el, majd importálja új üres munkafüzetbe a következő paraméterekkel:

  • tagolt
  • kódolás UTF-8
  • tagolójel pontosvessző
  • szövegjelölő idézőjel
  • egymást közvetlenül követő szövegjelölők nem számítanak egynek (nincs pipa)

Tud ebbe valaki segíteni?

Az első feléhez nem kéne Excel, de így egy menetben lefutna és nem kéne még egy program (mivel nem én fogom használni).

pimre Creative Commons License 2013.06.04 0 0 21461

Nagyon kösz. Ez tökéletesen azt teszi, amit szerettem volna.

Előzmény: Retro Image (21430)
tbando Creative Commons License 2013.06.02 0 0 21460

Alt F11 után beillesztesz egy új modult az Insert/Modul paranccsal, majd ctrl+c ctrl+v -vel bemásolod a makrót.

 

 Utána kijavítod. Ugyanis megfeledkeztem arról, hogy ez a kurva fórummotor elzabrálja a blackslash \ jelet. Tehát a Path után nem "" van, hanem "\".  Azaz helyesen a sor:

 

 a = ActiveWorkbook.Path & "\" & "statutso" & b ".xlsm"

 

Ha akarod, átírhatod még a „statutso”-t filenevet neked valami kedvezőbbre, és persze a dimorphystatmentés makrónevet is.

 

A makró futtatásakor az ALT F8 listából kiválasztod és Run.

 

A makró a filet xlsm-be (tehát makróbarátként) menti, tehát nem csak munkalapokat de a makrót is menti. Ez sajnos problémát okozhat, mert  a biztonsági beállításaitok nem biztos, hogy engedik megnyitni. Akkor azokat át kell állítani. Vagy ha ezt nagyon nem akarjátok, továbbfejlesztem a makrót, hogy xlsx-ben mentsen.

 

 

Előzmény: djmorphy (21459)
djmorphy Creative Commons License 2013.06.02 0 0 21459

Köszi szépen! 
Az irányított beillesztés eszembe nem jutott volna... :)

Erről a makróról tudnál mondani valamit? Semmilyen szinten nem tudok makrózni de ezt a mentés dolgot automatizálnám amennyire csak lehet. Már ha azt csinálja. Mit csinál esetleg hova kell beírnialt(alt+f11?) és hol futattom? 

Előzmény: tbando (21458)
tbando Creative Commons License 2013.06.02 0 0 21458

Megcsinálható.  Én úgy csinálnám, hogy nem a Munkafüzeteket menteném  stabilra , hanem a statfüzetet, pdf-ként, vagy html-ként.  Vagy akár xlsx-be is, ha elötte a stat munkafüzet hivatkozásait  fixálnám  a ctrl+c/irányitott beillesztés/érték paranccsal. Persze nem sima mentéssel mentenék, hanem mentés másként-tel, mondjuk „utsostat” néven.  Vagy ami még jobb: utsostat&datum néven.

 

Ezt  viszonylag egyszerűen bebillentyüzheted, de itt egy makró is rá:

 

Sub dimorphystatmentés()

    Dim a, b

    Cells.Select

    Selection.Copy

    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

        :=False, Transpose:=False

    Application.CutCopyMode = False

    b = Date

    a = ActiveWorkbook.Path & "" & "statutso" & b ".xlsm"

   ActiveWorkbook.SaveAs Filename:=a, _

        FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

End Sub

 

Előzmény: djmorphy (21457)
djmorphy Creative Commons License 2013.06.02 0 0 21457

Köszi szépen az infót! :)

 

 

Most kértés merült fel bennem hogy meg lehet-e oldani, hogy van egy összesítő táblázatom ami különböző excel file-okból szedik ki az infót a felsővezetésnek.

Kérdésem az hogy meg lehet-e oldani hogy az utolsó infókat "jegyezze meg statikusan"(mintha statisztika.xlsx-be pötyögtem volna be unalmamba) az excel vagy minden Munkafüzetet le kell mentegetnem mindig a hivatkozások miatt pdf-be vagy html-be?

Előzmény: tbando (21433)
Sánta Kutya (SK) Creative Commons License 2013.05.31 0 0 21456

Adok nektek egy jó tanácsot teljesen ingyen! Sose rejtsétek el azt az oszlopot, ahol a szűrő be van kapcsolva, ha látni akarjátok az összes sort! Ááááá....

tbando Creative Commons License 2013.05.31 0 0 21455

Tudja valaki, hogy az hol van leírva, hogy a#=2*b% típusú képletben a double adattipusú a# változó értéke nem léphet ki az integerekre megadott intervallumból?  És hogy miért van ez?  

alairta1 Creative Commons License 2013.05.31 0 0 21454

A kérdésre válaszolva: msgbox csak akkor jön fel ha engedélye van rá. A konkrét fileben egy form jön fel amit a megrendelőnek ki kell tölteni. Semmi másra nincs jogosultsága. A raktári oldal csak két dolgot tehet: elvégezte a műveletet illetve nyomtani akar. A megfeelő helyre pipát tesz. Változtatni a táblázatban egyik sem tud.

Előzmény: Eredő Vektor (21452)
alairta1 Creative Commons License 2013.05.31 0 0 21453

Nincs gazdagép. Van egy Excel file a hálózatban ami megosztott. A különböző gépek shortcut-tal kapcsolónak rá. A mikor valaki műveletet kezdeményes akkor egy makró megnézi, hogy milyen jogosultsági csoportba tartozik. Csak azt engedélyezi amit neki elő van írva. Két fő csoport van. Az egyik a raktár, másik az összes többi. Az első indításkor a gépeken feljön egy kérdés: raktár vagy megrendelő vagy. Ez a kérdés többször nem jön fel.

Előzmény: Eredő Vektor (21452)
Eredő Vektor Creative Commons License 2013.05.31 0 0 21452

Az hogy viselkedne megosztott munkafüzetnél, ha selection change eseményre írsz egy sima msgbox-ot a változás helyével/tartalmával? Csak a gazdagépen jelenne meg?

Előzmény: alairta1 (21451)
alairta1 Creative Commons License 2013.05.31 0 0 21451

Így oldottam meg:

Amikor valaki befejezi az adatbevitelt akkor azt egy gombbal lezárja ami elindít egy kb. így kinéző makrót ami 5 perc múlva teljesképernyőre felnyitja a megnevezett gépen a kicsire csukott lapot:

 

Dim PauseTime, Start

Set wsn = CreateObject("WScript.Network")

If wsn.UserName=’raktari gép neve’

          PauseTime = 300    ' Set duration.

          Start = Timer      ' Set start time.

          Do While Timer < Start + PauseTime

                DoEvents        ' Yield to other processes.

          Loop

         Application.DisplayFullScreen = True

 End If

 

 

Előzmény: Törölt nick (21450)
Törölt nick Creative Commons License 2013.05.31 0 0 21450

Esetleg vmi segedprogram ami figyeli h az adott file mikor valtozik (timestamp-et/meretet nezi) es sikit ha valtozott? Konkretan nem ismerek ilyet, de biztos van milliofele.

Előzmény: alairta1 (21447)
tbando Creative Commons License 2013.05.30 0 0 21449

Azt miért nem lehet megcsinálni, hogy a frissitő utasítás egy excel formázási parancsot is küld?

 

Pl. Feltételesen formázottak a raktári munkalapok, teszem azt ha A1=0 akkor a cellák szine normal, ha A1=1 akkor meg sárga.  Ha ezekután a frissitéssel megy az  A1=1 parancs is, akkor a munkalapok sárgára váltanak, esetleg valami szöveg is láthatóvá válik,  amit aztán a raktáros, miután tudomásul vette a változást, A1=0 -val visszavált. 

Előzmény: alairta1 (21447)
alairta1 Creative Commons License 2013.05.30 0 0 21448

A filet megosztod.

 

ThisWorkbook -ban:

Private Sub workbook_open()
   AutoUpdateFrequency = 5
End Sub

 

5 percenként frissit anélkül, hogy zavarna.

Előzmény: E.Istvan (21441)
alairta1 Creative Commons License 2013.05.30 0 0 21447

Egy érdekes és szokatlan probléma megoldásához kérnék segitséget.

Adott egy excel file egy belső hálózatban ami meg van osztva egy vagy több raktári géppel illetve a raktárnak a megrendelést feladó gépekkel. Bárhol történik valami változás az 5 percen belül megjelenik az összes gépnél. Ez rendben működik egy kis hibával. A raktári gépeken szükség lenne valami jelzésre, hogy változás történt azaz megrendelés érkezett. Jó megoldás lenne az automatikus megnyitása a filenek vagy a kicsire csukott excel  lap felugrása ezetleg egy pop-up balak automatikus felugrása.

Köszönettel vennék bármilyen használható ötletet.

tbando Creative Commons License 2013.05.30 0 0 21446

Másképpen mondva azt hívom frissítésnek, amikor egy ikonra kattintással vagy menüpont kiválasztásával vagy billentyűkombinációval bezárás nélkül frissül valami.

 

Akkor mégiscsak ugyanarról beszélünk. Mert ezeket az excel mind tudja:  Office-gomb/Legutóbbi dokumentumok/ 1.számú file megnyitása

 

E kattokhoz rendelhetsz ikont is, billentyű kombinációt is.

 

Egyébként szerény véleményem szerint akkor igazán hasznos a frissítés, ha nem csak a frissült állapotot mutatja, hanem magát a frissitést is jelzi. Hasonlatosan a doc-filek korrektura összehasonlításához. Ilyet az excel valóban nem tud. Tudtommal legalábbis. 

 

 

 

 

Előzmény: Sánta Kutya (SK) (21440)
Jozsef Creative Commons License 2013.05.30 0 0 21445

Gyakorlatilag, ugyanaz a probléma mindkettő, ha gombnyomásra már menne, akkor egy timer segítségével kvázi real-time is.

Igazából használható co-authoring még csak webes alkalmazásoknál láttam Google Doc, Excel web app, de ezek mögött ott van az AJAX.

 

Előzmény: Sánta Kutya (SK) (21444)
Sánta Kutya (SK) Creative Commons License 2013.05.30 0 0 21444

Köszi!

Igazából nekem az is elég lenne, ha akkor látnám, amikor egy gombot megnyomok (pont mint itt a fórumban), de ha nem, akkor nem.

Előzmény: Jozsef (21443)
Jozsef Creative Commons License 2013.05.30 0 0 21443

Alapból jól látod, Excelben nem lehet. Ha jól értem, a Google Docs-hoz hasonlót szeretnél, valaki módosít, a másik pár pillanat múlva már látja magánál a módosítást. A Sharepont 2013 segítségével és  új Office verzióval meg lehet majd csinálni. 

http://technet.microsoft.com/en-us/library/ff718249.aspx

 

Előzmény: Sánta Kutya (SK) (21442)
Sánta Kutya (SK) Creative Commons License 2013.05.30 0 0 21442

Köszi, ezeket is tudom. A frissítés célja az, hogy lássam, ha változik valami. Feltettem egy egyszerű kérdést, amire senki nem meri azt mondani, hogy nem lehet, pont, hanem ehelyett mindenféle ekézéseket kapok. Köszi szépen. Lapozzunk.

Előzmény: E.Istvan (21441)
E.Istvan Creative Commons License 2013.05.30 0 0 21441

Milyen célból kellene neked frissíteni? Ha az Excel folyamatosan jelezné, hogy a hálózaton lévő fájlban a felhasználók módosításokat végeznek, az felesleges energia pazarlás lenne. Én biztos gutaütést kapnék, hogy két percenként jönne a figyelmeztetés, hogy valaki módosította az adatokat. Amikor olvasásra kivetted a fájlt, kvázi tudomásul vetted, hogy az akkori állapotot látod. Ha egy óra múlva meg akarod nézni, akkor újra megnyitod. Nem kell bezárnod sem, csak újra rá kell nyitni.

Egy esetben működik egy frissítésnek nevezhető funkció. Ha valaki megnyitja a fájlt, majd ezután te is megnyitod, akkor te már csak olvasásra tudod megnyitni, azonban feldob egy ablakot, amiben felajánlja, hogy értesít, amikor felszabadul a fájl.

„A fájl zárolva van szerkesztésre. Megnyithatja ’Olvasásra’, vagy válassza az ’Értesítés’ gombot, ha az olvasásra való megnyitás mellett értesítést is kér, mikor a dokumentum használatát befejezték.”

Ha másik felhasználó bezárta a fájlt, akkor a következő üzenetet kapod:

„A fájl már elérhető szerkesztésre. Szerkesztéshez válassza az ’Írásra is’ gombot.”

Ezután nálad nyílik meg szerkesztésre.

Előzmény: Sánta Kutya (SK) (21440)
Sánta Kutya (SK) Creative Commons License 2013.05.30 0 0 21440

Másképpen mondva azt hívom frissítésnek, amikor egy ikonra kattintással vagy menüpont kiválasztásával vagy billentyűkombinációval bezárás nélkül frissül valami.

 

Nagyon sok weboldal egyébként még jelzi is, hogy mikor kéne frissíteni! És nem teljes újratöltéssel. Gondolom, AJAX van ezek mögött.

Előzmény: tbando (21438)
Sánta Kutya (SK) Creative Commons License 2013.05.30 0 0 21439

De ne csináljunk már úgy, mintha a piros lámpánál üresbe tenni az autót és a zöldnél egyesbe ugyanaz volna, mint leállítani a motort, kiszállni, bezárni, visszaszállni... A köznyelvi szóhasználat szerint értettem a frissítést, ahogy pl. egy könyvtárlistánál is. A weblap pont rossz példa, mert a weblapok képesek saját magukat frissíteni mindenféle technikákkal még akkor is, maikor nem akarom, de ott se szeretném bezárni a böngészőt vagy azt a fülét, majd újra nyitni egy üres fület, újra beírni az URL-t és újra legörgetni a lap közepéig. Egész egyszerűen nem ezt hívják frissítésnek.

Szóval lényegében azt mondtad, hogy nem lehet frissíteni, csak jó bonyolultan.

Előzmény: tbando (21438)
tbando Creative Commons License 2013.05.30 0 0 21438

Újra betöltés alatt bezárás/megnyitást értesz? Mert az nem frissítés.

 

Már miért nem?  Amikor F5-tel frissítesz egy weblapot, akkor is ez történik, újra megnyitod a weblapot, ami felülírja a régit. Vagy te mit nevezel frissítésnek? Írd meg kérlek, hagy okosodjak. 

 

Újra betöltés alatt érthetem a bezárás/megnyitást is, de a bezárás az excelnél ugyanúgy elhagyható mint a weblapok újra megnyitásánál.

 

A calculate alatt az F9-t értem. Ha csatolásban vagy a másik fájllal, akkor lehet ezt alkalmazni. De az egyidejűleg megnyitott munkafüzetek között nincs csatolás. Legalábbis E.István  21368 sz. hsz-e alapján ezt szűrtem le. De te is valami ilyesmit írtál, amikor  írtad hogy nincs real time kapcsolat a megnyitott munkafüzetek között.  

 

 

Előzmény: Sánta Kutya (SK) (21435)
Törölt nick Creative Commons License 2013.05.29 0 0 21437

Ja kimaradt, hogy a 2. pontbeli honap oszlop melle kell meg egy VLOOKUP(honap,mellektabla,2,0) amit az IF fv hasznal.

Előzmény: Törölt nick (21436)
Törölt nick Creative Commons License 2013.05.29 0 0 21436

Sztem a legegyszerubb az volna hogy:

 

1. Csinalsz egy mellektablat a 12 honappal, mellettuk pedig jeloltheted h aktiv  v inaktiv.

2. Az A:C oszlopok melle csinalsz egy 4. sort amiben a MONTH() fuggvennyel kiszeded a honapot csak.

3. Egy ujabb oszlopban csinalsz egy IF(AND(honap=aktiv,nap=aktiv),"aktiv","inaktiv")-et

4. A SUMIF()-t erre a 3. oszlopra hivod le.

 

(Nyilvan van ennek jobb modja, de hirtelen ez jutott eszembe)

Előzmény: djmorphy (21432)
Sánta Kutya (SK) Creative Commons License 2013.05.29 0 0 21435

Újra betöltés alatt bezárás/megnyitást értesz? Mert az nem frissítés.

A másodikat nem értem, hogy pontosan mire gondolsz. Az F9-re?

Előzmény: tbando (21434)
tbando Creative Commons License 2013.05.29 0 0 21434

A frissítés vagy a file újra betöltésével vagy egy calculate végrehajtásával történik.  Ezek az excelben is simán elérhetők..

Előzmény: Sánta Kutya (SK) (21431)
tbando Creative Commons License 2013.05.29 0 0 21433

Nem biztos, hogy jól értem a feladatot. De ha arról van szó, hogy megadnak neked egy dátumot, hogy addig összegezd a január 1-től a C-oszlopban levő aktív értékeket, akkor azt javaslom hogy  a D10-be írd be a dátumot, majd a  D oszlopba D16-tól ezt a képletet:

 

 = HA(A16>$D$10;”inaktiv”;B16)

 

A szumha függvény összeadását pedig a D oszlop vezérelje.

 

Amit nem értek, hogy az inaktív napok  C értékei hogy-hogy  nem nullák. 

 

Előzmény: djmorphy (21432)
djmorphy Creative Commons License 2013.05.29 0 0 21432

Sziasztok!

 

A következőt szeretném megvalósítani de elakadtam és ebben kérnék egy kis segítséget

 

Visszamenőleg is kell adatokat szolgáltatnom. Azaz pl ma kérték tőlem április 31-i állapotot.

Eddig úgy oldottam meg, hogy van egy cellám a B10-ben aminek ez a függvénye:

==SZUMHA($B16:$B402;"aktív";$C$16:$C$402)+$D$415

 

A oszlop a hónap és a nap jelöli. A16 január 1 és A402 december 31

B oszlop egy legördülő lista, hogy aktív vagy inaktív ami napi szinten tudok beállítani

C oszlopban vannak az értékek

 

A tábla stuktúrája úgy néz ki hogy a január az A16-tól A46-ig tart.

Minden egyes nap mellet ott van az aktív szó így figyelembe veszi a szumha() függvény. Ha a legördülő listából inaktívra teszem pl a január 14-et akkor az az napi értéket a C oszlopból nem adja hozzá az összeshez. 

 

Kérdésem, hogy nem lehet-e ezt hónap szintjén megoldani? Azaz most kérték tőlem az április 31-i állapotot akkor jelenleg május1-től május 29-ig egyesével átbillentgetem inaktívra.

Tehát két dolgot kellene figyelnie. Aktív-e a hónap és Aktív-e a nap. Ha a hónap aktív akkor számolni kezdi kivétel azokat amelyik a tárgyhóban inaktív napra van állítva. De ha inaktív már maga a hónap akkor át is ugorja az összesítést

Sánta Kutya (SK) Creative Commons License 2013.05.29 0 0 21431

Megnyitottam Excel 2007-ben egy táblázatot csak olvasásra, tehát más meg írhat bele. Hogy tudok értesülni erről és frissíteni? Létezik az, hogy tele van az egész számítógépem fríssítés parancsokkal, csak az Excelben nincs ilyen?

Retro Image Creative Commons License 2013.05.28 0 0 21430

A dolog ennél sokkal bonyolultabb. A "Kilép" gomb Cancel tulajdonságát állítsd True-ra.

:o)

Előzmény: pimre (21429)
pimre Creative Commons License 2013.05.28 0 0 21429

Sziasztok, egy újabb kérdésem lenne. Szerettem volna, hogy egy userformról a Kilép gomb mellett ESC megnyomásával is ki lehessen lépni. Azt tudom, hogy az Excel nem ismer LastKey típusú lekérdezést, ezért eseményvezérléssel  próbálkoztam. A rendszer szépen megengedi, hogy létrehozzam a Userform_KeyUp, meg a _KeyPress funkciókat, de egyikre sem kerül rá a vezérlés. Lehetséges, hogy ezek csak a userformon belüli objektumokon érvényesek? 

Sánta Kutya (SK) Creative Commons License 2013.05.26 0 0 21428

Vagyis ilyesmi. :-)

Előzmény: Sánta Kutya (SK) (21427)
Sánta Kutya (SK) Creative Commons License 2013.05.26 0 0 21427

Jaja, amikor már azon gomnfolkodik az ember, hogy a fülek nevére is kéne egy kereső, az nem jó jel. :-)

Előzmény: Törölt nick (21405)
pimre Creative Commons License 2013.05.26 0 0 21426

Köszönöm, tökéletesen működik.

Előzmény: Törölt nick (21419)
Shadow Angel Creative Commons License 2013.05.26 0 0 21425

Kezdem kapiskálni!! :)

 

Még egyszer nagyon szépen köszönöm!!!!! :)

Előzmény: Törölt nick (21423)
Shadow Angel Creative Commons License 2013.05.26 0 0 21424

Egyébként működik!!!! :)

Köszönöm!!!

 

Most már csak meg kell értenem!! :)

Előzmény: Shadow Angel (21422)
Törölt nick Creative Commons License 2013.05.26 0 0 21423

Tök mindegy, mi van az A1-ben. A képlet az A1 cella sorának számával operál, ez meg független a cella tartalmától. Sőt, lehetne az A1 helyett B1, C1, D1, stb. mindegy, csak 1-re végződjön.

Előzmény: Shadow Angel (21422)
Shadow Angel Creative Commons License 2013.05.26 0 0 21422

Köszönöm a választ, kipróbálom, csak egy kérdés. mi van az A1 cellában?

Nálam az A és B oszlopban ezek az adatok vannak:

A                                                B

'2012.01.01.  00:00 - 00:15       42,88

'2012.01.01.  00:15 - 00:30       43,040

'2012.01.01.  00:30 - 00:45       42,320

...

...

...

Persze az A oszlop adataiból ki tudom szedni a megfelelő idő adatokat, de az még nem oldotta meg a gondomat. :(

 

 

Előzmény: Törölt nick (21418)
syrius Creative Commons License 2013.05.25 0 0 21421

Na sikerült, rábukkantam a megoldásra. Új formázási szabály , Formázandó cellák kijelölése képlettel móddal összejött.  

Előzmény: syrius (21420)
syrius Creative Commons License 2013.05.25 0 0 21420

Egy másik megoldás, hogy az eredménycellákba minden faxni nélkül beírod az eredményeket, de a láthatóságukat feltételes formázással szabályzod. Pl ha $a$1="" akkor a fontok szine egyezzen meg a cellaháttér színével (lehet választani a fehérszint is). Ekkor az eredmény csak akkor fog látszódni, ha a1-be beírsz valamit. A cellák írásvédetsége természetesen itt is megfontolandó.

 

Állj! Lehet, hogy bénázok, de úgy látom, hogy a feltételes formázás az adott cella értékétől teszi függővé annak formátumát. Tehát ha pl. a szám pozitív, akkor piros, egyébként meg fekete.

Én azonban azt szeretném, hogy egy "kapcsolóként" használt cella tartalmazza meg néhány másik cella formátumát. Tehát ha A1-be beírok 1-et, akkor a B oszlop színe fehér, egyébként fekete. A feltételes formázásnál ilyet nem találtam, (de ez nem jelent semmit :-)

 

Előzmény: tbando (21282)
Törölt nick Creative Commons License 2013.05.25 0 0 21419

Function adatfilenyit(filenév As String) As Boolean
    Application.DisplayAlerts = False
    If Dir(filenév) = "" Then ' Ha a file nincs meg a kívánt helyen
        MsgBox "A programfutás feltétele a " + filenév + " file megléte. Kérem pótolni!"
    Else
        While adatfilenyit = False
            On Error GoTo nincsjelszo
            Workbooks.Open Filename:=filenév
            adatfilenyit = True ' Ekkor jó a megnyitás
ujra:
        Wend
    End If
    Application.DisplayAlerts = True
    Exit Function
nincsjelszo:
    If Err > 0 Then
        If Left(Err.Description, 27) = "A beírt jelszó érvénytelen." Then
            MsgBox "Hibás jelszó. Kérem javítani!"
            Err.Clear 'Hibajelzés (szám és szöveg) törlése
            Resume ujra
        Else
            MsgBox "Hibaüzenet: " & Err.Description ' Ez egy tesztsor, ami megkülönbözteti a rendszer automatikus hibaüzeneteitől
        End If
    End If
    Application.DisplayAlerts = True
End Function

Előzmény: pimre (21414)
Törölt nick Creative Commons License 2013.05.25 0 0 21418

Ha az adataid szabályos rendben, mindig 15 percenként követik egymást, összefüggő tartományt alkotnak, nincs foghíj, nincs más szabálytalanság, akkor ez itt egy lehetséges megoldás:

 

=SZUM(OFSZET($B$1;(SOR(A1)-1)*4;0;4;1))

 

A $B$1 az a cella, ahol az összeadandó adatok közül a legelső található. Ezt a hivatkozást cseréld ki arra, ami nálad van. Az A1 hivatkozást ne módosítsd.

Előzmény: Shadow Angel (21415)
Shadow Angel Creative Commons License 2013.05.25 0 0 21417

Sajnos ez nem jó! :(

Bárcsak ilyen egyszerű lenne!!! :)

Előzmény: _Nyuszi (21416)
_Nyuszi Creative Commons License 2013.05.25 0 0 21416

Négyet húzz (egy órányit), ne egyet.

Előzmény: Shadow Angel (21415)
Shadow Angel Creative Commons License 2013.05.25 0 0 21415

Sziasztok!

 

A következő feladatot szeretném megoldani.

Van egy kb. 40 000 sorból álló adathalmaz, negyedórás időpontonkban, 2 éves időttartamra.

Szeretném az adatokat óránként összesíteni, úgy, hogy a legelső cellába beírt képletet a cella jobbsarkában megjelenő kijelölővel lehúzom az adatoszlop végéig. Így elméletileg kb. 10 000 adatot kapnék.

Agyon törtem a fejem szumha és szumhatöbb fv.-kel, de nem jött össze! :(

 

Előre is köszönöm a segítséget!

pimre Creative Commons License 2013.05.25 0 0 21414

Segítséget kérek a jelszavas védelem használatához. Két jelszó van, az olvasásra és az írásra is jogosító. A másodszorra bekért (írásra jogosító) jelszó rendben működik. Korlátlanul engedi a rendszer a próbálkozásokat. Viszont az elsővel, ami még csak olvasni enged, nekem nem jön össze ugyanez. A következőket tapasztalom:

 

Ha nem programból nyitom a védett adatállományt, akkor a jelszó első elütésekor hibaüzenetet küld „A beírt jelszó érvénytelen…..”, és kilép a megnyitásból. Programból nyitva ellenőrzés, azaz On Error GoTo … parancs nélkül: figyelmen kívül hagyja az üzenetek tiltását (DisplayAlerts), kiírja, hogy „Application-defined or object-defined error”, és szintén leáll. De ez nem baj, mert programból szeretném kezelni a hibás jelszót a következő részlettel:

 

Function adatfilenyit(filenév As String) As Boolean

Application.DisplayAlerts = False

ujra:

adatfilenyit = False

If Dir(filenév) = "" Then ' Ha a file nincs meg a kívánt helyen

  MsgBox "A programfutás feltétele a " + filenév + " file megléte. Kérem pótolni!"

Else

    On Error GoTo nincsjelszo

    Workbooks.Open Filename:=filenév

    adatfilenyit = True ' Ekkor jó a megnyitás

nincsjelszo:

    If Err > 0 Then

        If Left(Err.Description, 27) = "A beírt jelszó érvénytelen." Then

            MsgBox "Hibás jelszó. Kérem javítani!"

            Err.Clear 'Hibajelzés (szám és szöveg) törlése

            GoTo ujra

        Else

            MsgBox "Hibaüzenet: " & Err.Description ' Ez egy tesztsor, ami megkülönbözteti a rendszer automatikus hibaüzeneteitől

        End If

    End If

End If

Application.DisplayAlerts = True

End Function



A „nincsjelszo:” címke után 1 alkalommal működik a részlet, azaz kiírja, hogy hibás a jelszó, és visszaugrik az „ujra:” címkére. De ha másodszor is hibás jelszót adok meg, akkor már figyelmen kívül hagyja az üzenetek tiltását, kiírja, hogy „Application-defined or object-defined error”, és szintén leáll. Hiába próbálom az Err.Clear paranccsal törölni a hibát, nem veszi figyelembe. Van megoldás arra, hogy többször is újra próbálkozhasson a felhasználó? Attól nem félek, hogy a kis/nagybetűket és számokat tartalmazó kódra véletlenül rátalál, ezért nem szeretném korlátozni benne. Másrészt meg nagyon nem elegáns, ha rendszer által generált hibaüzenettel áll le a program.

 

És még valamit. Meg tudja valaki mondani, hogy angol nyelvű office használatakor mi a hibaüzenet (Err.Description) szövege a jelszó érvénytelensége esetén?

 

pimre Creative Commons License 2013.05.25 0 0 21413

Bocs a kései válaszért, mostanában ritkán vagyok internetközelben: Szóval én nem munkafüzet megosztásra akarom használni a jelszót, hanem jogosultságok beállítására. Van, akinek csak betekintési joga lesz, van, akinek írási joga is lesz, másoknak meg semmi.

 

 

Előzmény: tbando (21364)
Törölt nick Creative Commons License 2013.05.24 0 0 21412

Lehet más triggerhez kötni, pl. gombnyomás, munkalap váltás, duplakatt egy bizonyos cellára, vagy billentyűkombináció, stb.  Akkor nem fut le olyan gyakran, csak amikor akarod.

Előzmény: mihalylori (21411)
mihalylori Creative Commons License 2013.05.24 0 0 21411

Köszönöm, így valóban működik. Én csak az aktuális laphoz szúrtam be.

Viszont tényleg elég sokat gondolkodik.

Köszönöm. Kisérletezek egy kicsit rajta, mennyire használható a gyakorlatban.

Előzmény: Törölt nick (21410)
Törölt nick Creative Commons License 2013.05.24 0 0 21410

A Visual Basic Editor bal felső paneljában (Project - VBAProject feliratú ablak) keesd meg a ThisWorkbook objektumot, kattints rá duplán, és a jobbra megnyíló kódlapra másold be a kódot. És ha akarod, részletesen elmondom, mi hogyan van benne.

Előzmény: mihalylori (21409)
mihalylori Creative Commons License 2013.05.24 0 0 21409

Próbáltam a te megoldásodat is, de sajnos azt nem teljesen értem, bemásolva viszont nem működik. Olyan, mintha soha nem futna le függvény.

Előzmény: Törölt nick (21407)
aderill Creative Commons License 2013.05.24 0 0 21408

Valóban ! ebben teljes mértékben egyetértek, viszont a kollégának 3 lapja volt, ott azért az egyszerüségénél fogva simán áttekinthető ez a megoldás :)

Előzmény: Törölt nick (21404)
Törölt nick Creative Commons License 2013.05.24 0 0 21407

Sendkeys és Volatile - mindkettő az Excel sokat szidott képességei közé tartozik. Azt gondolom, gyerek kezébe nem adunk töltött puskát, szóval én ezt a megoldást nem támogatom, bocsi. Talán valaki más.

Előzmény: mihalylori (21406)
mihalylori Creative Commons License 2013.05.24 0 0 21406

-előzmény: Jimmy the Hand, tbando

Az F2 + ENTER valóban frissíti a lap összes függvényét, feltéve ha önmagában áll a függvény. Az Application.Volatile már akkor is frissíti, ha további műveletet végzek a függvénnyel, pl. egy szorzó van a függvény mellett.

Most már csak az F2 + ENTERT kellene összehoznom egy OnChange függvénnyel. Ebben kérnék még egy kis segítséget. Sajnos VBA-ben nem nagyon vagyok otthon.

Előzmény: tbando (21402)
Törölt nick Creative Commons License 2013.05.24 0 0 21405

Sztem a százfüles excel munkafüzet eleganciája eleve alulról közelíti a nullát. Annyira szegényes néhol az informatikai kultúra...

Csak nézem, ahogy egyesek klasszikus adatbázisfeladatra focipálya méretű excel munkalapokat használnak...

Előzmény: Törölt nick (21404)
Törölt nick Creative Commons License 2013.05.24 0 0 21404

Igen, tudom. De ez max nehany fullel mukodik. Ha azok szama valtozik, akkor mindig frissiteni kell a kepletet. Aztan tobb tucat, szaz fullel (ceges kornyezetben ez siman elofordul) szinte lehetetlen karbantartani egy ilyen kepletet, meg ugye eleganciaja is 0 fele konvergal :)

Előzmény: aderill (21397)
tbando Creative Commons License 2013.05.24 0 0 21403

Bocs. Az F2+Enter-hez mégiscsak kell az application.volatile. 

Előzmény: tbando (21402)
tbando Creative Commons License 2013.05.24 0 0 21402

Akkor próbáld ki ezt: Bárhol állhatsz a munkalapon. F2 + Enter. Nálam még az application.volatile se kellett hozzá. 

Előzmény: mihalylori (21400)
Törölt nick Creative Commons License 2013.05.24 0 0 21401

Próbáld ezzel kombinálni.

 

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    Dim rng As Range, c As Range, cParent As Range
    Dim PreviousValue As Variant
    Application.EnableEvents = False
    Set rng = Sh.Cells.SpecialCells(xlCellTypeFormulas)
    For Each c In rng.Cells
        If InStr(c.Formula, "szinesdarabteli") > 0 Then
            Set cParent = c.DirectPrecedents.Cells(1)
            PreviousValue = cParent.Value
            cParent.Value = "asdrcfgh"
            cParent.Value = PreviousValue
        End If
    Next
    Application.EnableEvents = True
End Sub

 

Úgy működik, hogy a

Function szinesdarabteli(tartomany As Range, szinesertek As Integer)

definícióban a tartomany nevű tartomány első cellájának értékét megváltoztatja, és ezzel kikényszeríti az Excelben a képlet újraszámolását. Aztán visszaírja az eredeti értéket. (Amivel újra kikényszeríti a képlet kiszámolását, de ezt nem lehet elkerülni.)

Elvileg új cella kijelölésére indul, és a fenti módszerrel sorban frissíti az aktuális munkalapon az összes szinesdarabteli függvényt tartalmazó képletet.

(Valamilyen eseményhez kötni kellett, és ez a leggyakoribb. A cellaszín változása önmagában nem indít semmilyen folyamatot.)

 

Mivel a kód az összes cellakijelölés-változáskor lefut, ha sok ilyen szinesdarabteli képleted van, akkor előfordulhat némi lassulás, nem teszteltem ki.

Előzmény: mihalylori (21398)
mihalylori Creative Commons License 2013.05.24 0 0 21400

Az a gond, hogy egy lapon nagyon sokszor használom a függvényt. Ráadásul havonta újraszíneződik a lap, és a sorok, így a függvények száma is változhat.

Előzmény: tbando (21399)
tbando Creative Commons License 2013.05.24 0 0 21399

Szerintem az alábbi makrók jól frissítenek.

Az első újra beírja függvényt. Tegyük fel a függvényed az a1-ben van:

 

Range(“a1”).formula =”képlet”

 

A képletet úgy tudod  a legkönnyebben vba kompatibilisen megkreálni, hogy ráállsz a képletet már tartalmazó celládra, majd elinditod a makrórögzítőt az F2 Enter lépések rögzitésére.

 

***

 

A másik rutin:

 

Range(“a1”).select

Application.SendKeys "{F2}" & "~"  

 

Előzmény: mihalylori (21395)
mihalylori Creative Commons License 2013.05.24 0 0 21398
Előzmény: Törölt nick (21396)
aderill Creative Commons License 2013.05.24 0 0 21397

Én is ezt javasoltam :)

Előzmény: Törölt nick (21392)
Törölt nick Creative Commons License 2013.05.24 0 0 21396

Hogy néz ki a függvényed?

Előzmény: mihalylori (21395)
mihalylori Creative Commons License 2013.05.24 0 0 21395

Köszönöm, de...

A Application.Volatile nem csinál semmit, nem is lassul az Excell (2007), de nem is frissít a függvény.

Nyomógomb vagy billentyűparancsra én is gondoltam, de több lapon több sorban alkalmazva van a függvény. Tudok olyan parancsot adni, amivel a függvény összes előfordulását frissíti?

Előzmény: Sánta Kutya (SK) (21388)
Sánta Kutya (SK) Creative Commons License 2013.05.24 0 0 21394

Akkor mégiscsak igazam volt, hogy nem működik!

Ez nem jó, mert nem két fül van, hanem 4-7 között változó (alapból 4, de ha bejön egy ideiglenes dolgozó kampányra, akkor másolunk neki egyet). És ha módosítani kell rajta, mindegyik tagot módosítani kéne.

A másikat majd kiptóbálom a jövő héten, köszi! Bár nem hangzik egyszerűen, de egy próbát megér.

Előzmény: Törölt nick (21392)
Törölt nick Creative Commons License 2013.05.24 0 0 21393

Ezt most csak googleztam, de logikailag mukodik (bar ketsegkivul komplexebb, 2-3 fulnel sztem nem kell ennyire bonyolitani).

 

=SUMPRODUCT(SUMIF(INDIRECT("'"&SheetList&"'!A2:A10"),D2,INDIRECT("'"&SheetList&"'!B2:B10")))

A &SheetList& meg egy Defined Name a tabokat tartalmazza. Formulas -> Define Name-ben ki lehet valasztani tobb fult a "Refers To" mezoben.

 

(U.I.: nekerdezd ezek hogyvannak magyarul, mert fogalmam sincs)

Előzmény: Törölt nick (21392)
Törölt nick Creative Commons License 2013.05.24 0 0 21392

Szerintem egy fuggvennyel azt nem lehet.

 

SUMIF(lista1,ertek,osszeadando)+SUMIF(lista1,ertek,osszeadando2) modszer nem jo?

Előzmény: Sánta Kutya (SK) (21391)
Sánta Kutya (SK) Creative Commons License 2013.05.24 0 0 21391

Na de olyat mutass, ahol az összegzendő adatok vannak több munkalapon! Pl. az Összeg fül A2 cellájában levő értéket keresem a Munka1:Munka5!S:S oszlopokban, és a mellette a T oszlopban talált értékeket adja össze az Összeg!B2-ben.

Előzmény: Törölt nick (21390)
Törölt nick Creative Commons License 2013.05.24 0 0 21390

Pedig mukodik az:

 

En ez alabbit rendszeresen hasznalom pl. az egyik fileban

SUMIF(Data!$S:$S,VALUE($J$2),Data2!$T:$T)

Előzmény: Sánta Kutya (SK) (21389)
Sánta Kutya (SK) Creative Commons License 2013.05.24 0 0 21389

Viszont én többször próbáltam a SZUMHA függvényt működésre bírni több munkalapon keresztül, és nem sikerült, mintha ezt nem szeretné.

Előzmény: aderill (21385)
Sánta Kutya (SK) Creative Commons License 2013.05.24 0 0 21388

Próbáld meg beírni az első sorba, hogy Application.Volatile. Viszont le fog lassulni tőle az Excel működése.

A B változat, hogy csinálsz egy nyomógombot hozzá, amivel indíthatod.

Előzmény: mihalylori (21387)
mihalylori Creative Commons License 2013.05.24 0 0 21387

Sziasztok!

Egy kis segítséget kérnék...

Van egy VB függvényem, melyel lekérdezem egy tartomány cella-háttérszíneit. Pontosabban megszámoltatom, hogy egy bizonyos színből hány darab van.
A függvény dolgozik szépen, csak nem frissül, ha utólag módosítom a színeket. Csak akkor számol újra, ha újra beírom, vagy módosítom a lekérdezést.

Ez valami beállítási probléma, vagy egyszerűen így működik a VB?
Válaszaitokat előre is köszönöm.

mimi_bacsi Creative Commons License 2013.05.23 0 0 21386

Levél ment..!

Előzmény: aderill (21385)
aderill Creative Commons License 2013.05.23 0 0 21385

Az alapvető probléma az, hogy nem jó függvényt néztél ki magadnak a feladat megoldásához.

Ezt a szumha vagy a szumhatöbb függvényekkel tudod megoldani.

Ha mondasz egy e-mail címet átküldöm az eredményt.

 

Előzmény: mimi_bacsi (21384)
mimi_bacsi Creative Commons License 2013.05.23 0 0 21384

Feltöltöttem ide egy próba fájlt, amiben az alábbi feladatom van:

 

A "Munkalap1" és a "Munkalap2" munkalapok tartalmazzák az adatokat és a "Statisztika" munkalapra kellene az értékesítők szerint a szerződéseket összesítenem. (Vagy a székhely szerint) 

 

Talán így érthetőbb a feladatom...:-)

Előzmény: aderill (21383)
aderill Creative Commons License 2013.05.23 0 0 21383

Oké, leírtam az előző  hozzászólásban egy példát...

Mondjuk az azonos nevek-et nem értem, hogy érted.

Nem lehetnek azonosak, mert a munkalap név megkülönbözteti őket ! Munka1!A1 , Munka2!A1  stb, stb

 

mégegyszer a példa: =DARABTELI(Munka2!A1:C11;Munka3!A8)

természetesen a munkalap nevek eltérhetnek a példában láthatótól.

Előzmény: mimi_bacsi (21382)
mimi_bacsi Creative Commons License 2013.05.23 0 0 21382

A munkalapokon azonos felépítésű adatok vannak és nem másolnám össze az adatokat, hogy egy munkalapon legyen az összes adat és azon dolgozzam, hanem több munkalapra terjeszte(né)m ki a függvénnyel történő keresést.

Ez a kérdésem...:-))

 

Tehát például van 3 munkalapom, ahol mindhárom munkalapon vannak azonos nevek is, azokhoz tartozó számszerű összegek és azoknak a neveknek és összegeknek a szummáját szeretném megjeleníteni egy 4. munkalapon (ahol ebből az összesítésből grafikot is rajzolnék)

Tehát azonos szerkezet mindhárom munkalapon és azokat kell összegeznem a feltételeknek megfelelően.

 

Előzmény: aderill (21381)
aderill Creative Commons License 2013.05.23 0 0 21381

Vagy beírod a munkalap nevét a hivatkozás elé kézzel.

vagy egyszrüen átkattintasz és bejelölöd egérrel a megfelelő területet a megfelelő lapon.

Utóbbi esetben a lap nevét az excel automatikusan kitölti.

pl: =DARABTELI(Munka2!A1:C11;Munka3!A8)    (a képlet a munka1 lapon van , a tartomány a munka2-n és a kritérium a munka3-on)

 

ha erre gondoltál :)

Előzmény: mimi_bacsi (21380)
mimi_bacsi Creative Commons License 2013.05.23 0 0 21380

Ha egy DARABTELI vagy DARABHATÖBB függvénnyel több munkalapon szeretnék a feltételeknek megfelelően keresni, azt hogy kell leírni, mi a szintaxisa?

tbando Creative Commons License 2013.05.22 0 0 21379

Ja. Most már emléxem.  Arról volt szó, hogy táblázatként való formázáskor az új sorok megkezdésével automatikusan kitölti a sor többi celláját. Egyébként én sem szoktam használni, ezért is nem értettem a megosztásnál irottakat.

Előzmény: tbando (21374)
E.Istvan Creative Commons License 2013.05.22 0 0 21378

A kezdőlap->Formázás táblázatként menüvel létrehozott, formázott táblázat a táblázat, a többi meg mondjuk"sima excel"

Kb egy éve mondták nekem, hogy ez a táblázatként formázás egyben azt is jelenti, hogy lemondasz pár excel alap szolgáltatásról, funkcióról. Például a közös használatról. Hogy még miről azt már nem tudom. Pár hete kerestem a neten, amikor itt a fórumon szóba kerültek ezek a táblázatok, de rövid keresés után nem találtam erről leírást, hosszabb nyomozásra meg nem volt kedvem, így inkább nem használom ezeket a táblázat formázásokat.

Előzmény: tbando (21376)
tbando Creative Commons License 2013.05.22 0 0 21377

Akkor haleluja :)))

Előzmény: ND7000 (21375)
tbando Creative Commons License 2013.05.22 0 0 21376

Kösz a kimerítő választ. A leírtakból számomra az derül ki, hogy az excel elég jól megoldja a közös használat miatti esetleges problémákat. Többek közt azokat is, amelyek miatt a kérdésem feltettem.

 

A cellánkénti jelszavas védelemről nem tudtam. Kösz. Persze nem fogom használni, mert amikor kéne, valszeg halvány fogalmam sem lesz, hogy hova is jegyeztem fel őket :))). 

 

A témával kapcsolatban lenne még egy kérdésem. Közben én is ráakadtam a Korrektura menülapra, ahol a Munkafüzet megosztása menüpontra rámutatva a felugró ablak többek közt ezt is írja: "A táblázatokat tartalmazó munkafüzet nem osztható meg." Ez alatt mit ért? Milyen munkafüzet nem osztható meg? Mivel én táblázatot nem tartalmazó excel füzetetet azt hiszem még sosem láttam.

Előzmény: E.Istvan (21368)
ND7000 Creative Commons License 2013.05.22 0 0 21375

Annál sokkal egyszerűbb a megoldás minthogy képlettel formázzam.

A megoldás az volt (E.Istvannak köszönhetően), hogy ha nem egymáshoz akarjuk az értékeket vizsgálni akkor a tipusnál számot kell megadni (legyen az tényleg szám vagy akár % érték)

Ha egymáshoz akarjuk hasonlítani őket akkor kell % ot beállítani.

Most, hogy belegondolok a tipusnál nem is a cellaérték tipusra vonatkozik a kérdés hanem a vizsgálat módjára. (ezt lehetne egyértelműbbé tenni az ablakban)

Bizonyosan képlettel is megoldható a kérdés, de így fényévekkel gyorsabb :)

 

Köszi, hogy foglalkoztál vele !

Előzmény: tbando (21374)
tbando Creative Commons License 2013.05.22 0 0 21374

Azt nem tudom, hogy mik azok a jelzések a celláidban, de az általad kívánt beállitást szerintem nem azon beállítási panelen kell csinálni, amit a képed mutat, hanem  azon még rákattintva a „formázandó cellák kijelölése képlettel”-re.  Itt beírhatod  a első feltételed. Ha mondjuk az A10 cella tartalma alapján akarod formázni a B10 cellát (vagy akármelyiket, akár magát az A10-t is), akkor pl. =a10>=1 és kijelölöd a pirost. A leokézása után egy újabb panel jelenik meg, ezen visszaigazolja a piros beállításodat, továbbá felajánlja további formázási szabályok felvételét.  Kérsz egyet, és beírod hogy =a10<1 és kijelölöd neki a sárgát.

 

A formázási szabályaidat aztán az excel automatikusan érvényesíti az összes kijelölt cellán.

 

Előzmény: ND7000 (21369)
ND7000 Creative Commons License 2013.05.22 0 0 21373

Hmm így már van "némi" értelme :)

 

Köszi !!

Előzmény: E.Istvan (21371)
ND7000 Creative Commons License 2013.05.22 0 0 21372

Mi értelme van akkor a százalék beállítási lehetőségnek, ha szám és százalék értéknél is szám adatot kell kiválasztani tipusnak ?

Érti a fene.

 

Mindenesetre kösznöm !

Előzmény: E.Istvan (21370)
E.Istvan Creative Commons License 2013.05.22 0 0 21371

A százalék típusra a súgó ezt írja. Nem teljesen értem, de mintha egymáshoz képest vizsgálná a cellákat.

Az érvényes értékek tartománya 0 (nulla) és 100 között van. Ne írjon be százalékjelet (%).

Akkor használjon százalékértéket, ha minden értéket egymáshoz arányítva kíván megjeleníteni, mert a százalékérték alkalmazásakor az értékek eloszlása egymással arányos.

Előzmény: ND7000 (21369)
E.Istvan Creative Commons License 2013.05.22 0 0 21370

érték: 100 helyett 1,  90 helyett 0,9

típus:százalék helyett szám

Előzmény: ND7000 (21369)
ND7000 Creative Commons License 2013.05.22 0 0 21369

Sziasztok

 

Tudnátok segíteni?

Megint ezekkel a fránya feltételes formázással van problémám.

Mellékeltem egy képet, szerintetek mit rontok el ?

(Direket bennhagytam a celleformát, és hogy az érték tényleg százalék érték a cellában.)

 

A cél: a 100% feletti értékek mellé zöld, a 90% és 100% közötti sárga alatta piros jelölés.

 

Beállítás után a képen található eredméynt kapom !? 

Miért van ez ?

 

Előre is köszi !

 

E.Istvan Creative Commons License 2013.05.22 0 0 21368

Nem rossz dolog ez a közös használat, de nem vesztettél sokat, ha eddig nem használtad. Én is igyekszem kerülni. Munka közben nincs külön szinkronizálás, csak mentéskor. Tehát amikor az egyik felhasználó ment, akkor visszafelé ki is olvassa a megnyitás óta, vagy az utolsó mentés óta történt változásokat. Ütközés esetén, amikor mind a két felhasználó ugyan azt a cellát írta, azt hiszem a másodikként mentő felhasználónak ajánlja fel, hogy akkor maradjon az első felhasználó értéke, vagy írja felül az ő értékével a cellát.

 

A közös használatú munkafüzetnek, van egy másik is problémája, ami nincs rendesen kezelve ill. kommunikálva. Ez főleg akkor jelentkezhet gyakrabban, ha nagyobb méretű a fájl, tehát hosszabb ideig tart a megnyitás, mentés.

 

Hiába van minden felhasználónak írási joga, ha az egyik felhasználó éppen megnyitja vagy menti a fájlt, akkor a művelet időtartama alatt a másik felhasználónál aki meg pont meg akarja nyitni kiírja, hogy a fájlt egy másik felhasználó használja, és csak olvasásra lehetséges a megnyitás. Ekkor a tudatlan felhasználó megnyitja csak olvasásra, ahelyett, hogy kb 1-2 sec múlva újra megpróbálná a megnyitást. Majd munka végeztével rányom a mentésre. Természetesen az Excel figyelmeztet, hogy csak olvasásra lett megnyitva, de mentés másként-tal simán rá tud menteni a közös használatú fájlra, ezáltal kitörölve a megnyitás óta mások által végzett módosításokat.

 

Vagy normál megnyitás utáni mentéskor, mialatt más már éppen ment szintén kiírja, hogy másik felhasználó használja a fájlt. Ekkor meg a kedves felhasználó lementi más néven a saját állományát, ezáltal meg az ő módosításai nem kerülnek be a közös táblázatba, viszont a hálózaton meg már rögtön két fájl lesz.

 

Ha érdekel a téma, akkor viszont van egy nagyon jól használható része is. Ez akár közös használatú fájlban, akár normál fájlban használható, ha hálózatos környezetben dolgoztok. Régi excelben valahol a védelmeknél van, 2007-től pedig a korrektúra->Tartományok szerkesztésének engedélyezése.

Ezzel meg lehet oldani azt, hogy egy excelen belül különböző celláknak vagy tartományoknak külön-külön jelszót adsz és az a cella csak azzal a jelszóval írható. Illetve ezekhez a cellákhoz, tartományokhoz konkrét felhasználókat is rendelhetsz, akiktől nem fogja kérni a jelszót. Így minden felhasználó megnyitja a fájlt és látszólag gond nélkül és külön jelszó nélkül tudja felvinni a saját adatait, viszont a másikéba nem tud beleírni csak jelszóval.

Egy kisebb hátrány/előny, hogy ezeket a jelszavakat csak te tudod módosítani a felhasználók nem.

Előzmény: tbando (21364)
tbando Creative Commons License 2013.05.22 0 0 21367

Azt szeretném megkérdezni, hogy van-e olyan countif analóg vba függvény ami a vba tömbökben számolja meg bizonyos értékek előfordulását, vagy csinálnom kell a megszámolásukra egy ciklust? Úgy tűnik ugyanis, mintha a countif csak a munkalapokon müködne.  

tbando Creative Commons License 2013.05.21 0 0 21366

A hogyan látja B munkáját, ha már rámentette a sajátját? Vagy van egy A mentés meg egy B mentés majd valami szinkronizalas? Van erre valami kész szoft?Mert elég komplikálnak tűnik.

Előzmény: Sánta Kutya (SK) (21365)
Sánta Kutya (SK) Creative Commons License 2013.05.21 0 0 21365

Nem lesz real-time. Nálunk minden felhasználónak saját füle van (kettő a fején, egy a munkafüzetben). Ha B elmenti, majd A is elmenti, akkor van a változás, mert A-nak fényeskedik egy felirat, hogy a munkafüzet más felhasználók módosításaivel lett elmentve, és akkor látja B munkáját. Azt még nem próbáltam, mi lesz, ha ugyanazt a cellát akarják szerkeszteni. :-)

Előzmény: tbando (21364)
tbando Creative Commons License 2013.05.21 0 0 21364

Szia! Én még sosem dolgoztam megosztott munkafüzettel, és előreláthatólag nem is fogok. De érdekel, hogy hogyan is működik. Teszem azt, ha egyidejüleg te is, meg én is megnyitjuk ugyanazt a megosztott filet, és mindkettőnknek jogosultsága van belepiszkálni, akkor real time-ban látjuk-e egymás változtatásait? Tehát csatolással kerül a gépeinkre a munkafüzet vagy bemásolással? 

Előzmény: pimre (21362)
pimre Creative Commons License 2013.05.21 0 0 21363

Időközben úgy látom, megtaláltam: Application.ActiveWorkbook.ReadOnly. Ugye, ez az?

Előzmény: pimre (21362)
pimre Creative Commons License 2013.05.21 0 0 21362

Szeretnék jelszóval védeni egy Excel adatállományt külön betekintési és külön módosítási jelszóval. Az adatokat egy tőle független program kezeli. Addig rendben is van, hogy amikor a program megnyitja az adatállományt, akkor kéri a kétféle jelszót. És ha betekintésit tudom, de a módosításit nem, akkor olvasásra nyitja meg. És itt adódik egy kis gondom. Az adatfelvivő programrészre enged a program ráfutni, és csak a mentéskor zaklatja a felhasználót rendszerüzenettel.  

Ezt szeretném elkerülni, és figyelmeztetés után megakadályozni, hogy egyáltalán próbálkozzon a módosítással, aki erre nem jogosult. Ehhez ki kellene tudnom olvasni a programmal, hogy csak olvasásra van megnyitva az adatállomány. De sajnos nem találom a megoldást. Tudtok segíteni? 

Redlac Creative Commons License 2013.05.21 0 0 21361

Igen, ezt tapasztaltam én is, hogy ha kijelöltem a cellát, akkor látszódott, de egyébként meg nem.

 

Köszönöm a segítséget, ennek megfelelően megvágom a szöveget.

Előzmény: tbando (21357)
tbando Creative Commons License 2013.05.20 0 0 21360

Azt nem tom. Arial-lal néztem. 

 

Apropos, hagy kérdezzem: bevált 21181 hsz?

Előzmény: Sánta Kutya (SK) (21359)
Sánta Kutya (SK) Creative Commons License 2013.05.20 0 0 21359

MÁs betűtítpussal is, pl. Courier New?

Előzmény: tbando (21358)
tbando Creative Commons License 2013.05.20 0 0 21358

Kiváncsiságból megszámoltam, hogy pontosan hány karaktert képes a 2003-as excel egy cellában megjeleníteni.  És a legnagyobb megdöbbenésemre nem kb. 1100-t mint írtam, hanem PONT 1100-t.  Vajon miért?  

Előzmény: tbando (21357)
tbando Creative Commons License 2013.05.20 0 0 21357

Megnéztem a problémádat. És azt tapasztaltam, hogy a 2003-as excel cellái  32.767 karaktert képesek tárolni, de abból csak kb 1100-t képesek direktben megjeleníteni. Ezek is olvashatók azonban a szeresztőlécen, tehát ha ráállsz az adott cellára.  Ha ez nem elég kezes, akkor  lehet csinálni például azt, hogy a szomszédos oszlopban ezzel a képlettel teszed láthatóvá az A oszlopban nem mutatott szöveget: =ha(hossz($a1)>1100;közep($a1;1100;1100);"").

 

Előzmény: Redlac (21346)
Redlac Creative Commons License 2013.05.20 0 0 21356

Ezen túl vagyok, de ez sem segített...

Előzmény: Sánta Kutya (SK) (21354)
Sánta Kutya (SK) Creative Commons License 2013.05.20 0 0 21355

fül

Előzmény: Sánta Kutya (SK) (21354)
Sánta Kutya (SK) Creative Commons License 2013.05.20 0 0 21354

Ja, hát akkor nincs baj. Cellaformázásnál igazítás föl, sortöréssel több sorba, vagy pedig explicit alt enter, ahol sortörést akarsz.

Előzmény: Redlac (21353)
Redlac Creative Commons License 2013.05.20 0 0 21353

Valójában nem csonkolódik. Ha oldalra széthúzom a cellát, akkor folyamatosan többet lehet látni.

De olyan, mintha a világ végére kellene elhúzni...

és ha lefelé húzom, akkor lefelé nem töri a szöveget

Előzmény: Sánta Kutya (SK) (21350)
Sánta Kutya (SK) Creative Commons License 2013.05.20 0 0 21352

Ó, az szörnyűség, én is átéltem már párszor! Jobbulást!

Előzmény: Redlac (21351)
Redlac Creative Commons License 2013.05.20 0 0 21351

Úgy tudom, beteg lett a számítógépe...

Előzmény: Sánta Kutya (SK) (21349)
Sánta Kutya (SK) Creative Commons License 2013.05.20 0 0 21350

Hány karakternél csonkolódik? Mérd meg a hossz függvénnyel.

Előzmény: Redlac (21348)
Sánta Kutya (SK) Creative Commons License 2013.05.20 0 0 21349

Meg különben is hol van Delila? Remélem, a Bahamákon nyaral, azért nem ír!

Redlac Creative Commons License 2013.05.20 0 0 21348

2003

Előzmény: Sánta Kutya (SK) (21347)
Sánta Kutya (SK) Creative Commons License 2013.05.20 0 0 21347

Verzió?

Előzmény: Redlac (21346)
Redlac Creative Commons License 2013.05.20 0 0 21346

Sziasztok!

 

Van 1937 karakterem, amit szeretnék egy cellába belehelyezni, de nem megy. Lemarad a szöveg egy része, akárhogyan próbálom beállítani.

 

Ennyi karakternek elvileg el kellene férni, de mégse....

tbando Creative Commons License 2013.05.18 0 0 21345

A hsz-t jimmy 21342-re írtam, csakhát a fórummotor hülyülése miatt lemaradt :((( 

Előzmény: tbando (21343)
pimre Creative Commons License 2013.05.18 0 0 21344

Azért köszönöm mindkettőtöknek a próbálkozást. Akkor marad a fapados megoldás. Még szerencse, hogy a formon elhelyezett objektumokra lehet változónévvel hivatkozni, így a mintegy tízféle comboboxomat, és ugyanennyi textboxomat egy-egy függvénnyel tudom előkészíteni inicializáláskor, és tesztelni az adatbeíráskor. Ez tényleg kellemetlen lett volna fapadosan egyenként megírni.

Előzmény: Törölt nick (21342)
tbando Creative Commons License 2013.05.18 0 0 21343

Örültem a hsz-dnek, mert megint tanultam valamit. Ami frankón működik is, már ami formok megszámolást illeti. De a behívással még problémák vannak.  Mert nem feltétlenül azt a formot hívja, amelyikre a hivatkozás történt. És bár az első pillanatban erre nekem is lett volna magyarázatom, ami azonban nem bizonyult százasnak, mert a következő futtatásnál ugyanazzal a beállítással a következő userformot adta, és így tovább. Tehát a useforms(a).show beállítással végiglépkedett a létesített formokon. Ha végére ért kezdte előlről. Amig ki nem derül, hogy ez hogy is van, addig okosabb ha pimre marad a fapados megoldásánál. 

 

 

Törölt nick Creative Commons License 2013.05.18 0 0 21342

Én is próbálkoztam tegnap, ugyanerre jutottam. Azért tapasztaljuk ezt, mert a Useforms.Count azokat a formokat számolja, amelyek létre vannak hozva objektumként. Az, amit szépen összerakunk textboxokból meg commandbuttonokból, az még csak az objektumosztály, de annak egy példányát futás közben létre kell hozni ahhoz, hogy ténylegesen legyen megszámolható Userform az Application-ban.

 

Szóval kellene ide minimum egy Load utasítás:

Sub teszt()
    Load UserForm1
    Load UserForm2
    
    MsgBox UserForms.Count
End Sub

A fenti makró futásának eredménye: 2

 

Ezt ugye fel lehetne használni pimre projektjében is, csak kérdés, hogy egyszerűbb lenne-e, mint a fapados megoldás, amit ő maga kitalált. Merthogy itt a UserForms gyűjtemény tagjaira csak sorszámmal lehet hivatkozni (pl. UserForms(1)), a névvel hivatkozás (pl. UserForms("UserForm1")) hibát okoz.

Előzmény: tbando (21341)
tbando Creative Commons License 2013.05.18 0 0 21341

Csináltam néhány userformot, mivel úgy gondoltam, hogy ezek automatikusan bekerülnek a userforms gyüjteménybe, amelynek tagjaira aztán indexelve lehet majd hivatkozni. De nem kerültek be. Amit az is mutat, hogy a userforms.count=0. Így sajnos nem tudtam segíteni, de azért megírtam, hátha valakinek egészen nyilvánvaló, hogy hol hibádzik a megoldáskísérletem és korrigálja. 

Előzmény: pimre (21336)
Törölt nick Creative Commons License 2013.05.17 0 0 21340

A regényeket érdemes inkább szövegfájlba pötyögni, mert a fórumszoftver rendszeresen eljátssza, hogy ha túl hosszúra nyúlik a beírási idő, akkor egyszerűen szó nélkül elnyeli a szöveget. Szoktak itt (nem pont az Excel topikban, hanem fórumszerte) jóféle anyázások lenni emiatt.

Előzmény: gogabbie (21338)
Sánta Kutya (SK) Creative Commons License 2013.05.17 0 0 21339

Bocs, ne haragudj a félreértésért, de én nem szoktam fórumos dolgokat e-mailben intézni, csak nagyon indokolt esetben, és nem akartam azt a látszatot kelteni, hogy én vállalom magamra a problémád megoldását. Csak jeleztem, hogy ilyen hiányos kérdésfeltevéssel más se nagyon fog tudni segíteni. Ha látjuk, mi a feladat, valaki válaszol, akinek éppen affinitása és ideje van hozzá. A képet felteheted pl. kepfeltoltes.hu-ra, ahonnan be lehet linkelni ide.

Előzmény: gogabbie (21338)
gogabbie Creative Commons License 2013.05.16 0 0 21338

Elég hosszú a dolog és küldenék egy képet is vagy táblázatot, de ide nem sikerült felrakni. Bepötyögtem egy r egényt és úgy tűnik elszált. Tudsz adni egy email címet???

Köszi előre is....

Előzmény: Sánta Kutya (SK) (21335)
gogabbie Creative Commons License 2013.05.16 0 0 21337

Átküldeném először a képet.

Előzmény: Sánta Kutya (SK) (21335)
pimre Creative Commons License 2013.05.16 0 0 21336

És máris egy újabb gondom adódott. Egy adott ponton választanom kell, hogy melyik Userformot hívja meg a program. A meghívandó form nevét át tudom adni a behívó részletnek, csak éppen a nevet nem tudom változóba tenni, hogy ezzel nyisson. Tehát mondjuk az  "aaaa", vagy "bbbb" nevű formot kell megnyitni. Próbáltam ezt egy string változóba tenni, formneve néven, de a formneve.show nem működik. Próbáltam a string helyett objectnek, vagy userformnak létrehozni a változót, de azt sem fogadja el a program. Van erre elegáns megoldás? 

Fapadosan persze meg tudom oldani:

 

If formneve="aaaa" then

aaaa.show

elseif formneve="bbbb" then

bbbb.show

stb.

 

Csak ez annyira nem tetszik.

Előzmény: pimre (21333)
Sánta Kutya (SK) Creative Commons License 2013.05.16 0 0 21335

Szia! Van kedved érthetőbben is elmondani, mit szeretnél? Értéket, de milyet? Mi a szabály? Van itt egy kis segítség a kérdezéshez a topikcím alatt.

Előzmény: gogabbie (21334)
gogabbie Creative Commons License 2013.05.16 0 0 21334

Sziasztok! Egy kis segítség kellene Excel 2007-hez. Valaki meg tudná mondani, hogyan alakíthatok át dátumot értékké?

Ezen felül szöveges adatot értékké?

 

Amit szeretnék létrehozni egy táblázat, ahol "Érvényesítés"-sel listát hozok létre egy cellában. Pl.: igen / nem ahol az  Igen = 1, Nem = 0.

Egy dátumból pedig: 2013.05.15 = 7,5 vagy 2013.06.01 = 7 és így tovább.

 

Előre is nagyon köszönöm!

pimre Creative Commons License 2013.05.16 0 0 21333

Bocsánat. If Not AllowEvents then Exit Sub.

Előzmény: Törölt nick (21332)
Törölt nick Creative Commons License 2013.05.16 0 0 21332

If AllowEvents Then Exit Sub ?

 

Nem inkább If AllowEvents = False Then Exit Sub?

Előzmény: pimre (21331)
pimre Creative Commons License 2013.05.16 0 0 21331

Köszönöm. A kapcsolót megcsináltam, sőt időközben tovább is fejlesztettem. Tekintettel arra, hogy az EnableEvents nem működik a formokon, létrehoztam AllowEvents néven egy public kapcsolót, amely inicializálás közben False, majd a befejezéskor True-ra vált, és valamennyi esemény ennek a vizsgálatával kezdődik. Ha viszont az eseménybe be enged lépni, akkor a jelző False-ra vált, majd a végén vissza True-ra:

 

Private Sub TextBox1_Change()
If AllowEvents Then Exit Sub

AllowEvents = False
    'esemény tesztelés
AllowEvents = True
End Sub

 

A SetFocus beállítást megnéztem mégegyszer, és igazad van, tökéletesen működik. Nem tudom, mi lehetett a baj tegnap. Mindenesetre ezzel ki tudom írtani az összes sendkeys-t.

 

Előzmény: Törölt nick (21330)
Törölt nick Creative Commons License 2013.05.16 0 0 21330

Ha az egyes vezérlők Change eseményéhez makrót kötsz, akkor érdemes mindegyikbe beépíteni azt kapcsolót, miszerint az űrlap inicializálásakor ne fussanak le az eseménykezelők. Valami ilyesmire gondolok:

 

Dim FormInit As Boolean

Private Sub UserForm_Initialize()
    FormInit = True
        'vezérlők feltöltése adatokkal
    FormInit = False
End Sub

 

Private Sub TextBox1_Change()
    If FormInit = True Then Exit Sub
    'eseményvezérlő
End Sub

Private Sub TextBox2_Change()
    If FormInit = True Then Exit Sub
    'eseményvezérlő
End Sub

Ami a másik dolgot illeti, csináltam egy űrlapot 2 textbox-szal, és az alábbi kóddal:

 

Private Sub TextBox1_Change()
    If Len(TextBox1) = 4 Then TextBox2.SetFocus
End Sub

 

Minden további nélkül átlépett Textbox2-be, amikor a szöveg hosszúsága elérte a 4 karaktert.

Előzmény: pimre (21329)
pimre Creative Commons License 2013.05.16 0 0 21329

Igen, megvan. Amin ennyit dolgoztam, azt nem szoktam eldobni.

 

A sendkeys-t olyan billentyűnyomkodásokra használom, ahol szándékosan léptetni akarok. Például ha beírta a felhasználó az irányítószám, vagy egy évszám 4. karakterét, akkor a Change funkcióban (annak ellenőrzése után, hogy valóban számot írt be) a program kiküld egy TAB-ot, hogy automatikusan lépjen a következő dobozba. Csak arról feledkeztem el, hogy a Change működik az inicializálásnál is, amikor feltöltöm a boxot, csak ott nincs módja érvényre jutni az elküldött karakternek, és ez okozott meglepetéseket az inicializálás után. Azóta jelzővel megoldottam, hogy adatfeltöltéskor ne legyenek kiküldve a sendkeys karakterek. Mellesleg azóta próbáltam sendkeys helyett setfocust használni, de nem sikerült. Egy box Change funkcióján belül nekem nem jött össze a másik boxra való setfocus hivatkozás.

Viszont, ha a billentyűzetpuffer törlése excel szinten nem oldható meg, akkor inkább lemondok róla, hiszen a program nem a saját gépemen fog működni.

Előzmény: Törölt nick (21328)
Törölt nick Creative Commons License 2013.05.16 0 0 21328

Remélem, azért megvan még az a másfél órás leírás. Szükség lehet rá egy-egy későbbi kérdésedhez. A mostanihoz is jó lett volna, mert megint az a helyzet állt elő, hogy a válasz: "attól függ..."

 

A Sendkeys olyan, mintha a billentyűzetet nyomkodnád. Ha pl. szövegdobozba küldesz be karaktert, az onnan nyilvánvalóan törölhető. Ha valamiféle parancsokat küldesz be, mint mondjuk egy ENTER, amikor a fókusz egy Commandbutton-on van, és erre végrehajtódik a gombhoz rendelt kód, azt nyilván nem lehet visszavonni.

Esetleg lehetne törölni azokat gombnyomásokat, amelyeket az oprendszer - sűrű elfoglaltságai miatt - még nem olvasott ki a billentyűzetpufferből, de ez már nem Excel szint.

 

 

Előzmény: pimre (21327)
pimre Creative Commons License 2013.05.15 0 0 21327

A hiba természetesen az én készülékemben volt. A SetFocus ártatlan, jól működik:-) Jó másfél órás munkával leírtam, hogy mit csinálok, aztán elküldés előtt átgondoltam még egyszer, és rájöttem a hiba okára. Sajnos bizonyos helyzetekben nem tudok jobb megoldást, mint Sendkeys-t használni (hiába tudom, hogy nem célszerű), aztán ezek ott is dolgoztak, ahol nem számítottam rá. Így egyenként kellett kipucolnom őket.

De ha már, akkor megkérdezem, létezik parancs az így elküldött karakterek törlésére? Hiába kerestem, egyelőre nem találtam.

Előzmény: Törölt nick (21306)
Törölt nick Creative Commons License 2013.05.15 0 0 21326

Ja és ments rá.

Előzmény: Törölt nick (21325)
Törölt nick Creative Commons License 2013.05.15 0 0 21325

Hogyha a Ctrl+End lentebbre/jobbra ugrik, mint hogy szeretnéd, akkor válaszd ki és töröld azokat a sorokat/oszlopokat, amik attól lejjebb/jobbra vannak, mint az a cella, ahova szerinted ugrania kéne a Ctrl+End-nek. Elméletileg ez megoldja.

Előzmény: Törölt nick (21324)
Törölt nick Creative Commons License 2013.05.15 0 0 21323

Próbáld ki ezt:

 

Sub uj()
    Dim wb As Workbook, i As Long, Siker As Boolean
    
    Set wb = Workbooks.Open("D:\Jóskapista.xls")
    Do
        Siker = True
        On Error GoTo NemMegyAMentés
        If i = 0 Then
            wb.SaveAs "D:\Pista " & Format(Date, "mm.dd") & ".xls"
        Else
            wb.SaveAs "D:\Pista " & Format(Date, "mm.dd") & "-" & i & ".xls"
        End If
        i = i + 1
    Loop Until Siker = True
    Exit Sub
    
NemMegyAMentés:
    Siker = False
    Resume Next
End Sub

 

Amúgy alapvetően annyi a művelet, hogy megnyitod a sablont, aztán elmented új néven. Ez összesen két sor kód lenne. Jelen esetben azonben addig kell próbálkozni futó sorszámmal és új neven mentéssel, amíg nem sikerül, és ezért van a kód kicsit megbonyolítva. Egyébként nem próbáltam, mert körülményes lenne teszkörnyezetet létrehozni, szóval nem biztos, hogy jól fog működni. De remélem.

Előzmény: Sánta Kutya (SK) (21298)
Sánta Kutya (SK) Creative Commons License 2013.05.14 0 0 21322

Köszönöm, sikerült! Ez viszont meglepett: "A csatolások megkeresésére nincs automatikus módszer"

 

A másik, ami fejtörést okoz, hogy gyakran beragad a file valakinél. Most is azt írja ki a gép, hogy meg van nyitva a táblázat egy kollégánál, aki egy órája hazament, és ki van kapcsolva a gépe.

Előzmény: Jozsef (21321)
Jozsef Creative Commons License 2013.05.14 0 0 21321

Nem tudom milyen Excel verziót használsz, de valami Csatolások szerkesztése vagy valami hasonlót keress.

 

A másik lehetőség, hogy a [ karakterre keresel http://office.microsoft.com/hu-hu/excel-help/csatolasok-keresese-munkafuzetben-HP003056096.aspx

Előzmény: Sánta Kutya (SK) (21320)
Sánta Kutya (SK) Creative Commons License 2013.05.14 0 0 21320

HEEELP!!

 

Nem tudom, ki mit kreatívkodott a megosztott munkafüzetremmel, mert többen használják, de megnyitáskor egyszerre csak megjelent egy üzenet, amit sose láttam, hogy a munkafüzet csatolásokat tartalmaz egy másikra.

 

Honnan tudnám kideríteni, hogy pontosan melyik munkalapon és melyik cellában vannak a csatolások? Mert ezt valahogy nem mutatja ez a kedves kis ablak.

Sánta Kutya (SK) Creative Commons License 2013.05.14 0 0 21319

Ó nem, azt meg tudom oldani makróval, csak megosztott munkafüzetben le van tiltva az egyesítés-szétválasztás.

Előzmény: tbando (21317)
tbando Creative Commons License 2013.05.14 0 0 21318

:)).

 

De azért megjegyzem, hogy a szerkesztőléc kiitatása sem egy nagy was ist das.. A Nézet menülap egyik alpontjára kell csak rákattintani.

Előzmény: syrius (21316)
tbando Creative Commons License 2013.05.14 0 0 21317

Szerintem egyszerübb ha a cellaegyesítés megszüntetésére is, meg a létesítésére is lekattogtatsz egy makrót, amiket aztán a problémás rutinok elé-után beiktatsz.

Előzmény: Sánta Kutya (SK) (21286)
syrius Creative Commons License 2013.05.14 0 0 21316

Köszi szépen, élek vele.

Remélem olyan ügyes diák nem lesz, aki a nyomtatott szövegből is kiolvassa a fehérrel írt megoldásokat :-)

Előzmény: tbando (21282)
Törölt nick Creative Commons License 2013.05.14 0 0 21315

Oké, oké. Meghajlok bölcs érveid előtt. Majd szólj rám, ha pongyolán fogalmazok :)

 

Viszont gyakorlati szempontból ("hogy magyarázzuk el az idelátogatóknak" c. kérdés) nincs sok jelentőssége. Aki ismeri és érti az adatbázis általad preferált definícióját, annak nem kell magyarázni. Aki nem ismeri v. nem érti, annak csak azt lehet mondani, hogy "most" kell átváltani Accessre, és "azért, mert jobb lesz így, hidd el" :)

 

 

 

 

Előzmény: Sánta Kutya (SK) (21314)
Sánta Kutya (SK) Creative Commons License 2013.05.14 0 0 21314

Tágabb értelemben autóút minden útfelület, ahol autók közlekednek, a makadámúttól az autópályáig. De egy szakmai fórumon mégis illik pontosan használni a fogalmakat... A szakkifejezések jelentését nem lehet etimológiailag megközelíteni.

Persze különböző szigorúságú definíciók léteznek, és az én egyetemi adatbázistanárom még a dBase típusú rendszereket és az Accesst is filekezelő rendszereklnek mondta, mert nem elégítik ki az adatbázis-kezelőkkel szemben támaszott legszigorúbb követelményeket. A dBase esetében ez abszolút érthető számomra is.

 

Egy szakmai fórumon szerintem alapnak kéne tekinteni, hogy egy adatbázis legalább első normálformába rendezett táblákból áll, és tartalmaz a saját szerkezetére vonatkozó információkat. Még akkor elég sok mindentől eltekintettünk. :-) A riport az már más dolog, azzal tényleg lehet szabadabban bánni. De ha összemossuk az alapvető különbségeket, akkor hogy magyarázzuk el az idelátogatóknak, hogy mikor és miért érdemesebb átváltani pl. Accessre?

Előzmény: Törölt nick (21311)
Törölt nick Creative Commons License 2013.05.14 0 0 21313

www.myfonts.com/WhatTheFont/

 

Proba cseresznye?

Előzmény: skom10 (21312)
skom10 Creative Commons License 2013.05.14 0 0 21312

Hello

 

a képen látható DREAM TEAM'98 FC szövegnek nem tudja valaki így ránézésre,hogy mi lehet a font típus neve? régebbi excelben volt,de nem emlékszem már rá, most meg kellene...előre is köszönöm :-)

 

Előzmény: Törölt nick (21311)
Törölt nick Creative Commons License 2013.05.13 0 0 21311

Igen, emlékszem, hogy valaki a törzsvendégek közültöbbször szóvátette a különbséget, de arra nem, hogy ki volt.

Alapjában véve egyetértek, ugyanakkor szerintem tágabb értelemben minden adatbázis, amiből adatokat vesznek ki feldolgozás céljából. Csak gondold végig, mit jelent maga a szó.

Hasonlóképpen, minden végeredmény riport, ami a feldolgozás eredményeképp születik.

 

De értem, ha Te nem ebben az értelemben használod.

Sánta Kutya (SK) Creative Commons License 2013.05.13 0 0 21310

Nem hiszem, úgy elég nyakatekert lenne, csak egy sima sablonra gondoltam, a kód abban a munkafüzetben van, ahol a tényleges adatok (azt használjuk, onnan indítjuk az akciót).

Előzmény: Törölt nick (21307)
Sánta Kutya (SK) Creative Commons License 2013.05.13 0 0 21309

Az csak tesztből maradt ott, kikommentezve se jó, sőt már töröltem is a másodikat.

Előzmény: Törölt nick (21308)
Törölt nick Creative Commons License 2013.05.13 0 0 21308

Ez a két sor üti egymást:

 

        Range(Cells(sor + 1, l), Cells(sor + 1, l + 1)).HorizontalAlignment = xlCenterAcrossSelection
        Cells(sor + 1, l).HorizontalAlignment = xlCenter

 

A másodikkal felülírod az első formázást. Vedd ki, aztán szerintem jó lesz.

Előzmény: Sánta Kutya (SK) (21305)
Törölt nick Creative Commons License 2013.05.13 0 0 21307

A "Jóskapista" sablon az a munkafüzet, amiben a kód van?

Előzmény: Sánta Kutya (SK) (21298)
Törölt nick Creative Commons License 2013.05.13 0 0 21306

"Mit csinálhatok rosszul?"

 

Akkor lenne esélyem válaszolni, ha tudnám, hogy mit csinálsz. Valamint azt is, hogy mit szeretnél elérni.

Előzmény: pimre (21303)
Sánta Kutya (SK) Creative Commons License 2013.05.13 0 0 21305

Na ez viszont valamiért nem megy.

 

    For l = 3 To 13 Step 2
        'Range(Cells(sor + 1, l), Cells(sor + 1, l + 1)).MergeCells = True ' Megosztott munkafüzetben nem működik.
        Range(Cells(sor + 1, l), Cells(sor + 1, l + 1)).HorizontalAlignment = xlCenterAcrossSelection
        Cells(sor + 1, l).HorizontalAlignment = xlCenter
        Cells(sor + 1, l).Value = Cells(sor, 2).Value + (l - 1) / 2 - 1 ' A felette levő sor B oszlopából veszi a kezdődátumot
        Cells(sor + 1, l).NumberFormat = "mmmm d."
    Next l

Nem azt a szintaxist használtam a range-ben, mint te, mert a ciklusváltozót nehéz betűvé alakítani, de nem hiszem, hogy ez a gond, mert a kikommentezett sor ugyanezzel simán működik, ha nincs megosztva a munkafüzet.

Kipróbáltam, attól sem függ, hogy szegélyezek-e utána és attól sem, hogy ráeresztek-e explicit egy középre igazítást a következő sorban. Egyszerűen a bal oldali cellában marad.

Előzmény: Törölt nick (21291)
Sánta Kutya (SK) Creative Commons License 2013.05.13 0 0 21304

Köszönöm, ez bejött! Pimre megoldásával magam is kísérleteztem már, de az nem működik.

Előzmény: Törölt nick (21302)
pimre Creative Commons License 2013.05.13 0 0 21303

Hát ez a megfelelő elhelyezés az, ami nem megy nekem. Tegnap este óta próbálom, keresem fórumokon a megoldást, de nem találom. Pedig a súgó szerint működnie kellene: "In a Frame that contains other controls, the focus moves to the first control in the Frame, and subsequent keyboard events apply to the control that has the focus."

Annyit látok, hogy másoknak is van problémája ezzel. 

Próbáltam a setfocus utáni sorba betenni a doevents parancsot, de a füle botját sem mozgatja. Viszont ha megállítom a futást egy breakpoint beiktatásával, és a megállás után f5-el továbbengedem, akkor érvényre jut a parancs. 

Mit csinálhatok rosszul?

 

Előzmény: Törölt nick (21296)
Törölt nick Creative Commons License 2013.05.13 0 0 21302

ActiveWindow.ScrollRow  = 1

 

vagy általánosabban

 

Dim WB As Workbook

Set WB = Workbooks("ez az amaz.xls")

WB.Windows(1).ScrollRow=1

 

esetleg

 

ThisWorkbook.Windows(1).ScrollRow=1

Előzmény: Sánta Kutya (SK) (21300)
pimre Creative Commons License 2013.05.13 0 0 21301

Ha tudod a rögzítés utáni első sor számát (legyen a 3. sor) és az első oszlop betűjelét (legyen C), akkor range("C3").select, vagy cells(3,3).select. Erre gondoltál?

Előzmény: Sánta Kutya (SK) (21267)
Sánta Kutya (SK) Creative Commons License 2013.05.13 0 0 21300

Erre a kérdésre még mindig várom a megfejtéseket! :-)

Előzmény: Sánta Kutya (SK) (21267)
Sánta Kutya (SK) Creative Commons License 2013.05.13 0 0 21299

Mitől függ, hogy rendelkezésre állnak-e egy táblázat előző verziói a tulajdonságoknál? Ez Excel-kérdés vagy Windows-kérdés?

Ha leveszem és visszateszem a megosztást, az okozhatja az előző verziók megszűnését?

Sánta Kutya (SK) Creative Commons License 2013.05.13 0 0 21298

De azért érdekel az a kódrészlet, amivel új munkafüzetet lehet létrehozni.

 

 

A következő séma kéne:

Hozzál létre "Pista hh.nn" néven új munkafüzetet a "Jóskapista" sablonból. (Aktuális dátum)

Ha már van ilyen, írd felül.

Ha nem sikerül a felülírás, mert zárolva van, legyen "Pista hh.nn-1" stb.

Előzmény: Törölt nick (21290)
Sánta Kutya (SK) Creative Commons License 2013.05.13 0 0 21297

Adatbázisról ki beszélt itt? :-)

Talán már feltűnt, hogy háklis vagyok rá, ha összemossák a táblázatot az adatbázissal (talán mert egy adatbázis szerető gazdájaként élem a hétköznapjaimat). Igazából az én hibám, hogy nem kezdtem a riport szónál tiltakozni, csak éppen nem volt időm-erőm ezen szőrözni. Van egy sokfülű munkafüzet pü. adatokkal, amiből időnként újat kezdünk, és amikor újat kezdünk, akkor a régi munkalapjairól el kell végezni az összegzést, egy alkalommal, ennyi.

 

A rendszert örököltem, már így is sokat fejlesztettem rajta, és ha rajtam múlna, adatbázisban lenne, és nem lenne vele ennyi problémám, de erre még nem állunk készen.

 

Előzmény: Törölt nick (21290)
Törölt nick Creative Commons License 2013.05.13 0 0 21296

Nem tudom megmondani, miért teszi oda, ahova, viszont egy megfelelően elhelyezett SetFocus parancs csodákra képes :)

Előzmény: pimre (21295)
pimre Creative Commons License 2013.05.13 0 0 21295

Userformmal kapcsolatban kérek segítséget. Azt hogyan lehet befolyásolni, hogy a formon található boxok közül melyikre ugorjon elsőként a vezérlés? A sorrrendjüket tudom, hogy a tab order szabályozza. De, hogy melyikkel kezdődjön a munka, azt nem.

Nálam a következő a helyzet: Ha a programban inicializásáskor szépen előkészítem őket adatbeadásra, akkor azt teszi, amit gondolok, a tab order szerinti elsőre ugrik.

Hanem amikor már meglévő adatrekord módosítását készítem elő, azaz a már korábban munkalapra mentett adatmezők tartalmát kiolvasom és az értéket kiinduló értékként teszem a boxba (vegyesen vannak textboxaim és comboboxaim), akkor számomra rejtélyes okokból valahova a közepére áll. De, hogy miért, arra képtelen vagyok rájönni. Nem arra, amelyiknek először adtam értéket, nem is arra, amelyiknek utoljára. Nem is névsor szerint. Egy jó, hogy legalább következetesen ugyanarra az elemre lép elsőként, tehát feltehetőleg valami beállítja így, így hátha nekem is lesz módom befolyásolni a dolgot.

Redlac Creative Commons License 2013.05.11 0 0 21293

Köszönöm a segítséget, tökéletes lett.

Előzmény: tbando (21269)
pimre Creative Commons License 2013.05.11 0 0 21292

Köszönöm. Kérdésedre, hogy miért Excel, miért nem Access, egyszerű a válasz. Még soha nem dolgoztam az Accessel, és bár sejtettem, hogy az megfelelő lenne, nem mertem alapismeretek nélkül belevágni, mert nem tudtam felmérni, hogy az alapok elsajátítása mennyi időt igényelne. 

Az Excel programozás alapfogalmaival valamilyen szinten már megismerkedtem korábban, most az adatbevitel volt az, amit nulláról kellett megtanulnom. De ha ezzel a programmal most kész vagyok, meg fogom nézni az Access-t.

Előzmény: Törölt nick (21284)
Törölt nick Creative Commons License 2013.05.11 0 0 21291

Range("A2:C2").HorizontalAlignment = xlCenterAcrossSelection

Előzmény: Sánta Kutya (SK) (21289)
Törölt nick Creative Commons License 2013.05.11 0 0 21290

Ha ez egy riport, akkor miért a megosztott munkafüzetben van? A riport egy pillanatkép az adatbázis állásáról, bizonyos szempontok szerint összeállítva. Ha naponta készítenek tíz riportot, az mind benne van a megosztott workbook-ban? Nekem úgy lenne logikus, hogy a kolléga dolgozik a megosztott munkafüzetben, aztán megkattint egy gombot, erre a program létrehoz egy független munkafüzetet saját gépen, és abba generálja a riportot. Azt utána esetleg elmenti archiválás céllal, vagy elküldi a főnökének, vagy ilyesmi.

Előzmény: Sánta Kutya (SK) (21286)
Sánta Kutya (SK) Creative Commons License 2013.05.11 0 0 21289

Hoppá, erre nem is gondoltam, hogy lehet VBA-ban két adott cella közepére igazítani egy cella tartalmát?

Lehet, hogy ez lesz a legegyszerűbb, csak akkor meg a szegélyezés válik bonyolultabbá.

Előzmény: Törölt nick (21283)
Sánta Kutya (SK) Creative Commons License 2013.05.11 0 0 21288

MÉg az az út is nyitva áll, hogy az alsó táblázat külön lapra kerüljön, csak nem akartam, mert így is annyi füle van, mint az oroszoknak együttvéve, és gyengék a gépeink.

Előzmény: Sánta Kutya (SK) (21286)
Sánta Kutya (SK) Creative Commons License 2013.05.11 0 0 21287

Egyébként az adafeldolgozó munkalapokon is kell a fejléc, mert annak alapján tudnak beleírni a dolgozók, de azt nem kell makróval kezelni, mert fixen helyezkedik el a lap tetején.

Előzmény: Törölt nick (21285)
Sánta Kutya (SK) Creative Commons License 2013.05.11 0 0 21286

Ez egy riport. :-) Csak két táblázat van egymás alatt, és nem tudom, hány soros lesz a felső, ezért kezdtem úgy, hogy munkalap takarít, felső táblázat kész, alsó fejléc formáz...

Amit még lehetne, hogy külön takarítana az alsó táblázat fejléce fölött és alatt, előbb törölve a sorokat, aztán egyenként beszúrva annyit, ami kell... Sokkal bonyolultabb.

Vagy esetleg törölné az összes sort (nem tartalmat) a kilencediktől kezdve a maxsor-adikig, aztán a megfelelő lélektani pillanatban beszúrná a kívánt három sor fejlécet egy szervizmunkalapról másolva. Ezt elfogadja egy megosztott munkafüzet? Szerintem igen, mert sorbeszúrást meg törlést rendszeresen csinálunk (azt sem értem, miért kevésbé veszélyes, mint cellát egyesíteni, ebben még mindig nem vagyok meggyőzve, de mindegy). Valaki tud segíteni egy ilyen kóddal?

Előzmény: Törölt nick (21285)
Törölt nick Creative Commons License 2013.05.11 0 0 21285

Szerintem fejlécet a riport kapjon, ott van értelme, az adatfeldolgozásra szánt munkalapokon fölösleges. Vagyis: legyen egy riport template munkalap, előre megformázva, cellák egyesítve, stb. Erre a munkalapra csak meghatározott helyekre kelljen meghatározott adatokat VBA kóddal beírni, és ennyi. Minden egyéb művelet olyan munkalapokon történjék, ahol nincs cellaegyesítés. Az egyesített cellák kezelése VBA-ban egyenlő az ön-tökönszúrással és csak erős idegzetűeknek ajánlott. Esetleg alacsony vérnyomással küzdőknek.

Előzmény: Sánta Kutya (SK) (21278)
Törölt nick Creative Commons License 2013.05.11 0 0 21284

1. A különféle vezérlők betűtípusát a Font property állítja be. Ez tervező módban is elérhető, és a látszat ellenére nem csak a betűtípus nevét, hanem méretét, Bold, Italic tulajdonságát is lehet vele állítani.

2. Én a DoEvents utasítást próbálnám meg, valahogy így:

 

    Application.Cursor = xlWait
    DoEvents
    ThisWorkbook.Save
    Application.Cursor = xlDefault

3. Kinek hiszel te engem? :)

Fogalmam sincs, hogy a szerzők mit gondoltak akkor, amikor ezt így oldották meg.

 

4. Szerintem teljesen jó az új űrlap beiktatása. A funkciók logikus csoportosítása és elkülönítése talán így oldható meg a legtisztábban. Vannak persze más lehetőségek is, pl ha magán az adatbeviteli űrlapon van egy választó funkció, amellyel meglévő rekordok közül lehet választani módosításra, és amely elrejthető Visible = False beállítással, ha új rekordról van szó. De tapasztalatom szerint a leendő felhasználók informatikai intelligenciaszintjére tekintettel általban nem érdemes komplexebb megoldásokat erőltetni, inkább törekedni kell a minél egyszerűbb, lehetőleg csak szándékosan eltéveszthető megoldásokra.

 

Nekem is felmerült egy kérdésem. Miért Excel, miért nem Access?

Előzmény: pimre (21262)
tbando Creative Commons License 2013.05.10 0 0 21282

=Ha($a$1=1;eredmény;"")

 

A képlet beírása után persze nem árt, ha írásvédetté teszed a cellákat.

 

Egy másik megoldás, hogy az eredménycellákba minden faxni nélkül beírod az eredményeket, de a láthatóságukat feltételes formázással szabályzod. Pl ha $a$1="" akkor a fontok szine egyezzen meg a cellaháttér színével (lehet választani a fehérszint is). Ekkor az eredmény csak akkor fog látszódni, ha a1-be beírsz valamit. A cellák írásvédetsége természetesen itt is megfontolandó.

 

A fifikás diákok persze még igy is leleshetik az eredményt a szerkesztőlécről. Ez ellen a szerkesztőléc kiiktatásával védekezhetsz.

 

 

Előzmény: syrius (21280)
Redlac Creative Commons License 2013.05.10 0 0 21281

Némi angol tudás hiányom van :-)

Előzmény: Törölt nick (21268)
syrius Creative Commons License 2013.05.10 0 0 21280

AZt szeretném, hogy bizonyos cellák tartalma csak egy adott cella értékétől függően jelenjen meg. Konkrétan, adott egy csomó matekfeladat generálva, eredményekkel együtt, ám azt nem akarom láttatni, csak ha pl A1 = 1, szóval ez a cella egyfajta kapcsoló lenne. Segítsetek :-)

Redlac Creative Commons License 2013.05.10 0 0 21279

Köszi, szerintem így menni fog.

 

Kicsit később összerakom.

Előzmény: tbando (21269)
Sánta Kutya (SK) Creative Commons License 2013.05.10 0 0 21278

Miért, mi bajod vele? Egy táblázathoz a formázás is hozzátartozik, és a fejléckészítésben nehezen nélkülözhető az egyesítés.

 

Előzmény: Törölt nick (21276)
Sánta Kutya (SK) Creative Commons License 2013.05.10 0 0 21275

De ugyanennyi erővel írhatnak mind a ketten ugyanabba a cellába is... Azt is kezelni kell valahogy.

Előzmény: Törölt nick (21274)
Sánta Kutya (SK) Creative Commons License 2013.05.10 0 0 21273

Na mindegy, a tanulság megvan megosztott munkafüzet makróit mindig megosztva kell tesztelni...

Előzmény: Sánta Kutya (SK) (21272)
Sánta Kutya (SK) Creative Commons License 2013.05.10 0 0 21272

Talán ez a válasz: http://www.mrexcel.com/forum/excel-questions/654913-macros-no-longer-work-when-workbook-shared.html

Megosztott munkafüzetben egyáltalán nem lehet cellákat egyesíteni vagy szétbontani. Suxxxx&#^˘°^˘°^#@@#&&{&@{>#&˘!!!!

 

You do not expect to change the following features, which cannot be modified after a workbook is shared: merged cells, conditional formats, data validation, charts, pictures, objects (including drawing objects), hyperlinks, scenarios, outlines, subtotals, data tables, PivotTable reports, workbook and worksheet protection, and macros.

 

Egy csomó érthetetlen korlátozás. :-((((( Még jó, hogy dolgoztam vele, most tervezhetem át a táblázatot ortopédra.

Előzmény: Sánta Kutya (SK) (21271)
Sánta Kutya (SK) Creative Commons License 2013.05.10 0 0 21271

A Google nem nagyon segít, úgy tűnik, ez a hibakód kb. egymillióféle hibaüzenethez tartozik.

Más is beleszaladt ebbe: http://www.mrexcel.com/forum/excel-questions/223690-share-workbook-mergecells-property-error.html, de válasz ott sincs.

Előzmény: Sánta Kutya (SK) (21270)
Sánta Kutya (SK) Creative Commons License 2013.05.10 0 0 21270

 

Ebben az a furcsa, hogy a megosztás előtt még futott a makró, és a próbatáblázaton is látom, hogy megosztás nélkül fut a makró, megosztott módban meg nem. És ráadásul debugolni sem lehet, mert a hiba csak megosztva jelentkezik, és olyankor nincs kód... A 22-es csapdája, nem?

 

Tippem, hogy talán ez lehet a ludas:

    Set küzdőtér = Range("A" & sor & ":N" & 2 * maxverseny + 30)
    küzdőtér.RowHeight = 12.75
    küzdőtér.MergeCells = False ' Cellaegyesítések felbontása

 

Mi az, ami itt másképp működik egy megosztott táblázatban, mint egy nem megosztottban?

tbando Creative Commons License 2013.05.10 0 0 21269

Első oszlop: x tengely pontjai

Majd a többi oszlopba kiszámolod az egyeneseidnek a abszcisszaértékekhez tartozó értékeit. Amelyik abszcisszaérték kivűl esik az érdeklődési körödön annak az y-celláit üresen hagyod.  

Majd az XY diagram lehetőségeiből a több vonalast választod. És kész.

 

Ide mellékelek egy ábrát is, hátha sikerül.

 

 

 

Előzmény: Redlac (21266)
Törölt nick Creative Commons License 2013.05.10 0 0 21268

Lehet, hogy van egyszerűbb módja, de így lehetségesnek tűnik:

http://peltiertech.com/WordPress/connect-two-xy-series/

Előzmény: Redlac (21263)
Sánta Kutya (SK) Creative Commons License 2013.05.10 0 0 21267

Köszi, szuper minden. Már csak egyre nem jövök rá: hogy lehet a scrollbart visszatenni a makró végén a lap tetejére? (Azaz a rögzítés alatti sorra. Szóval ütközésig fel.)

Előzmény: Delila10 (21123)
Redlac Creative Commons License 2013.05.09 0 0 21266

Sajnos nem...

 

Ezzel már próbálkoztam :-(

Előzmény: Törölt nick (21265)
pimre Creative Commons License 2013.05.09 0 0 21264

És még egy kérdés: Az elkészült adatfelviő lap alapján kitöltődik az excel tábla, de szóba jöhet a már korábban felvitt adatok módosítása. Ez az adatfelviteli képernyővel megoldható, annyi különbséggel, hogy a userformon az egyes boxok nem üresek, hanem a beolvasott adatokat tartalmazzák.

 

Amit még nem gondoltam végig, illetve kissé bizonytalan vagyok, hogy miként tudom megoldani a korábban felvitt adatok közti böngészést, hogy aztán eljussak az adatfelviteli képernyőig. A keresésnek nyilván az adatfelviteli userform inicializálása előtt kell megtörténnie. Kérdés, hogy a keresést hova tegyem.

 

Pillanatnyilag az a struktúra, hogy van egy userform, ami a menüt tartalmazza (Adatfelvitel, adatmódosítás stb. gombokkal). És ezen az adatfelvitel választása után hívom meg az adatfelviteli képernyőt tartalmazó userformot.

 

Az elképzelésem, hogy az adatmódosítás előkészítésére kénytelen leszek közbeiktatni egy új userformot, amin csak egy választó eszköz van (ez feltehetőleg listbox lesz, de még ebben sem vagyok biztos), és a kiválasztás után ez hívja be az adatfelviteli formot.

 

Jó ez így? Vagy van egyszerűbb megoldás, mint egy közbeiktatott userform használata?

Előzmény: pimre (21262)
Redlac Creative Commons License 2013.05.09 0 0 21263

Sziasztok!

 

Diagramot szeretnék készíteni, de nem megy az adatok elrendezése.

 

Valami ilyet szeretnék megkapni:

 

Köszi előre is

pimre Creative Commons License 2013.05.09 0 0 21262

Jimmy még egyszer nagyon köszönöm. Áttértem a comboboxra, ahogy ajánlottad, és azóta elkészült az adatfelviteli rész, és működik végre az adatlapom. A többi adatlap az már a meglévőnek a klónja lesz néhány további adattal, tehát nem félek tőle.

 

Azért beleütköztem néhány problémába:

 

1. Egyes boxoknál (egy éveket bekérő textbox, aminek adtam bemenő értéket - évszázad, amit csak ki kell egészítenie a felhasználónak, aztán több combobox)  a default betütípus bold volt, anélkül, hogy szándékom szerint beállítottam volna. Másoknál normál szöveg volt. Végül a programból a .Font.Bold = false beállítással el tudtam érni a normál szöveget. Most már csak kíváncsi vagyok, hogy mitől állítódik alaphelyzetben nullára, valamint arra, hogy jól látom-e, hogy ezt a propertiesnél nem tudom beállítani, csak programból.

2. A programban az egyes tételek kitöltése és az adatsor táblázatba írásakor egyben mentem is az állományt biztonsági okokból. És ez dolgozik 2-3 másodpercet. Ezért erre az időre szeretném bekapcsolni a homokórát (Application.Cursor = xlWait). Az viszont csak olyan késleltetéssel jelentkezik, hogy többnyire nem is jelenik meg, vagy legfeljebb a várakozás utolsó másodpercének töredékére. Ha beiktatok a homokóra után egy várakozást (pl. msgbox), akkor megjön a homokóra. Lehetséges programból kikényszeríteni a homokóra azonnali megjelenését?

3. A következő inkább csak észrevétel, nem annyira kérdés. Teljesen megdöbbentett, hogy a formokon nem működik az eseménykezelő tiltása (Application.EnableEvents = False). (Legalábbis 2003-as verzió alatt) Ha a change funkció módosítja a box értékét, simán visszaugrik a vezérlés a change elejére. Aztán később megtaláltam ezt dokumentálva (http://www.cpearson.com/excel/SuppressChangeInForms.htm), és volt javaslat a kivédésére is. Azért érdekelne, hogy ezt szándékosan oldották meg így, vagy egyszerűen elfelejtkeztek róla a szerzők.

 

Előzmény: Törölt nick (21228)
Törölt nick Creative Commons License 2013.05.09 0 0 21261

Jah, a BW kicsit komplexebb (rendszeres loadok, tobb helyrol: SAP + belsos egyeb progi), hasznalunk olyat is dogivel.

Utanakerdezek majd.

Előzmény: Törölt nick (21258)
Törölt nick Creative Commons License 2013.05.09 0 0 21260

Siman a "0"&A1 azert nemjo, mert ha eredetileg is 4 karakteres az azonosito, akkor hozzarakja a 0-t amivel 5 karakteres lesz es vegkepp nem fogja megtalalni az erteket.

 

RIGHT("0"&A1,4), pedig hozzaadja a 0-t minden ertekhez, majd jobbrol 4 karaktert levag, igy mindig meglesz a 4 es 0 is lesz elottuk, ha 3 karakteres az eredeti azonosito.

 

A getpivot meg a vlookup utan talan leghasznosabb fuggveny amit eddig hasznaltam :)

Az SAP-rol mint rendszerrol gondolom hallottal mar, itt csak annyit ertettem alatta, hogy egy SAP-bol lehuzott adatbazis az egyik kiindulo pont.

Előzmény: tbando (21259)
tbando Creative Commons License 2013.05.09 0 0 21259

Én is töprengtem a problémádon, és épp akartam javasolni, hogy próbáld ki, hogy a "0"&A1-t textform'tummá alakítva elfogadja-e a getpivot, amikor láttam, hogy már oké a helyzet. De azért megkérnélek, hogy nézd meg. Kiváncsi lennék ugyanis, hogy jó volt-e a megérzésem. Magam sajnos nem tudom leellenőrizni, mert lövésem sincs, hogy mi az a sap, és a getpivothoz sem volt még szerencsém.

Előzmény: Törölt nick (21257)
Törölt nick Creative Commons License 2013.05.09 0 0 21257

Igen tenyleg a GETPIVOTOT kell buzeralni.

 

Ez lett a megoldas a getpivoton belul: RIGHT("0"&cella,4).

 

Ilyen az amikor ertelmes fonoke van az embernek :)

Előzmény: Törölt nick (21251)
Törölt nick Creative Commons License 2013.05.09 0 0 21256

OFF

Ja megegy: egyebkent van mod SAP-t direktben interfaceelni Excellel (es akkor feltelezem Access-el is). Meg nem hasznaltam, csak mutattak hogy van ilyen. Kell neki egy kulon plugin amugy.

ON

Előzmény: Törölt nick (21255)
Törölt nick Creative Commons License 2013.05.09 0 0 21255

Lehet felreertheto voltam, az SAP meg az Access kulon van :)

Szal van egy SAP letoltes (system->list->export siman) meg egy Access adatbazisbol ctrl+c / ctrl+v.

Előzmény: Törölt nick (21254)
Törölt nick Creative Commons License 2013.05.09 0 0 21250

A kovetkezo problemam van:

 

Adott 2 kulso forrasbol (SAP + Access) szarmazo adatbazis melynek van 1 kozos oszlopa, amiben egy alapvetoen 4 szamjegyu azonosito kod van.

Ez a kod van amikor 0+3szamjegy es van amikor 4 szamjegy formaban van.

Az SAP-os letoltes a 0+3 formatumu azonositokbol mindig lenyeli a nullat (tehat pl. 0123-bol 123 lesz csak), ellenben az Access-es meghagyja a 0-t, sot alapbol Textkent adja meg (pl. '1234).

 

Mindket tablazotbol van csinalva egy pivot, majd egy harmadikban hasznalnam a =GETPIVOTDATA() fv-t rajtuk.

 

A fuggveny ezt az azonositot egy cellabol veszi es a problema hogyha oda ugy irom be h '123, akkor csak az SAP-os adatbol szedi ki a szamot, ha viszont '1234 akkor meg csak az Access-esbol.

 

Nyilvan valahogy kozos formara kene hozni ezeket, ami nem is bonyolult:

(=IF(LEN(A1)=3,"0"&A1,A1) es ezt siman meglehet adni a kiindulo pivotoknak, azonban ennek ellenere nem szedi be rendesen az ertekeket.

 

Probaltam mar a VALUE(), FIXED(), TEXT() fuggvenyeket is, de valahogy egyikkel se jo.

 

Valaki valami otlet?

Előzmény: illusion11 (21249)
illusion11 Creative Commons License 2013.05.09 0 0 21249

Köszönöm Mindenkinek a segítséget!

Előzmény: E.Istvan (21238)
tbando Creative Commons License 2013.05.08 0 0 21248

A 2007-es menüszalagon: Kezdőlap-Stílusok-Formázás táblázatként

Előzmény: illusion11 (21246)
Törölt nick Creative Commons License 2013.05.08 0 0 21247

Nemtudom, nem szopatom magam magyar nyelvu dolgokkal :)

A rendesben a Home -> Styles ribbonon van (a Home-ot nemtudom hogy forditjak, a styles feltetelezem stilusok)

Előzmény: illusion11 (21246)
illusion11 Creative Commons License 2013.05.08 0 0 21246

Ezt hol találom a magyar nyelvű excelben?

Előzmény: Törölt nick (21239)
tbando Creative Commons License 2013.05.07 0 0 21245

Ezentúl én is élek vele. Idáig nem ismertem.

Előzmény: Törölt nick (21244)
Törölt nick Creative Commons License 2013.05.07 0 0 21244

Igen a kepletatiras is egy funkcio. Szerintem baromi jo dolog ez, en amiota ismerem minden tablazatomra (akarmilyen kicsi is) hasznalom.

Előzmény: tbando (21243)
tbando Creative Commons License 2013.05.07 0 0 21243

Csak a tábla alatti sorba írás hatását teszteltem. Arra nem figyeltem, hogy hozzá adja-e a sort a táblához, de úgy emlékszem mindig hozzá adta. A vonatkozó képleteket azonban nem számolta ki mindig. Most, hogy próbálgatom előidézni , nem sikerül. Mindig kiszámítja az új sor képletét. Sőt csinál valami meglepőt is. Ha átirok egy képletet a képletes oszlop bármelyik cellájában, akkor átírja az oszlop összes képletét. De úgy látom csak akkor, ha az új képlet elemei konstansok vagy ugyanabban a sorban vannak.  Na, még tanulmányozni kell :))).

 

Előzmény: Törölt nick (21242)
Törölt nick Creative Commons License 2013.05.07 0 0 21242

Hogy erted? Ha az igy formazott tabla melleti oszlopba vagy alatta levo sorba irsz egy szamot akkor mindig beadja a tablaba. Plussz a vonatkozo kepleteket is kiszamolja automatikusan.

Előzmény: tbando (21241)
tbando Creative Commons License 2013.05.07 0 0 21241

Megnéztem ezt is. Ez se működik mindig.

Előzmény: Törölt nick (21239)
tbando Creative Commons License 2013.05.07 0 0 21240

A probléma csak az, hogy nálam az "Adattartomány végén a formázás és a képletek folytatása" ki volt pipálva, és így volt, hogy hol működött, hol nem. De most valszeg rájöttem a rejtett feltételre, ami még szükséges hogy folytassa a képletírást: 4 azonos képletnek kell fölötte lennie, hogy folytassaa képletírást. Bár most a próbálkozások során, volt egy olyen kimenet is, hogy 6 azonos képlet közül a 6-ikat manuálisan megváltoztatva a 7-iknél a 6-oshoz tartozó képletet írta, de a 8-9 nél már nem folytatta. Aztán a 10-iktől már igen. Egy kicsit zavaros :))).

 

Előzmény: E.Istvan (21237)
Törölt nick Creative Commons License 2013.05.07 0 0 21239

Ez nem a legjobb megoldas szerintem.

A legjobb az a Home -> Format as Table gomb hasznalata. (ez 2007 es felette van csak).

Előzmény: E.Istvan (21237)
E.Istvan Creative Commons License 2013.05.07 0 0 21238

tbando írása alapján a dupla beírás megakadályozása:

 

Jelöld ki az egész Z oszlopot. Adatok érvényesítése

Megengedve: Egyéni

Képlet:=DARABTELI($Z:$Z;Z1)=1

 

Ez viszont csak a közvetlen kézi beírást akadályozza meg. Másolás->beillesztéskor az adatérvényesítést az excel nem vizsgálja.

Előzmény: illusion11 (21231)
E.Istvan Creative Commons License 2013.05.07 0 0 21237

Szerintem:

 

Az Excel beállításai

Speciális

Adattartomány végén a formázás és a képletek folytatása

Előzmény: tbando (21236)
tbando Creative Commons License 2013.05.07 0 0 21236

Egy táblázatba új adat beírásakor az excelem van amikor az új sorba automatikusan átveszi a fölötte levő sorból az adatra hivatkozó függvényeket, más esetekben nem.  Az lenne a kérdésem, hogy hogy lehet ezt a funkciót ki/be kapcsolgatni.  A súgóban nem találom.

tbando Creative Commons License 2013.05.07 0 0 21235

A ByVal =Max(COUNTIF(Z:Z;Z1))>1 meg az is megoldható, hogy az új duplumot már el se fogadja. De ennek megírása nekem még túl komplikált.

Előzmény: Törölt nick (21232)
Törölt nick Creative Commons License 2013.05.07 0 0 21234

Elnyelte ez a fos a hozzaszolasom de en is ezt irtam:

 

Conditional formatting es Countif fuggveny. Amugy sztem =1 -el is mukodik (en ugy csinaltam).

 

A meglevo adatok szuresere meg a Data -> Data Tools -> Remove duplicates valo.

Előzmény: Törölt nick (21232)
Törölt nick Creative Commons License 2013.05.07 0 0 21233

szerk.: A Formula Is utáni

(~

jel véletlenül került bele, azt ne olvasd hozzá. :)

Előzmény: Törölt nick (21232)
Törölt nick Creative Commons License 2013.05.07 0 0 21232

Szia,

 

egy módszer:

1. jelöld ki az egész Z oszlopot (az oszlop betűjelére kattintva fenn)

2. feltételes formázás (2003-as angol excelben Format/Conditional Formatting, de a többiben is megtalálható valahol :P)

3. a feltételnél válaszd kil, hogy Formula Is (~, és a képlethez írd be, hogy =COUNTIF(Z:Z;Z1)>1, és mondjuk válaszd ki, hogy a cella háttérszíne piros legyen

 

Így azok a számlaszámok, amik egynél többször szerepelnek, pirosak lesznek. Amiket utólag írsz be, azok is. Persze csak akkor, ha teljes az egyezés (nincs benne felesleges space pl.)

 

Magyarul valahogy így nézhet ki a függvény: =DARABTELI(Z:Z;Z1)>1

 

Nekem 2003-as excelem van, de itt egy link, hogy hol találod a feltételes formázást későbbi excel verzióban:

("A formázandó cellák meghatározása képlettel")

http://office.microsoft.com/hu-hu/excel-help/felteteles-formazas-megadasa-modositasa-keresese-vagy-torlese-HP010342157.aspx?CTT=5&origin=HA010370614#BM10

 

Előzmény: illusion11 (21231)
illusion11 Creative Commons License 2013.05.07 0 0 21231

Tisztelt Topikozók!

 

Segítséget szeretnék kérni az alábbi problémában.

 

Adott egy nagyméretű tablázat, amit folyamatosan bővítek, de el szeretném kerülni az a hibát, hogy az egyik oszlopában duplán írjak be egy adatot. (számlaszámot) Ez csak az egyik oszlopra vonatkozik, nevezzük "Z" oszlopnak. A többi oszlopban lehetnek ismétlődések, csak ebben nem.

Meg lehet oldani úgy, hogy a jövőben ne engedjen beírni olyan számlaszámot, ami már eddig szerepelt, valamint azt, hogy az előzőekből-eddigiekből kiszűrni a duplikáltakat? A szűrésnél próbáltam az autoszűrést, de több mint 500 darab van, azt egyenként végig ellenőrizni nehézkes.

 

Előre is köszönöm a segítséget.

Slient Creative Commons License 2013.05.07 0 0 21230

Köszönöm a válaszokat:)

pimre Creative Commons License 2013.05.06 0 0 21229

"Ismerem" A Combobox vezérlőt annyiban, hogy mielőtt a munkába belekezdtem, április elején rászántam néhány napot, és áttanulmányoztam a Userformokhoz felajánlott mind a 16 vezérlőt. Az ezekre adott tankönyvi példákat megcsináltam, és átgondoltam, és érteni véltem. Szóval ilyen szintű az "ismeretem"

Aztán valahogy szimpatikusabbnak látszott a ListBox a ComboBox helyett, és az utóbbit ki is hagytam a számításból.

 

Viszont most javaslatodra megnéztem a még egyszer a tankönyvi példát, és úgy látom, melléfogtam. Holnap nekilátok a ComboBoxos megoldásnak. És nagyon köszönöm.

Előzmény: Törölt nick (21228)
Törölt nick Creative Commons License 2013.05.06 0 0 21228

Annyit még muszáj hozzátennem, hogy a név előtagot gyakorlatilag minden weblapon, ahol regisztrálni kell, Combobox-szal kérik be. Azt pont erre találták ki.

Ha valami okból mégiscsak ragaszkodsz a listboxhoz, akkor lehet trükközni a magasságokkal, ahogy mutattam 21227-ben.

 

 

Előzmény: Törölt nick (21227)
Törölt nick Creative Commons License 2013.05.06 0 0 21227

Esetleg ezt is érdemes lehet kipróbálni:

 

Private Sub ListBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    ListBox1.Height = 100
End Sub

Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    With ListBox1
        .Height = 20
        .TopIndex = .ListIndex
    End With
End Sub

Előzmény: pimre (21224)
Törölt nick Creative Commons License 2013.05.06 0 0 21226

Ismered a Combobox vezérlőt?   :)

Előzmény: pimre (21224)
pimre Creative Commons License 2013.05.06 0 0 21225

A kép lemaradt. Küldöm külön.

Előzmény: pimre (21224)
pimre Creative Commons License 2013.05.06 0 0 21224

"Annak mi a szerepe, hogy minden egyes Listbox Enternél újraírod a listbox tartalmát?". Szerepe nincs, oka van. Nevezetesen a saját hülyeségem. Hát persze, hogy a form inicializálásakor kell megadni a kezdőértékeket.  Utólag nem is értem, hogy jutott eszembe az Enter eseményhez rendelni ezt. A  figyelmeztetésed máris enyhítette a gondjaimat.

 

A feladat egyébként egy tagnyilvántartó program, ahol  sok adatot fognak bekérni az egyes személyektől, és ezek egy része listából választható. Ezeket választom listboxból.

 

Namármost szeretném nemcsak bolondbiztossá tenni, hanem jó kinézetűvé is. Arra például nem ismerek megoldást, hogy a listbox csak akkor nyíljon fel, ha rámegyek, és elhagyáskor pedig csak egy sor látsszék, ne az egész listbox.

 

Ezért a következőt tervezem, és lehet, hogy ezzel bonyolítom túl a feladatot. Például amikor a név előtagot (dr., ifj., id. stb.) kell megadni, akkor erre egy textboxot készítek és egy nem látható listboxot. A textboxba lépve a visible tulajdonság felcserélődik, így a listbox látható. Erre a textbox enter eseményét használom, és a végén a setfocus-al állok rá a listboxra. Így:

 

Private Sub txtNévelőtag_Enter()

txtNévelőtag.Visible = False

lstnévelőtag.Visible = True

lstnévelőtag.SetFocus

End Sub

 

 

A listbox választásnál (ezt az afterupdate eseménnyel vizsgálom) a listbox eltűnik, és a textboxba kerül a választott szöveg.

txtNévelőtag.Value = ide kerül a lstnévelőtag.Selected(i) szerint kiválasztott elemhez tartozó név

lstnévelőtag.Visible = False

txtNévelőtag.Visible = True

 

Küldöm a megoldás képi eredményét is. De bizonyára van egyszerűbb megoldás. Ráadásul a gondjaimat azt hiszem az okozza, hogy a textboxra való visszalépéskor (mert ugye azt is kezelnem kell, ha téveset választott a felhasználó, és javítai akarja), szóval ilyenkor nem mindíg tudom uralni, hogy mikor melyik eseményre szalad a program. Ezért néha nem az az eredmény, amit várnék. De tesztelni meg nehezen tudom, mert a program megállítása után néha más történik, mint anélkül. Van esetleg valami nyomkövetési eszköz, mondjuk létrehozható egy log fájl?

 

 

Előzmény: Törölt nick (21219)
tbando Creative Commons License 2013.05.06 0 0 21223

Nem vagyok benne biztos, hogy jól értem a problémádat, de ha az lenne, hogy az Fkeres képletben meg akarod változtatni az oszlophivatkozást, akkor annak legegyszerübb módja, hogy nem konstanssal, hanem cellahivatkozással mutatsz rá az oszlopra. Esetedben tehát a kettes helyett mondjuk $A$1-t írsz be képletedbe. Mert így csak az A1 cellát kell átírnod az új oszlophivatkozáshoz.

Előzmény: Slient (21217)
Törölt nick Creative Commons License 2013.05.06 0 0 21222

Szép, sokkal egyszerűbb mint az én megoldásom.

Előzmény: E.Istvan (21221)
E.Istvan Creative Commons License 2013.05.06 0 0 21221

Egyszerű cserével megoldható.

 

Kijelölöd a kérdéses cellákat, majd keresés és csere

Keresett szöveg: ;2;

Csere erre: ;amire cserélni akarod;

Keresés helye: Képletek

 

 

Előzmény: Slient (21217)
Törölt nick Creative Commons License 2013.05.06 0 0 21220

*az előző komment eltűnt valami fekete lyukban, de akkor megpróbálom még egyszer*

 

Szerintem nem lehet máshogy, csak makróval. Írtam egyet, ami az összes kijelölt cellán végigmegy és kicseréli az oszlopot jelző karaktert. A kódban kettest cserél ki hármasra, de ezt könnyen át tudod írni (az elején van, Const-tal kezdődő sorok). A vesszőket hagyd benne! Remélem működik nálad is.

http://pastebin.com/XnqYcxFf

Előzmény: Slient (21217)
Törölt nick Creative Commons License 2013.05.06 0 0 21219

Annak mi a szerepe, hogy minden egyes Listbox Enternél újraírod a listbox tartalmát? Ezt én biztos nem így csinálnám. De hogy hogyan, azt nem tudom, mert nem értem, mire szolgál az űrlap. Ha van kedved mesélni róla, részletekbe menően, szívesen elolvasom :)

Az érdekelne, hogy milyen feladatot akarsz ezzel a formmal megoldani, és hogyan képzelted el a megoldást lépésről lépésre (de csak nagy vonalakban).

 

 

 

Előzmény: pimre (21218)
pimre Creative Commons License 2013.05.06 0 0 21218

Még annyit, hogy a beírt kódból igyekeztem csak a lényeget (a tömb feltöltését) feltüntetni. Így kimaradt néhány sor, a tömb felállítása, meg néhány kezdőérték beállítás. Csak nem akartam, hogy túl terjengős legyen. A legfontosabb értékadások így is látszanak.

Előzmény: pimre (21216)
Slient Creative Commons License 2013.05.06 0 0 21217

sziasztok!

Lehetséges az egymás melletti cellákban szereplő függvénybeállítások egyszerre történő változtatása? Pl: =fkeres(B3;C3:D16;2;hamis) Ki szeretnék jelölni egyszerre több cellát, és a harmadik értéket, az oszlopszámok(ebben az esetben a kettes) szeretném megváltoztatni egyszerre sok cellában, h ne kelljen külön-külön mindet átírni. Köszönöm!

pimre Creative Commons License 2013.05.05 0 0 21216

Elakadtam a ListBox használatával. A következőt szeretném: A felhasználó rákattint a listbox form-ra, ekkor megjelenik a lista. (Ezt az listbox enter() eseményéhez kötöttem) A lista kezdőértékét szeretném alaphelyzetben a 0. elemen tartani, ezért induláskor az adott listbox selected(0) értékét true-ra állítom. Valahogy így:

 

Private Sub lstVálasztó_Enter()

Dim utolsósor As String, i As Integer, sorszám As Integer, üreslehet As Boolean

lista(0, 0) = "üres" ' A név

lista(0, 1) = 0 ' A kód

For i = 1 To utolsósor ' Ha üres lehet, akkor 2-től indul a lista a ciklusban

    lista(i, 0) = név beolvasás munkalapról

    lista(i, 1) = kód beolvasás munkalapról

Next i

lstVálasztó.List = lista

lstVálasztó.ListIndex = lista(0, 1)

lstVálasztó.Selected(0) = True

End Sub

 

És azt is szerettem volna, hogy kiválasztott elem látható addig, amíg a felhasználó nem választ másikat. Aztán a választás után szerettem volna az afterupdate() eseménynél a selected elem kiolvasásával megkeresni a választást.

 

Már azon több mint két  napja kínlódom, hogy a program automatikusan végrehajtja az enter után az afterupdate-t is. Azt már nagy nehezen megoldottam egy jelzővel, hogy ez ekkor még ne végezzen érdemi munkát, csak majd ha a felhasználó választott a listából. Ez még működik is.

 

Azt viszont nem jön össze, hogy ne módosítsa a program önkényesen az általam megadott értéket. Ahogy látom, ez attól függ, hogy a formon belül melyik (akkor még nem látható) elem helye felett állok az egérrel a form kiválasztásakor. Tehát ha a még üres listbox teteje környékén kattintok az egérrel, akkor a legelső elem jön be, ha kicsit lejjebb, akkor a 2. és így tovább.

 

És ez azért kellemetlen, mert a későbbiekben szeretném az adatmódosítás lehetőségét is megoldani, ahol különösen fontos lenne, hogy belépéskor az az elem legyen kijelölve, amelyet beolvastam a már korábban kitöltött munkalapról, és ne mutasson hamis adatot.

 

Remélem, hogy sikerült érthetően leírnom a problémámat. Van erre megoldás?

 

tbando Creative Commons License 2013.05.05 0 0 21215

Kösz. A belinkelt oldalt is. 

Előzmény: Törölt nick (21214)
Törölt nick Creative Commons License 2013.05.05 0 0 21214

Valahogy így:

ActiveCell.Comment.Text ("újszöveg")

 

De itt van egy csomó minden erről:

http://www.contextures.com/xlcomments03.html

Előzmény: tbando (21213)
tbando Creative Commons License 2013.05.05 0 0 21213

Hogyan kell szintaktikailag helyesen megadni, hogy a makró egy már meglevő cellakommentet felülírjon?

tbando Creative Commons License 2013.05.05 0 0 21212

Nem igen vagyok otthon a diagramokban, így nem tudtam, hogy az oszlopok szinét manuálisan is be lehet állítani. De ha lehet, akkor  a szinezésük biztosan megoldható makróval. De nem tűnik egy egyszerű feladatnak, legalábbis az én szintemen.

Előzmény: Angie041 (21211)
Angie041 Creative Commons License 2013.05.05 0 0 21211

Sejtettem, hogy nem lehet. Úgy oldottam meg, hogy a hónap értékeit minden tárgy esetében csökkenő sorrendbe tettem és utólag manuálisan színeztem az oszlopokat egyesével az eredeti tábla alapján. Azért köszi!

Előzmény: tbando (21210)
tbando Creative Commons License 2013.05.03 0 0 21210

Szerintem nem fog menni. De azért kiváncsi lennék, hogy mire és miért lenne jó a hónapok ilyesfajta rendezése.  

Előzmény: Angie041 (21209)
Angie041 Creative Commons License 2013.05.03 0 0 21209

A kép lemaradt, Office 2007-ben szeretném megoldani a problémát.

Angie041 Creative Commons License 2013.05.03 0 0 21208

Sziasztok! A kérdésem a követlező lenne: szeretnék készíteni egy olyan oszlopdiagramot, mint a mellékelt képen, hogyan tudnám megoldani azt, hogy itt például tantárgyi csoportonként mindig a legnagyobb értékű oszlop kerüljön előre (ami tegyük fel minden tárgy esetében másik hónap) és az csökkenő tendenciát mutasson a csoporton belül, tehát az informatikánál a balról jobbra haladva a lila, piros, zöld, kék sorrend, de ha egy másik tárgy esetén a piros oszlop a legmagasabb, akkor az kerüljön előre, és így látszódjanak az értékek? (Az egyszerű szűrővel rendezés azért nem jó esetemben, mert nem minden tantárgy esetében ugyanaz a tendencia a hónapokon végighaladva.) Köszönöm előre is a segítséget!

wartburg1963 Creative Commons License 2013.05.02 0 0 21207

Kipróbáltam: teljesen korrekt.

Köszönöm a gyors választ.

:-))

 

Előzmény: tbando (21205)
tbando Creative Commons License 2013.05.02 0 0 21206

De a legegyszerübb megoldás, hogy a C oszlopban végigsorszámozod a rekordokat 1-től végig. Aztán csinálsz egy sorbarendezést az AI minősítő oszlopra. És Kész. El vannak választva. Ha vissza akarod kapni az eredeti sorrendet akkor újra egy sorbarendezés, most a C oszlopra. :)))  

Előzmény: tbando (21205)
tbando Creative Commons License 2013.05.02 0 0 21205

Miután megírtam a szűréses választ, beugrott hogy az excel nem hajlandó az írányitott szűrést másik lapra tenni. Ez egy kicsit megbonyolitaná a makróírást, ezért inkább javasonék egy egyszerűbb FKERES-es megoldást.  Ehhez kéne egy kiegészító oszlop a táblázat elött. Tételezzük fel, hogy a C oszlopod üres. Ekkor a C4-be ez jön:

 

=AI4 & darabteli($AI$4:AI4;AI4), és ezt végigmásolod. 

 

Ezután a következő lapokat A4-től sorszámozod 1-től akármeddig, az A1 cellába meg beírod a kritériumot: Pl. Megtartandó.

 

Ezután B4-től jöhet az FKeres. Én ezt javaslom:

 

=hahiba(Fkeres($A$1 & A4;alap!$C$4:AI2000;oszlopNo,0);"").

 

Ezután gombnyomás se kell, a munkalapokon up to date szét vannak választva a beszállítóid. A Hahibás  üresstring miatt, ahol az Fkeres még nem talált adatot, ott az üresnek látszik. (Ezért én általában nem is "" -t használok hanem "."-t, hogy lássam meddig van képletekkel kitöltve az oldal.

 

Az oszlopNo-kat vagy manuálisan adod meg, vagy egy előre besorszámozott sorból származik, vagy akár az aktuális oszlop-1 képlettel határozod meg. Természetesen az A oszlopbeli sorszámok is kiválthatók a sor-3 kifejezéssel.

 

 

 

 

Előzmény: wartburg1963 (21201)
tbando Creative Commons License 2013.05.02 0 0 21204

Még annyit, hogy a makrósítás esetén az alaptáblázat méretét jóval több sorra méretezném, mint az aktuális rekordok száma, hogy az új beszállítók esetén ne kelljen az adattábla méretezésével veszkődni. Vagy a másik megoldás: a makróban átírni a sorok számát jó nagyra.

Előzmény: tbando (21203)
tbando Creative Commons License 2013.05.02 0 0 21203

Én három külön lapra történő írányitott szűrést csinálnék egymás utan.  A megfelelt, az ideiglenes, és a megtartandó kritériumokra. És már szét is van osztva a táblázat. Ha ezt egy gombnyomásra akarnám elvégezni, akkor az első alkalommal bekapcsolnám a makrórögzítőt. Amit bekapcsolva hagynék a táblázatok kicsicsásítása közben is (esetleges fejlécek odamásolása, lapfülek megírása stb).

Előzmény: wartburg1963 (21201)
wartburg1963 Creative Commons License 2013.05.02 0 0 21202

Elnézést, a kép lemaradt...

 

Előzmény: wartburg1963 (21201)
wartburg1963 Creative Commons License 2013.05.02 0 0 21201

Kedves Szakértő Topictársak,

 

az alábbi kérdésem lenne Hozzátok:

 

Adott egy elég terjedelmes táblázat, ahol a cég különböző beszállítói vannak felsorolva; sorokban az egyes beszállítók és oszlopokban a hozzájuk tartozó adatok (cégnév, cím, kapcsolattartó...., minősítés).

A feladat az lenne, hogy a beszállítókat minősítésük (Megfelelt, Ideiglenes, Megtartandó) alapján három, másik fülön lévő, "Megfelelt", "Ideiglenes" illetve "Megtartandó" táblázatba másolja át (a teljes sorokat).

Először síma Fkeres függvénnyel indultam neki, de rájöttem, hogy ez nem túl jó, hiszen így az egyes cél táblázatokban üresen maradnak azok a sorok, amikor az illető beszállító (minősítése alapján) éppen nem az adott táblázatba kerülne. Működik tehát, de a hézagos táblázatokat utólag "reszelni" kell, ráadásul ha a kiindulás táblázatba utólag beszúrok sorokat (új beszállókat), akkor a képletezést is folyamatosan másolni kell.

 

Megoldható lenne-e a probléma egy parancsgombbal, amelynek megnyomására egy VB modul (makró?) elvégezné a kívánt szétválogatást?

Mellékeltem egy képet az egyszerűstett táblázatról.

2003-as ("régi") Excelről van szó.

 

Köszönöm a hozzászólásokat,

 

wartburg

 

tbando Creative Commons License 2013.05.02 0 0 21200

A 21199 poszt neked ment. Csak a motor elzabrálta a nevedet.

Előzmény: pimre (21191)
tbando Creative Commons License 2013.05.02 0 0 21199

Az Fkeres numerikus adatokkal úgyanúgy működik mint a stringekkel.

 

A HAMIS módban (tehát amikor megtaláláshoz teljes egyezést igényel) a numerikus adatoknál ha nem találja meg amit szerinted meg kéne, gyakran az a hiba hogy a 16-ik tizedesben különböznek. Ezért ha a numerikus adataid számítottak, célszerű őket Kerekites (round) függvénnyel azonos tizedesszámra beállítani. 

A stringeknél a stringvégi láthatatlan szóköz okozza leggyakrabban, hogy nem találja meg a keresettet. Ezt a trim függvénnyel küszöbölheted ki. Vagy a Helyette-vel (substitute).

 

Az ismétlődésekkel az a helyzet, hogy mindig az első megtaláltat adja vissza. Ha többször keresel rá, mindig ugyanazt az elsőt adja vissza, hiába szerepel a táblázatban esetleg többször.  Tehát fontos, hogy a keresett táblázatban egy azonosítóhoz csak egy rekord tartozzon, (vagy a keresett tulajdonságra ugyanazt az adatot tartalmazza).  Nálam gyakran előfordult, hogy egy kereső azonosítóhoz több keresett is tartozott, ezért csináltam anno egy makrót, amelyik az Fkeres lefuttatása után átnézi ilyen szempontból a listát, és az ismétlődéseket is kibányássza a táblázat aljára.  Ha érdekel, előbányászom.  

 

A kifejezetten téves találatok tipikus IGAZ módú FKERES hibák.  (Míg a HAMIS módra a HIányzik hiba a jellemző). Ezért nem is értem, hogy nálad IGAZ módban hogy lehetett sok HIÁNYZIk hiba. Az IGAZ módú keresés ugyanis gyakorlatilag mindig teljesül, csak mint írtam az előző posztomban, könnyen hibás eredményt adhat.

 

Az Fkeres tanulmányozásához meg sok sikert. Érdemes megtanulni, mert nagyon hasznos.

 

 

Slient Creative Commons License 2013.05.02 0 0 21198

ld0786@selyeuni.sk

Ezzel már működnie kellene:)

Előzmény: Delila10 (21197)
Delila10 Creative Commons License 2013.05.02 0 0 21197

Küldj egy másik címet, ahonnan küldted, már kétszer visszadobta a postás.

Előzmény: Slient (21194)
Slient Creative Commons License 2013.05.02 0 0 21196

Válaszoltam a mailban. Lenne még egy kis probléma a dologgal:) Makro nélkül nem lehet megoldani? Tiltva vannak a makrok a számítogépeken biztonsági okokból és nem tehetek semmit ez ellen:)

Előzmény: Delila10 (21195)
Delila10 Creative Commons License 2013.05.02 0 0 21195

Visszaküldtem megoldva... szívesen.

Előzmény: Slient (21194)
Slient Creative Commons License 2013.05.02 0 0 21194

Elküldtem...köszönöm!

Előzmény: Delila10 (21193)
Delila10 Creative Commons License 2013.05.02 0 0 21193

Nosza!

A nickemre kattintva küldhetsz levelet.

Előzmény: Slient (21192)
Slient Creative Commons License 2013.05.02 0 0 21192

Szia! Köszönöm a választ, de nem jól magyaráztam el. Elküldhetem az excel fájlt, abban érthetően látszik,h mit szeretnék. Nem nehéz szerintem a dolog, csak én sehogy se tudok rájönni, hogyan tudnám megoldani. Adsz egy mail cimet légyszives?

Előzmény: Delila10 (21190)
pimre Creative Commons License 2013.05.02 0 0 21191

Köszönöm a válaszokat neked és rhcpgergőnek is. Sajnos (vagy talán szerencsére?) nem jött össze sem így, sem úgy, sem amúgy. Talán azért, mert az FKERES inkább numerikus adatokra működik? Vagy a stringek több kérdést vetnek fel? Pl. az ismétlődés kezelését? Nem tudom. Mindnesetre kontrollálhatatlan eredményeket kaptam. Sajnos esetenként kifejezetten téves találatok is jöttek, azaz olyan névhez tartozó adatott mutatott, amelyik nem egyezett meg a párjával.

Ezért végül nekiálltam, és irtam rá egy kis keresőprogramot. Ezt talált is hibákat, ahol valóban nem stimmeltek a nevek, mert az egyik táblázatban némelyik másképp volt írva, mint a másikban. Meg voltak ténylegesen hiányzók is, ahogy jelezted nekem. De ezzel legalább össze tudtam hozni az összetartozókat. Igaz, elment vele néhány óra, de sürgős volt, hogy mára készen legyek vele.

Később azért majd tanulmányozni fogom az FKERES működését. Most legalább vannak megbízható adataim, aminek tudom az eredményét, nincsenek hibái, így tudok vele tesztelni.

Előzmény: tbando (21184)
Delila10 Creative Commons License 2013.05.02 0 0 21190

=E2/FKERES(D2;A:B;2;0)

 

Előzmény: Slient (21189)
Slient Creative Commons License 2013.05.02 0 0 21189

Sziasztok. A segitségetekre lenne szükségem.

Az A1-tol B6-ig terjedő táblázatnak az A oszlopában nevek szerepelnek, a B oszlopban pedig a nevekhez tartozó értékek. A D1-től E6-ig terjedő táblázat egy üres táblázat, aminek ha a D oszlopába beirom az első táblázatban szereplő nevek egyikét a D1-től D6-ig terjedő mezők egyikébe és a tőle jobbra levő cellába az osztandó értéket, akkor a következő cellába irja ki eredményül a két érték elosztott értékét. Egyszerübben:

1. táblázat:                                           2. táblázat

 

Név      Osztó                                                     Név          Osztandó érték              Eredmény
Ádám     4                                    Pl. beirom,h    Dávid                12                                 ?
Béla       6                                     vagy              Zoli                    18                                 ?
Dávid     8
Sanyi    10
Zoli       12
Peti      14

 

Remélem érthetően magyaráztam el. Nagyon szépen köszönöm a segítséget!!!

tbando Creative Commons License 2013.05.01 0 0 21185

Csak a rend kedvéért: Rájöttem, hogy az Fkeres IGAZ paraméteres módjának a kritérium relációját tévesen adtam meg. Az ugyanis nem >=, hanem csak >. Nem gondoltam át eléggé.

Előzmény: tbando (21184)
tbando Creative Commons License 2013.05.01 0 0 21184

Az Fkeres az IGAZ feltétellel (vagy az azzal egyenértékű elhagyásával) csak akkor ad jó eredményt, ha az adataid szigorúan növekvő sorrendben vannak. Mivel ekkor a keresési kritérium nem =, hanem a >=. Amikor aztán a kritériumot kielégítő  első cellát megtalálta, akkor nem erre a cellára, hanem az elötte levőre mutat. Stringek közt keresve nem igen van értelme e módnak, de számok esetén már gyakran. Például ha a legdrágább, de még 1000 ft-ból kifizethető pizzát akarod kiválasztatni az excellel, akkor az Fkerest-t IGAZ feltétellel érdemes használni, mert így akkor is eredményt fog adni, ha nincs pontosan 1000 ft-os pizza. Ami azonban csak akkor lesz garantáltan releváns, ha pizzák növekvő ársorrendben vannak.

 

Érdekes, hogy a fordítottját, tehát a "legkisebb, de még jó" feltételt (tehát <=) az Fkeresnél nem lehet beállítani, szemben mondjuk a HOL.VAN-nal.

 

Tehát, ahogy rhcpgergő írta, esetedben az Fkerest HAMIS feltétellel (vagy az azzal egyenértékű nullával) érdemes használni.

 

És még valam. A fentiek miatt úgy vélem, hogy amikor "a mintegy 100 név egy részében megtalálja a megfelelőt, sok esetben azt adja eredményül, hogy #HIÁNYZIK.", akkor azok zömmel valódi hiányzók. Ugyanis az IGAZ mód csak akkor ad HIÁNYZIK eredményt, ha a listának már az első eleme nagyobb mint a keresettt. Az összes többi esetben ugyanis talál eredményt, csak nem biztos hogy jót. És itt lehet a bibi szerintem akkor is, amikor az ismétlődő nevek közül az egyiket megtalálja, a másikat meg nem. Azaz hogy az ismétlődő nevek nem pontosan úgyanúgy ismétlödnek. Érdemes lenne leellenőrízned. 

 

 

Előzmény: pimre (21182)
Törölt nick Creative Commons License 2013.05.01 0 0 21183

IGAZ helyett HAMIS a képletben helyrehozza?

Előzmény: pimre (21182)
pimre Creative Commons License 2013.05.01 0 0 21182

Nekem is az FKERES használatával van gondom. Nem használtam eddig.

 

Most a következőt szeretném megoldani:

 

Van egy munkafüzetem, benne diákok adatai:

 

          A        B  C   D       E      F                G             H                I       J             K    L

1                                            Név             tantárgy    évfolyam              osztály          szülhely

2                                            Gipsz Jakab                                                                 

 

A szülhely mezőt szeretném kitölteni a másik munkafüzetben lévő Születési hely felhasználásával:

 

                        A             B                                   C          D       E       F       G

1                     Név       Osztály                                                                  Születési hely

2                                                                                                                     

…                                                                                                                    

20                   Gipsz Jakab                                                                               Budapest

 

Az első munkafüzetben a nevek ismétlődhetnek, a másodikban nem.

 

(Sajnos a táblázatokat nem tudtam rendesen beilleszteni a szövegbe, de remélem így is érthető)

 

Ezért az első munkafüzet L oszlopába beírtam a következő képletet:

 

=FKERES(F3;másik!$A$3:$I$120;7;IGAZ)

 

 

És az a gondom, hogy mintegy 100 név egy részében megtalálja a megfelelőt, sok esetben azt adja eredményül, hogy #HIÁNYZIK.

 

Előfordul, hogy az ismétlődő nevek egyik sorában megtalálja hozzá a várost, a másikban a #HIÁNYZIK eredményt hozza.

 

Próbálkoztam az FKERES utolsó paraméterének elhagyásával, próbálkoztam helyette más adatot adni, de csak nem volt jó.

 

Mit rontok el?

 

 

 

Előzmény: tbando (21148)
tbando Creative Commons License 2013.05.01 0 0 21181

Amíg nem jövünk rá, hogy az excelt miképpen lehetne rábírni a dátumigényedhez igazodjon, addig talán hasznos lesz az alábbi makró. A currentregió exceldatumait írja át a kedvedre.  A jelenlegi feltételbeállítással a 01.máj formátumot máj.01-re, amin persze könnyedén változtathatsz, ha szükséges.

 

Sub SKdatum()

Dim a$, cell As Range

ActiveCell.CurrentRegion.Select

For Each cell In Selection

a = cell.NumberFormat

a = Left(a, 1)

If a = "d" Then cell.NumberFormat = "mmm/dd"

Next cell

End Sub

 

 

 

Előzmény: Sánta Kutya (SK) (21163)
tbando Creative Commons License 2013.04.30 0 0 21180

C1:  =ha(b1>b2;a1;a2)

C2: =ha(b1>b2;b1-b2;b2-b1)

Előzmény: Szilvia67 (21179)
Szilvia67 Creative Commons License 2013.04.30 0 0 21179

Segítséget szeretnék kérni egy Excel 97-2003 munkafüzethez

Ha A1 cella "beosztó" - B1 cella "8"

A2 cella "pazarló" - B2  cella "2".

Azt szeretném, hogy a C1-es cellába: Mindig a nagyobb öszeg előtt álló szöveget írja

és a C2-es cellába:Mindig a nagyobb összegből vonja ki a kissebbet.

Tehát ezt szeretném: "beosztó"  - "6".

Előre is köszönöm a segítséget

tbando Creative Commons License 2013.04.30 0 0 21178

Csnálj rá egy makrót. És akkor egy ctrl+Betu átformázza.

Előzmény: Sánta Kutya (SK) (21169)
Delila10 Creative Commons License 2013.04.30 0 0 21177

Csinál az, ha dátumot tartalmazó cellán alkalmazod.

 

A beírt 4.1-et 10.ápr.13-ra formázza. Fütyül az oprendszer beállítására, ami nálam természetesen a magyar dátumforma.  

Előzmény: Sánta Kutya (SK) (21171)
Törölt nick Creative Commons License 2013.04.30 0 0 21176

Bocsánat, afelett elsiklottam.

Előzmény: Sánta Kutya (SK) (21175)
Sánta Kutya (SK) Creative Commons License 2013.04.30 0 0 21175

Köszi, de azt írtam, hogy ott okés.

Előzmény: Törölt nick (21173)
James 42 Creative Commons License 2013.04.30 0 0 21174

Azt is. Én már csak ilyen udvarias, halk szavú fiatalember vagyok. Legalábbis annak idején ezt mondta rólam valaki.  :-)

Előzmény: Delila10 (21165)
Törölt nick Creative Commons License 2013.04.30 0 0 21173

Ha jól tudom, az excel az oprendszerből veszi az alapértelmezett dátumformátumot. A vezérlőpultban a regionális és nyelvi beállításoknál lehet vele szórakozni. Persze lehet, hogy nincs igazam, de egy próbát megér.

Előzmény: Sánta Kutya (SK) (21171)
Törölt nick Creative Commons License 2013.04.30 0 0 21172

2010 alatt elvileg hosszu datum formara rakja rogton a cellat.

Előzmény: Sánta Kutya (SK) (21171)
Sánta Kutya (SK) Creative Commons License 2013.04.30 0 0 21171

Nem, mert mindig másik táblázatban van. :-) Elég gyakran használok dátumot, és idegesít, hogy automatikusan ezt az ortopéd formátumot veszi fel, mintha a középkorban lennénk. Ctrl+Shift+3 nekem nem csinál semmit.

Na mindegy.

 

Előzmény: Törölt nick (21170)
Törölt nick Creative Commons License 2013.04.30 0 0 21170

De feltetelezem ugyanabba a sorba v oszlopba (vagy sorokba es oszlopokba) irod. Nem eleg egyszer megformazni?

 

Probald ki a Ctrl+Shift+3-at a cellan, hatha eleg az neked (gyorsabb mint Ctrl+1-es cellaformazasban turkalni).

Előzmény: Sánta Kutya (SK) (21169)
Sánta Kutya (SK) Creative Commons License 2013.04.30 0 0 21169

Köszönöm, az se normális, akkor marad a cellaformázás minden alkalommal.

Azt hittem, ez egy viszonylag kézenfekvő beállítás lenne. :-(

Előzmény: Törölt nick (21168)
Törölt nick Creative Commons License 2013.04.30 0 0 21168

Aztis csak kezzel tudnad atallitani szerintem.

Vagy ird ki teljesen h 30/04/2013 es akkor ugy marad.

Előzmény: Sánta Kutya (SK) (21167)
Sánta Kutya (SK) Creative Commons License 2013.04.30 0 0 21167

Nem szövegként akarom látni, hanem normális és emberi dátumformátumban.

Előzmény: Törölt nick (21166)
Törölt nick Creative Commons License 2013.04.30 0 0 21166

Sehogy. Vagy irsz ele egy = ha az 1 keplet, vagy egy '-t ha szovegkent akarod latni.

Előzmény: Sánta Kutya (SK) (21163)
Delila10 Creative Commons License 2013.04.30 0 0 21165

A fogalmam sincs választ köszönöd? Szívesen. :D

Előzmény: James 42 (21164)
James 42 Creative Commons License 2013.04.30 0 0 21164

Vagy talán a nick törlésé, bár nyilván az is végleges tiltással jár. De kitiltani nick törlés nélkül is lehet, ha jól tudom.

Amúgy Delilának köszönöm, hogy válaszolt!

Előzmény: Sánta Kutya (SK) (21161)
Sánta Kutya (SK) Creative Commons License 2013.04.30 0 0 21163

Hogy kell rávenni az Excel 2007-et, hogy ja csak begépelem, hogy 4/30, akkor ne alapértelmezetten 30.ápr formában jelenítse meg, amitől hányingerem van? A vezérlőpult beállításai jók.

Delila10 Creative Commons License 2013.04.30 0 0 21162

Djmorphy megvan, robbantomestert nem találom.

Előzmény: Törölt nick (21159)
Sánta Kutya (SK) Creative Commons License 2013.04.29 0 0 21161

Az ilyesmi a teljes fórumról való végleges kitiltás mellékhatása szokott lenni, azt hiszem.

Előzmény: Törölt nick (21159)
Törölt nick Creative Commons License 2013.04.29 0 0 21159

Azt hiszem, djmorphy volt az...

Vajon mivel haragította magára az isteneket?

Előzmény: Delila10 (21158)
Delila10 Creative Commons License 2013.04.29 0 0 21158

Valakinek elveszett a neve, pl. a 21098-as hsz-nél.

Delila10 Creative Commons License 2013.04.29 0 0 21157

Fogggalmam sincs, miért teszi ezt. :(

Előzmény: James 42 (21156)
James 42 Creative Commons License 2013.04.29 0 0 21156

A legújabb fejlemények:

Kipróbáltam azt a scriptet, amit küldtél. Elég érdekes volt az eredmény, legalábbis számomra. Igazából még mielőtt Alt-F11-et nyomtam volna, megnéztem, mi a helyzet egy üres táblázat esetén, és ekkor megvolt a jobb egér menüben a Hiperhivatkozás menüpont. Abban a táblázatban viszont, amit a júzernek használnia kéne, nincs meg, akár lefuttatom a scriptet, akár nem. Fogalmam sincs, hogy miféle trükk lehet egy táblázatban, ami eltünteti, de ezek szerint nem a program hibás, és nem is a felhasználó beállításai, hanem a táblázatban lehet a bibi valahol (kipróbáltuk egy másik lapon is, és ott is ugyanez volt a helyzet). Ha esetleg erre volna ötlet, azt is megköszönném. A júzer azt mondta, megpróbálja átmásolni az adatokat egy másik táblázatba, de ennek az eredményét nem vártam meg. Igazából nem is annyira fontos, mert így is tudja használni, most már kétféle módon is, de a probléma azért még érdekel minket.

Előzmény: Delila10 (21009)
tbando Creative Commons License 2013.04.29 0 0 21155

Levél ment.

Előzmény: Amilo7808 (21152)
Törölt nick Creative Commons License 2013.04.29 0 0 21154

Pont akkora mint hogy masoknak meg magyarul vannak a fuggvenynevek :D

Előzmény: Retro Image (21153)
Retro Image Creative Commons License 2013.04.29 0 0 21153

Ejj, hogy pont az írásjelek nem működnek a billentyűzeteden! Fura hiba, az hétszentség. :o)

Előzmény: Amilo7808 (21152)
Amilo7808 Creative Commons License 2013.04.29 0 0 21152

Kicsit kezdő vagyok ebbe még nem csináltam kérlek a vasco3@freemail.hu címemre vezesd le nekem ha nem zavarlak naggyából értem de mikor és mit másoljak és hogy az nem tiszta

Előzmény: tbando (21151)
tbando Creative Commons License 2013.04.28 0 0 21151

Pont igy. Csak a 10.000-es lesz a nagy és az 5000-es a kicsi. És természetesen az Fkeres b5000-ig keres.

Előzmény: Amilo7808 (21150)
Amilo7808 Creative Commons License 2013.04.28 0 0 21150

Rendben Megcsináltam köszönöm, de hogyan kerül át a nagy 10000 cikkszámos táblázatba

köszi

Előzmény: tbando (21148)
Amilo7808 Creative Commons License 2013.04.28 0 0 21149

Rendben megcsináltam köszi de hogyan kerül át a 10000 cikkszámos listába,

Előzmény: tbando (21148)
tbando Creative Commons License 2013.04.28 0 0 21148

Ha mondjuk az A oszlopban vannak a cikkszámok és a B oszlopban az árak akkor nagy! munkalap (az 5000 cikkszámos) C-oszlopában:

 

=Hahiba(Fkeres(a1;kicsi!$a$1:$b$1000;2;0);b1) és ezt végigmásolod.

 

Az 5000 cikkszámos B oszlopát csak azután töröld, ha elötte a Coszlopot fixáltad.

Előzmény: Amilo7808 (21147)
Amilo7808 Creative Commons License 2013.04.28 0 0 21147

Segitséget kérek!

 

Adott két db excel tábla!

Mindekettőbe megtalálhatók azonos cikkszámok de az egyikbe mondjuk 10000 cikkszám a másikba 5000 cikkszám van és ehez kacsolodnak árak is! Hogyan tudom átmásolni a kisebbik exceltáblát a másikba, hogy lecserélje az azonos cikkszámot és a mellete lévő oszlopba melléirja az árakat?

Köszönöm előre is!

tbando Creative Commons License 2013.04.28 0 0 21146

Nem. Szakértelem. És annak elérhetősége.  

Előzmény: Törölt nick (21143)
pimre Creative Commons License 2013.04.28 0 0 21145

Akadt egy új problémám, segítséget kérek: Egy listboxban szeretném programból beállítani a kezdőértéket.

Erre a ListIndex tulajdonságot használom. Csak az a gond, hogy valamiért nem érvényesíti, hanem továbbra is az első elemre ugrik. Ha viszont valahogy megállítom a programot. Pl. egy Break beállításával, vagy a ListIndex utáni sorba egy msgbox "valami" paranccsal, akkor már érvényre jut.

Mi a megoldás, hogy érvényre jusson a  default érték?

 

 

pimre Creative Commons License 2013.04.28 0 0 21144

Köszönöm. Úgy sejtem, értem, és ki fogom próbálni. Bár biztos lesznek azért még gondjaim a gyakorlati megvalósítással. Majd jelentkezem velük.

 

 

Előzmény: Törölt nick (21120)
Törölt nick Creative Commons License 2013.04.28 0 0 21143

Tárhelyprobléma?

Előzmény: tbando (21142)
tbando Creative Commons License 2013.04.28 0 0 21142

Valóban az lenne a legcélszerűbb. Csakhogy az én adottságaim mellett ez elég körülményes, így elég nehezen szánom el magam rá.

Előzmény: Törölt nick (21141)
Törölt nick Creative Commons License 2013.04.27 0 0 21141

Ha lehetek őszinte, már többször megfogalmazódott bennem, hogy a Te exceled sorozatosan olyan problémákat produkál, amit senki másé.

Szerintem az egész gépet újra kéne húzni, onnantól kezdve, hogy "backup fontos adat", aztán "format C".

Előzmény: tbando (21140)
tbando Creative Commons License 2013.04.27 0 0 21140

Ez az. Gubanc van sajnos. A Personal végig ott volt az általad javasolt mappában (is).  De ami az igazi fejtörést okozza, hogy tegnap még minden külön hókusz-pókusz nélkül behivódott. És nem emlékszem semmi rendkivülire, ami előidézhette ezt a gubancot. Azon töprengek, hogy nem kellene-e újra istallálni az excelt.

Előzmény: Delila10 (21139)
Delila10 Creative Commons License 2013.04.27 0 0 21139

Nem kell átírni. Az indító a personalra nem vonatkozik, azt az előbb írt könyvtárból veszi hivatalból. Ha nem, akkor gubanc van.

 

Indítónak azt írd, ahol az Exceles füzeteidet tárolod.

Előzmény: tbando (21138)
tbando Creative Commons License 2013.04.27 0 0 21138

Kösz. Sajnos hiába jelöltem ki indítókönyvtárnak. Semmi.  Kipróbáltam az Office11\Library-t is. Abból elindult. Ahogy a c:\aaa-ból is. Szemben a két indításra rendszeresített xlstart-tal. Jó lenne tudni az okát.    

Előzmény: Delila10 (21137)
Delila10 Creative Commons License 2013.04.27 0 0 21137

A personal.xls útvonala XP-n

C:\Documents and Settings\Felhasználó\Application Data\Microsoft\Excel\XLSTART

Előzmény: tbando (21136)
tbando Creative Commons License 2013.04.27 0 0 21136

Egy elég furcsa problémába futattam bele. Mi lehet az oka?

 

Az XP gépemen futó excel2003 egyik napról másikra  nem hvta be indításakor a Personal.xls makrófüzetet. Megnéztem a Beállításoknál az indító könyvtár megnevezését: üres volt.  Valahogy kitörlődhetett, gondoltam. Ezért Beírtam: C:Program FilesMicrosoft OfficeOffice11xlstart. |gy se hívta be, noha az indítókönyvtár megnevezést most nem radírozta ki. Erre Personal.xls-t átraktam egy C:aaa nevű mappába, és ezt neveztem meg indítókönyvtárként. Innen normalisan indult.  Mi történhetett az xlstart könyvtárral? Javítható-e?   

Delila10 Creative Commons License 2013.04.26 0 0 21135

Köszönöm, ez csodás. Megtaláltam az idézetet.

Előzmény: Törölt nick (21134)
Törölt nick Creative Commons License 2013.04.26 0 0 21134
Előzmény: Delila10 (21131)
Delila10 Creative Commons License 2013.04.26 0 0 21133

:-)

Előzmény: Sánta Kutya (SK) (21132)
Sánta Kutya (SK) Creative Commons License 2013.04.26 0 0 21132

Cseresznyéért? De. Sapka, sál!

Előzmény: Delila10 (21131)
Delila10 Creative Commons License 2013.04.26 0 0 21131

Télen nem lehet fára mászni?

Előzmény: Törölt nick (21129)
Sánta Kutya (SK) Creative Commons License 2013.04.26 0 0 21130

Hogy ne kelljen a makróimat minden alkalommal engedélyzeni a megnyitáskor.

Előzmény: Törölt nick (21128)
Törölt nick Creative Commons License 2013.04.26 0 0 21129

Tavasz van :)

(Mikor már a fákra is lehet mászkálni, meg ilyesmi.)

Előzmény: Delila10 (21127)
Törölt nick Creative Commons License 2013.04.26 0 0 21128

A cikk szerint sehogy. Szerintem is sehogy :)

 

Amugy milyen gyakorlati helyzetben lehet ez hasznos?

Neked mire kell?

Előzmény: Sánta Kutya (SK) (21122)
Delila10 Creative Commons License 2013.04.26 0 0 21127

Igazad van, ész nélkül írtam.

 

SK: szívesen.

Előzmény: Törölt nick (21124)
Sánta Kutya (SK) Creative Commons License 2013.04.26 0 0 21126

Köszönöm mindenkinek!

Előzmény: Törölt nick (21125)
Törölt nick Creative Commons License 2013.04.26 0 0 21125

Range("A1").NumberFormat = "general"  'általános formátum

Range("A1").NumberFormat = "0"            'egészre kerekítés

 

 

Előzmény: Delila10 (21123)
Törölt nick Creative Commons License 2013.04.26 0 0 21124

Ha RGB függvénnyel számolod a színt, akkor ColorIndex helyett Color javasolt.

 

Range("A1").Interior.Color = RGB(0, 0, 255)

Előzmény: Delila10 (21123)
Delila10 Creative Commons License 2013.04.26 0 0 21123

Range("A1").Font.Bold = True   'bold

Range("A1").Font.Size = 14     'méret

Range("A1").Font.Color = RGB(255, 0, 0) 'piros font

Range("A1").Interior.ColorIndex = RGB(0, 0, 255)   'kék háttér

Range("A1").Interior.ColorIndex = 0   'automatikus háttér szín

Range("A1").NumberFormat = ("yyyy.mm.dd") 'dátum formátum

Range("A1").NumberFormat = "0"  'általános formátum

Előzmény: Sánta Kutya (SK) (21121)
Sánta Kutya (SK) Creative Commons License 2013.04.26 0 0 21122
Sánta Kutya (SK) Creative Commons License 2013.04.26 0 0 21121

Hali! A következő formázások kódjára lenne szükségem VBA-ban:

Adott cella/tartomány legyen

  • bold / nem bold
  • 14 pontos / alapértelmezett
  • adott RGB háttérszínű / alapértelmezett
  • éééé. hhhh. nn. / hhhh. nn. / általános számformátumú

Hol lehet ezeknek egyben utánanézni egyébként?

Törölt nick Creative Commons License 2013.04.25 0 0 21120

Akkor pontosítok. A másodikkal kezdem.

 

2. A belső modul alatt az űrlap saját kódmodulját értettem, mivel ez az, amit űrlap, mint komplett objektum, tartalmaz. Külső modul pedig az, ami az űrlapon kívül van, tehát gyakorlatilag minden más.

 

1. Nem kell nagy dolgokra gondolni, ugyanaz a lényeg, mint a függvényeknél. Tulajdonképpen a form felfogható úgy is, mint egy függvény. Bemenet az, amit beadsz neki, pl. kiindulási értékek, a form pedig valamilyen algoritmus alapján előállítja a hasznos értéket, amit aztán kiveszel belőle és használod. Ez utóbbi a kimenet.

 

Például (egy klasszikus adatbázis feladat):

Van egy elsődleges (adatbeviteli) űrlapom, amelyen a felhasználónak ki kell töltenie a mezőket. E mezők közül több olyan, hogy nem tetszőleges érték megy bele, hanem listából választható, de nem feltétlen ugyanabból a listából. Például az üzleti partnert az üzleti partnerek listájából, a feladat felelősét a dolgozók listájából, az alkatrészt az alkatrészek listájából, stb. Erre a célra tervezek egy másodlagos űrlapot, ami az összes ilyen listából választósdit kezelni tudja.

 

Ebben az esetben a függvény (avagy másodlagos űrlap) bemenete az az SQL lekérdezés lesz, amivel a választható értékek listáját elő tudom állítani az adatbázisból. A kimenet pedig az az érték, amit a felhasználó kiválaszt a listából.

 

Az űrlap belső modulján (lásd 2. pont) megírom az összes kódot, ami a bemenetet lekezeli. Nagy vonalakban:

- lekérdezem az adatbázisból az SQL alapján választható rekordok halmazát

- a rekordhalmazból megállapítom, hogy hány darab oszlop (mező) van

- létrehozok egy listboxot a másodlagos űrlapon, amely a választható értékeket tartalmazza, annyi oszloppal, ahány az adathalmaz megjelenítéséhez kell

- betöltöm az adathalmazt a listbox-ba

- megírom az összes kódot, ami a felhasználó kattintgatásaira reagál, köztük sorbarendezési, szűrési lehetőségeket

- megírom az összes hibakezelő és a felhasználó lecseszéséért felelős programrészt

- megírom azt a kódot, ami az OK gomb megnyomására a felhasználó által kiválasztott értéket előállítja, és visszaadja az elsődleges űrlapnak.

 

Ebben az a jó, hogy akármelyik projektemben fel tudom használni, ahol ilyen listából választósdi játék van. Csak annyit kell tudnom, hogy mit kell beadnom az űrlapnak, tehát mi a bemenet, és hogy a kimenetet hogyan, milyen formában kapom vissza. Az űrlap belső működését akár el is felejthetem (ha sikerült egyszer jól megírni).

 

Egyébként az összes beépített objektum és függvény, amivel találkozol, így működik. A súgóban le van írva, hogy milyen bemenő paraméterek kellene hozzá, és hogy a kimenetet milyen formában kapod meg.

 

A felbontásról.

Ez elég fogós kérdés. Amikor egy ablak különböző felbontásokon is működik, ott többnyire csak arról van szó, hogy felnagyítják/lekicsinyítik a méreteket. Pl. egy kép simán skálázható, vagy egy szövegdoboz is, legfeljebb több/kevesebb szöveg fér bele. Ha viszont egy 1280x1024-as űrlapot zsúfolásig megtömsz vezérlőkkel, bajosan tudom elképzelni, hogy azok el fognak férni 1280x800-on. Ha szellősebben vannak a vezérlők, esetleg egy átrendezés segíthet, de nekem nincs olyan algoritmusom, ami ezt elvégzi.

Igazából két lehetőséget látok. Az egyik, hogy csökkented a form méretét más elrendezéssel, vagy multipage használatával. A másik, hogy csinálsz egy tök ugyanolyan formot más felbontásokra optimálva, és mindig azt használod, ami éppen kell. Ez elég macerás, mert ha az egyiken módosítasz, azt át kell vezetni az összes többire is.

pimre Creative Commons License 2013.04.25 0 0 21119

A kekeckedés nem zavar. Sőt, örülök, mert olyan dolgok végiggondolására késztet, amelyek magamtól nem jutottak volna eszembe.

 

Azért sajnos itt nekem alapfogalmaim hiányoznak.

 

1. Függvényeknél természetesen tudom, de formoknál fogalmam sincs mi a ki- és bemenet. És nem találtam utalást rá hosszas keresgéléssel sem.

2. A külső/belső modul fogalmával sem biztos, hogy tisztában vagyok. Én azt hittem, hogy azzal, hogy ha ugyanabban a munkafüzetben hozom létre a formokat és az általuk meghívott függvényeket tartalmazó modult, akkor az belső modul. És ha átviszem másik gépre a munkalapot, akkor az ott is van. Ki is próbáltam, és minden további nélkül működik a program.

 

Viszont a kipróbáláskor beleütköztem egy új problémába. A képernyőm felbontása 1280x1024. A másik gépé, amin kipróbáltam, 1280x800, mert ott a harver ennyit enged. Programozáskor a formot a teljes képernyő méretére állítottam, és a kilépés gombot az aljához közel helyeztem el.  Viszont a másik gépen futás közben nem látszik ez a gomb. Próbáltam keresgélni megoldást, de nem találtam. 

 

Az világos, hogy 1024 pontot nem lehet elhelyezni 800 ponton. De feltételezem, hogy van valamilyen megoldás erre, hiszen sok program működik különböző felbontások mellett. De fogalmam sincs merre induljak el a megoldás keresésében.

Előzmény: Törölt nick (21117)
Törölt nick Creative Commons License 2013.04.25 0 0 21118

kész van az excel táblám, most pedig szeretném ellátni lapvédelemmel, da van benne egy makrós legördülő menü, és ha levédem akkor nem lehet változtatni rajta. de ha jobb klikk vezérlő formázása védelem nincs kipipálva de mégsem lehet lapvédelem alatt módosítani

Törölt nick Creative Commons License 2013.04.24 0 0 21117

Örülök, hogy sikerélményed van :)

 

Picit kekeckednék azért, mert jobb ma egy véreb, mint holnap kettő.

A form kódjának áttekinthetősége egy dolog, más dolog a hordozhatósága. Van úgy, hogy az ember csinál egy formot egy adott feladatra, aztán pár hónappal később jön egy másik feladat, ahol hajszálra ugyanaz a form jó lenne, vagy csak minimális változtatásokkal. Ha az első feladatnál hordozhatóra írtad meg, akkor könnyű átvinni. Ha nem, akkor nem annyira.

 

A hordozhatóságnak (vagy más szóval újrafelhasználhatóságnak) ebben a kontextusban ilyen kritériumai vannak:

1) A form jól definiált bemenetekkel és kimenetekkel rendelkezik.

2) A form tartalmazza az összes kódot, ami ahhoz kell, hogy a felhasználóval kommunikáljon, illetve a bemenetekből a kimeneteket előálltsa.

 

Ha a formról olyan függvényeket hívsz meg, amelyek külső modulon vannak, a 2. feltétel nem teljesül. Ez nem feltétlenül probléma, csak fel kell jegyezni valahová (célszerűen a form kódlapjának tetejére commentben), hogy a form csak az ilyen-olyan külső modullal együtt használható. Aztán ha kell, akkor együtt vinni mindkettőt a következő alkalmazásba.

 

De különben, ha csak egy adott form használ egy adott függvényt, akkor azt a form saját kódlapján is el lehet helyezni, Private megjelöléssel. Akkor kívül esik az eseménykezelő rutinokon, és nem zavarja az áttekinthetőségüket, de mégis a form része marad.

Előzmény: pimre (21116)
pimre Creative Commons License 2013.04.24 0 0 21116

Még annyit a függvények önálló modulba gyűjtéséről, hogy nagyon nagy segítség. Kiválóan áttekinthetővé tudom ezzel tenni a formok eseményeinek programozását. Mert nem csak azokat feladatokat teszem ki, amelyeket több form is használ, hanem áttekinthetőbbé tudom tenni az egyes események vezérlését. Érthetőbbé tudom tenni az események vezérlését és csökkenteni tudom a kódjaik méretét. Nagyon jó!!!

Előzmény: Törölt nick (21111)
Törölt nick Creative Commons License 2013.04.23 0 0 21115

időközben rájöttem, hogy lehet beállítni hogy több oszlopot is figyeljen

Előzmény: Törölt nick (21114)
Törölt nick Creative Commons License 2013.04.23 0 0 21114

Több FKERES függvény együttes használata megoldás lehet? Mondjuk az egyik kikeresi a pénznemet, a másik a szorzót, stb.

Előzmény: Törölt nick (21109)
pimre Creative Commons License 2013.04.23 0 0 21113

A függvény modulba írva tökéletesen működik. Köszönöm. Valahogy nem gondoltam erre a lehetőségre.

Előzmény: pimre (21112)
pimre Creative Commons License 2013.04.23 0 0 21112

Köszönöm. Egyelőre csak meg akarom érteni. Mert egyelőre látva, hogy mennyire bonyolult, feladtam ezt az elképzelést, és inkább létrehozok egy "átmeneti" munkalapot. Ide írom a módosult adatokat az eredeti munkalappal azonos szerkezetben, és mentéskor csak bemásolom ezt a sort az eredeti munkalapra. Egyébként adatnyilvántartásról van szó, tételenként mintegy 50 adattal. És a felhasználókat meg szeretném kímélni attól, hogy az Excel táblázatban bogarászva kelljen azt kitölteniük.

 

A függvényre vonatkozóakat rövidesen kipróbálom.

Előzmény: Törölt nick (21111)
Törölt nick Creative Commons License 2013.04.23 0 0 21111

Adatok átadása:

Itt van legalább 2lehetőség. Címszavakban:

1) Userform2-n deklarálni publikus változókat, és azoknak értéket adni

2) Property-k használata.

 

Most nem írnám le részletesen őket, inkább mondd el, mi a célja, mire akarod használni.

 

Függvények:

Alapvetően azt kel sztem bekódolni egy Userform-ba, ami logikailag oda tartozik. Ha van egy függvényed, amit több form-ból is szeretnél elérni, az nem tartozik logikailag egyikbe sem. Az ilyen függvényeket én kiiraknám egy normál modulba, publikusan. Akkoraztán akárhonnan meghívhatóak.

Előzmény: pimre (21110)
pimre Creative Commons License 2013.04.23 0 0 21110

Köszönöm. Szép kifejtés volt. Az túlzás, hogy értem, mindenesetre kipróbáltam és működik. És most próbálom értelmezni.

 

A mintapélda rról szól, hogy a meghívott Userform át tud adni adatokat a meghívónak. Azt viszont nem tudom kibogozni, hogy ez működik-e úgy is, hogy ez oda-vissza megtörténjen? Mert olyasmiben gondolkozom, mint a klasszikus funkcióknál. Hogy a hívó átad egy paramétert a meghívottnak, az pedig módosítja az értéket és azt visszaadja. Ehhez a mintában nem találtam meg a kulcsot.

 

A másik - tegnap késő esti - kérdésem azt hiszem, megoldódott a leírásod alapján.  "...az adatok átadását a Form-ok között ... eseményekhez kötjük." Ebből az következik számomra, hogy a Formok között a függvények nem átjárhatók, tehát nem oldható meg, hogy egy adott függvényt csak az egyik form kódjában szerepeltessek, és azt a másik form kódjából is meg tudjam hívni. Jól értem?

 

 

Előzmény: Törölt nick (21108)
Törölt nick Creative Commons License 2013.04.23 0 0 21109

sziasztok, teljesen tanácstalan vagyok,  kellene csinálnom egy excelt, amiben legordülö menük vannak.

es van hozzá egy táblázatom, amiben benne vannak az adatok, a cel az lenne hogy a végén ha a legördulö menuben mindent kivalasztottam akkor egy eredmény kijöjjön.

 

pl kiválasztom, egy oszlopban melyik ország akkor azt szeretném ha odaírná mellé a pénznemét, de az országnak van egy szorzó száma is,  meg egy kódja is es azt is odaírná. fkeressel próbáltam, de az egy cállát ir csak mellé.

Törölt nick Creative Commons License 2013.04.23 0 0 21108

Ajánlom mindazok figyelmébe, akik a "Class Module = megfejthetetlen talány" című műsorban érdekeltek.

Alapvetően a Userform a Class Module-hoz hasonlóan egy objektumosztályt jelent.
Amikor azt mondjuk, hogy
Userform1.Show
akkor valójában az Excel létrehozza a Userform1 nevű objektumosztály egy példányát, amit alapértelmezés szerint ugyanúgy ("Userform1") hívnak, és azt jeleníti meg. Tehát a konkrét műveletet sosem az objektumosztállyal, hanem annak egy példányával végezzük. Legalábbis ezt gondolom, mert leírva nem találtam sehol. Mindenesetre egy Userform1 típusú form megjelenítésének szabályos módja az alábbi lenne:

Dim UF As Userform1
Set UF = New Userform1
UF.Show

Ez azért lényeges, mert ugyanabból az objektumosztályból tetszőleges számú példányt létrehozhatunk, és ez igaz a "Userform1" nevű objektumosztályra is:

Dim UF1 As Userform1, UF2 As Userform1
Set UF1 = New Userform1
Set UF2 = New Userform1
UF1.Show
UF2.Show

 

(Mindkettő egyszerre csak akkor jeleníthető meg, ha a Userform1 osztály ShowModal tulajdonsága False.)

Na most.
Az objektumorientált programozásban az egyes ineraktív objektumok történéseit, felhasználói beavatkozásra adott reakcióit az objektum eseményein keresztül lehet kezelni. Ilyet már mindenki látott, pl. a Munkalap típusú objentum Worksheet_Change eseménye személyében.

Kézenfekvő, és szerintem elegáns és konzisztens megoldás az, ha az adatok átadását a Form-ok között ilyen eseményekhez kötjük.

Ehhez szükséges, hogy az adatot átadni szándékozó Userform-on definiáljunk egy publikus eseményt. Ez nem olyan esemény lesz, ami a felhasználó kattintgatásaira reagál. Ezt az eseményt programból váltjuk ki, de a formon belül. Ugyanakkor a formot meghívó külső egység fogja érzékelni, hogy itt esemény történt, és kezelni azt.

A gyakorlatban hogy néz ez ki.


Van 2-féle Form tervező üzemmódban összerakva: Userform1 és Userform2.
Userform1 az elsődleges űrlap, ez hívja meg majdana másodlagos űrlapot.
Userform1-en legyen
- egy gomb, amelynek neve Btn1
- egy textbox, aminek neve TextBox1

Userform2 a másdolagos űrlap, ebbe kell a felhasználónak adatokat beírni, és ez adja majd vissza az adatokat az elsődleges űrlapnak. Ezen az űrlapon legyen
- 4 db Textbox, amelyeknek neve: Txt1, Txt2, Txt3, Txt4
- egy gomb, amelynek neve btnReturn

Userform2 kódlapján, lehetőleg a lap tetején definiáljuk a "Visszatérés" nevű eseményünket:


Public Event Visszatérés(Érték1 As String, Érték2 As String, Érték3 As String, Érték4 As String)
Lényeges, hogy Public legyen, mert csak ekkor látszik kifelé, a létrehozó felé.
A Userform2 összes többi, gyárilag definiált eseménye Private, ezért nem is látszik kintről.

Szintén Userform2 kódlapján definiáljuk, hogy a btnReturn gomb megnyomása kiváltsa ezt a bizonyos űrlapeseményt:
Private Sub btnReturn_Click()
    RaiseEvent Visszatérés(Me.Txt1, Me.Txt2, Me.Txt3, Me.Txt4)
End Sub

Userform1 kódlapján (legfelül) először is deklarálunk egy Userform2 típusú változót.


Private WithEvents UF As UserForm2

 

A WithEvents kapcsoló kötelező, ellenkező esetben nem tudjuk Userform1-ről kezelni az UF objektum eseményeit.

Aztán Btn1-hetz rendeljük az űrlap megjelenítését:
Private Sub btn1_Click()
    Set UF = New UserForm2
    UF.Show
End Sub

Amint a Private WithEvents UF As UserForm2 deklarációt beírjuk, a kód-ablak fölötti, bal oldali lenyílóban megjelenik az UF objektum, amit ha kiválasztunk, a jobb oldali lenyílóból ki lehet választani az UF valamely eseményét. Mivel UF-nek csak egy eseménye van definiálva, jelenleg nincs sok választási lehetőség, de amúgy lehetne.

Leprogramozzuk az eseményt:
Private Sub UF_Visszatérés(Érték1 As String, Érték2 As String, Érték3 As String, Érték4 As String)
    Me.TextBox1 = Érték1 & "-" & Érték2 & "-" & Érték3 & "-" & Érték4
    Unload UF
End Sub

Használat közben akkor mi is történik?
Usefrom1 létrehoz és megnyit egy Userform2 típusú objektumot, mely utóbbi neve UF.
A felhasználó az UF-en beírja az adatokat a 4 szövegdobozba, aztán megnyomja a gombot.
A gombnyomás (mert így programoztuk le a gomb eseményét) kiváltja az UF űrlap Visszatérés nevű eseményét, amely magában foglalja 4 paraméter átadását.
A Userform1 érzékeli, hogy az UF-en publikus esemény történt, és mivel van hozzá eseménykezelő rutin írva (Private Sub UF_Visszatérés), azt végrehajtja, és ennek keretében beírja a TextBox1-be a UF által visszaadott 4 sztringet kötőjellel elválastzva.
Aztán bezárja az UF űrlapot. (De akár nyitva is hagyhatja, ha éppen arra van szükség.)

Az adatok visszadása bármilyen lehet. Sok adat esetében érdemes tömböket összeállítani, és/vagy egyéni típusokat használni, és akkor egy-két változóban többszáz vagy többezer adat átadható a másik űrlapnak.

Remélem, érthető volt.

Előzmény: pimre (21106)
Sánta Kutya (SK) Creative Commons License 2013.04.23 0 0 21107

Ha simán megosztok egy táblázatot, akkor ugye bárki más is le tudja venni a megosztást, nem csak az eredeti megosztó személyiség?

 

Valamint ha van egy megosztott táblázatban egy szürke pipa a megosztásnál, és senki nem tudja levenni, annak mi lehet az oka, és hogy lehet gyógyítani?

pimre Creative Commons License 2013.04.22 0 0 21106

Előre is köszönöm. És ha nem vagyok nagyon telhetetlen, akkor ugyanez függvények vonatkozásában is érdekelne, hogy ne kelljen több helyre bemásolnom az ismétlődő függvényeket. Nem mintha nagy munka lenne, de hát az igényes, struktúrált programozás kritériumainak nem igazán felel meg.

Előzmény: Törölt nick (21105)
Törölt nick Creative Commons License 2013.04.22 0 0 21105

Van rá megoldás, holnap elmesélem.

Előzmény: pimre (21104)
pimre Creative Commons License 2013.04.22 0 0 21104

Nagy gondban vagyok. Hogyan lehetséges a különböző UserFormok között változókat továbbadni. Reménytelenül keresgélea google-ban. Olyan tanácsokat látok, amire magam is gondoltam, csak éppen nem működnek.

- Próbáltam az első használt UserFormnál (ahonnan a többieket hívom) Public-nak deklarálni, de nem segített.

- A másik tanács az volt, hogy a General Deklarációknál kellene Public-ba tenni, de nekem az sem működött.

- Volt olyan tanács is, hogy az egyes vezérlőelemek tag-jébe kell írni. De ez sem jött be, mert a vezérlőelemet nem tudom elérni egy olyan UserFormban, amelyikben nem szerepel.

 

Végső soron megoldás lesz, hogy egy átmeneti munkalapon tárolom a kb. 50 változómat, de valahogy nehézkesnek érzem, és semmiképpen sem elegánsnak.

 

Mellesleg a végleges helyükre azért nem akarom kiírni, mert erre csak akkor kerítenék sort, mikor az operátor kéri a mentést. Minél kevesebb esélyt szeretnék adni félbemaradt mentésre.

 

Tud valamelyikőtök ennél jobb megoldást?

 

tbando Creative Commons License 2013.04.20 0 0 21103

A tegnap lementett fájlom ma azzal az üzenettel örvendeztett meg, hogy a beolvasáskor az Excel olvashatatlan tartalmat talált a benne és akarom-e hogy kijavítsa. Akartam. Kijavította. A problémám csak az, hogy a hibajelentésből nem derűlt ki, hogy melyik rekordot törölte (látszólag semelyiket).

 

Tudna valaki segíteni a hibaüzenet értelmezésében?

 

 

 

 

 

 

 

tbando Creative Commons License 2013.04.20 0 0 21102

 tartok tőle hogy valami fontos változtatás az egyik excel-be a másik fontos változtatás az üzközésesben hajtom végre..

 

Ennek elkerülésének a legkézenfekvőbb módja, ha az egyik filet (szerintem az ütközésest) törlöd, illetve félrerakod egy elkülönített mappába. 

Előzmény: djmorphy (21099)
tbando Creative Commons License 2013.04.19 0 0 21101

Szóval az a probléma, hogy másnap reggel 2 filet is találsz a mappában? Egy készlet.xlsx-t és egy készlet(ütközés).xlsx-t?  Még ilyennel nem találkoztam.

Lövésem sincs mi lehet a háttérben.  Egy ötlet: Végig gondolnám a 29 munkafüzet kereszthivatkozásait. Hátha azok okozzák az ütközést.

Előzmény: djmorphy (21099)
Törölt nick Creative Commons License 2013.04.19 0 0 21100

Szerintem hanyagolni kellene a total commandert. Ez nem excel viselkedés, kétlem, hogy ott lesz a megoldás.

Előzmény: djmorphy (21099)
djmorphy Creative Commons License 2013.04.19 0 0 21099

Eddig még semmilyen kérdésbe nem futottam bele. Egyszer csak (többnyire másnap reggel) látom, hogy készlet.xlsx és készlet[ütközés].xlsx. Természetesen jó dolog, hogy nem irogat random mód felül dolgokat! :) De jelenleg 29 MF-ből áll és tartok tőle hogy valami fontos változtatás az egyik excel-be a másik fontos változtatás az üzközésesben hajtom végre... Ezért szeretném valahogy megoldani hogy rákérd mielőtt létrehozza. Vagy legalább abban a pillanatban figyelmeztet és nem egy egész napi munkát kell összehasonlítani, hogy mi is az eltérés.

Előzmény: tbando (21082)
Törölt nick Creative Commons License 2013.04.19 0 0 21098
Előzmény: Törölt nick (21097)
Törölt nick Creative Commons License 2013.04.19 0 0 21097

Van pl. CTREEVIEW nevű és egyéb kulcsszavakat (tree, hierarch, stb) tartalmazó vezérlő, de az ördög tudja hogy kell és mire ezeket használni :(

Előzmény: Retro Image (21095)
Törölt nick Creative Commons License 2013.04.19 0 0 21096

nem kerestem vezérlőelemet erre - egyébként kétlem, hogy lenne. Ha van is, akkor is xml alapú.

Egyébként most már biztos vagyok benne, hogy xml sémákkal kell ilyet készíteni, ami aztán excelben használható.

 

<iframe frameborder="0" scrolling="no" style="border:0px" src="http://books.google.hu/books?id=xYEyK_7TWP8C&lpg=PA292&ots=Pr4BHdo4oJ&dq=import%20xml%20tree%20to%20excel&pg=PA286&output=embed" width=500 height=500></iframe>

 

http://books.google.hu/books?id=xYEyK_7TWP8C&lpg=PA292&ots=Pr4BHdo4oJ&dq=import%20xml%20tree%20to%20excel&pg=PA286#v=onepage&q=import%20xml%20tree%20to%20excel&f=false

 

 

 

Előzmény: Retro Image (21095)
Retro Image Creative Commons License 2013.04.19 0 0 21095

Én inkább úgy gondolkodnék, hogy létezik-e olyan vezérlőelem, amivel ez a feladat megoldható. Ha van, akkor azt Excelből is lehet használni. Rengeteg custom vezérlő van. Ezek úgy készülnek, hogy valaki leül és megírja pl. C++ vagy Delphi nyelven, aztán közzéteszi. Nem biztos, hogy a MicroSoftra kell várni ez ügyben. Aztán persze lehet, hogy meg kell venni, de ez van.

 

Ha meg nincs olyan, ami kell, még mindig meg lehet írni SK. Príma lehetőség a Class Modulok felhasználására :)

Előzmény: Törölt nick (21093)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!