Keresés

Részletes keresés

tbando Creative Commons License 2014.01.09 0 0 23723

Kösz.  Így első olvasásra nem igen értem, de majd foglalkozom vele. Ha elakadok, jelentkezem. 

Előzmény: Fferi50 (23715)
Sánta Kutya (SK) Creative Commons License 2014.01.09 0 0 23722

Aha, így már értem.

Előzmény: tbando (23721)
tbando Creative Commons License 2014.01.09 0 0 23721

Természetesen a munkafüzetben 9-t adok hozzá. Itt csak jelezni akartam, hogy a kezdőcellától függ hogy mennyi legyen az a 9. 

Előzmény: Sánta Kutya (SK) (23714)
Fferi50 Creative Commons License 2014.01.09 0 0 23720

Szia!

 

Én is ezt mondtam, csak nem olyan direkt módon. (A keresés megőrzi az utolsó beállításokat.)

 

Üdv.

 

 

Előzmény: pimre (23711)
Fferi50 Creative Commons License 2014.01.09 0 0 23719

PImre! Jimmy!

 

Ezer bocsánat, hogy összekevertelek benneteket!  Meg nem sértődjön egyikőtök se!

 

Üdv. 

Előzmény: Fferi50 (23718)
Fferi50 Creative Commons License 2014.01.09 0 0 23718

Szia!

 

Ennél egy kicsit bonyolultabb a helyzet. Másik topikban - de lehet, hogy itt is - volt már errő szó és majdnem késhegyre menő vita alakult ki, hogyan találjuk meg az oszlop/sor utolsó celláját, amibe már írhatunk.

 

Ha folytonos a cellák kitöltése, akkor az End(xldown), illetve End(xltoright) +1 sor/oszlop (offset) megfelelő.

De ha vannak üres cellák közben, akkor ez már nem jó, hacsak nem a "lukakba" akarunk írni.

 

Ezért sokkal jobb és minden helyzetben használható a Jimmy által leírt mód. ahol a legutolsó sorból, oszlopból indulunk ki és visszafelé nézzük az első tele cellát az End(xlUp), illetve az End(xltoleft) móddal, majd erre jön a +1 sor v. oszlop.

 

Így nem kell semmilyen függvénnyel bűvészkedni.

 

Üdv.

 

Előzmény: Sánta Kutya (SK) (23716)
Fferi50 Creative Commons License 2014.01.09 0 0 23717

Szia!

 

Szerintem azért, mert A10-től indult az oszlopban a keresés, ha nem adja hozzá, akkor beleír a nem üres cellákba.

De gondolom, ez csak egy példa volt, mert onnan indult a nem üres cellák sorozata.

 

Viszont sokkal egyszerűbb "alulról" közelíteni a meghatározáshoz, ahogy Jimmy írta.

 

Üdv.

Előzmény: Sánta Kutya (SK) (23714)
Sánta Kutya (SK) Creative Commons License 2014.01.09 0 0 23716

Akkor ez egy sima darab2-vel is helyettesíthető.

Előzmény: Fferi50 (23715)
Fferi50 Creative Commons License 2014.01.09 0 0 23715

Szia!

 

Nem olyan bonyolult és kísérteties, mint amilyennek látszik.

A keresési feltételt úgy kell beírni, hogy "<>" & "szöveg".

Ha tehát a szöveged ="" azaz üres sztring, hogy fogod látni ezt a kifejezést: "<>" & ""? Kitaláltad: "<>". Tehát ez a két kifejezés az excelnél ugyanazt az eredményt adja, azaz nem üres feltételként értelmezi. De ugyanezt jelenti a "*" feltétel is, mivel a * a bármely karaktert helyettesítő "jóker".

Ennek ellentettje, a "=" pedig mit jelent?  "Természetesen" azt, hogy üres(!) cellákat keresel. 

 

Viszont amit te írtál be:"<>""" az a nem egyenlő két db idézőjel feltételt jelenti, olyan pedig ugye nem sok cella van/volt az oszlopban.

 

(Kísérletezéshez javaslom a függvény beírása után a szerkesztőlécen az fx-re kattintva előjövő párbeszéd ablakot, amibe beírhatod a különböző paramétereket és azonnal látod az eredményt.)

 

Üdv.

Előzmény: tbando (23713)
Sánta Kutya (SK) Creative Commons License 2014.01.09 0 0 23714

Nem értem. A sor(a10) konstans 10. Tehát hozzáadtál a darabtelihez 9-et. Miért ilyen bonyolultan?

Előzmény: tbando (23713)
tbando Creative Commons License 2014.01.09 0 0 23713

Nem egészen a te kérdésedre a válasz (arra Fferi tökéletes választ adott), de azért mégiscsak a  kérdéssel kapcsolatos. Én, ha egy táblázat utolsó sorát akarom meghatározni makró nélkül, az alábbi függvényt szoktam használni (ha a táblázat az A oszloppal kezdődik, ha a választott kezdőcellától a táblázat végéig nincs üres cella az oszlopban, utána viszont csak üres cella van):

 

=darabteli(a10:a10000;"<>")+sor(a10)-1

 

A problémám e képlettel csak annyi, hogy nem értem a "<>" feltételt. Eredetileg nem ezt akartam beírni, de véletlenül így sikerült. És müködik.  Amit meg akartam volna, azaz az  "<>""",  meg nem a táblázat utolsó sorát adja :))).

 

Megmagyarázná valaki az első feltételt? Mármint azt, hogy az excel szerint mivel nem egyenlő a nem egyenlő?

 

Előzmény: DominicWolf (23709)
pimre Creative Commons License 2014.01.09 0 0 23712

Én így szoktam megkeresni egy oszlop utolsó adatát: utolsósor = Range("A" & Rows.Count).End(xlUp).Row

A következő sor értelemszerűen 1-el nagyobb: Range("A" & Rows.Count).End(xlUp).Row+1

 

Az "A" helyén természetesen a keresett oszlop betűjelének kell állnia.

Előzmény: DominicWolf (23709)
pimre Creative Commons License 2014.01.09 0 0 23711

Most fogtam csak fel, mi történt. Engem a keresési beállításoknak a makrós keresés utáni megmaradása zavart meg kézi üzemmódban. És ezt most ki is próbáltam, és tudtam reprodukálni a jelenséget. Amikor a programom utoljára olyan keresést hajtott végre, ami pontos kifejezésre keresett, és a program leállítása után az Excelt nem kapcsoltam ki, megmaradt a program beállitása, sőt, még az utoljára használt keresőkifejezés is.

És a program leállítása után is bármely fájl megnyitásakor ezt a beállítást találom, amig ki ne lépek magából az excelből. Nagy reveláció volt:-) Köszönöm. 

Előzmény: Törölt nick (23708)
Fferi50 Creative Commons License 2014.01.09 0 0 23710

Szia!

 

cells(utolsócella.row+1,utolsócella.oszlop)   vagy  utolsócella.offset(1,0)

 

Üdv.

Előzmény: DominicWolf (23709)
DominicWolf Creative Commons License 2014.01.09 0 0 23709

Sziasztok!

 

Kérném a segítséget a következőben:

 

Akarok egy macrot írni. Egy lapon akarom megtalálni egy oszlopban az utolsó elem alatti cellát. A ctrl lenyillal megtalálom az utolsót, de még egyet lejjebb szeretnék lépni. Hogy tegyem?

Törölt nick Creative Commons License 2014.01.09 0 0 23708

Ez azt is jelenti, hogy a kézi keresés utolsó beállításai szabják meg a következő makrós keresés alapértelmezett beállításait, és visszafelé is igaz.

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

A "teljes cellatartalomra való keresés" beállítás nem mentődik munkafüzettel. Lásd a súgót (Range object, Find method):

 

The settings for LookIn, LookAt, SearchOrder, and MatchByte are saved each time you use this method. If you don’t specify values for these arguments the next time you call the method, the saved values are used. Setting these arguments changes the settings in the Find dialog box, and changing the settings in the Find dialog box changes the saved values that are used if you omit the arguments. To avoid problems, set these arguments explicitly each time you use this method.

Előzmény: pimre (23706)
pimre Creative Commons License 2014.01.09 0 0 23706

Köszönöm. A problémám nem a makróval, csak a kézi kereséssel volt. Megnyitottam egy üres excelt, ott nem volt beállítva a teljes cellatartalom keresése. Akkor viszont lehetséges, hogy a most épp használt fájlomat én mentettem el így, csak nem foglalkoztam azzal, hogy mentés előtt legyen kikapcsolva ez a beállítás. Ezért jelent meg újra, és újra. Most mentettem jó beállítással, újraindítottam a gépet, és most jónak tűnik.

 

Előzmény: Fferi50 (23704)
Fferi50 Creative Commons License 2014.01.09 0 0 23705

Szia!

 

Még valami:  makróban a find-hez tartozó lookat paramétert kell xlPart értékre beállítani.

Ezt is elég egyszer, ha nem változtatod közben a rész - egész keresést.

 

Üdv.

Előzmény: pimre (23703)
Fferi50 Creative Commons License 2014.01.09 0 0 23704

Szia!

 

A keresés megőrzi az utolsó beállításokat. Nincs más teendőd, a megnyitott üres excelnél  a keresés egyebeknél kiveszed a teljes cellatartalomra vonatkozó jelölést. Ezután mindaddig amíg nem keresel másként, ez a beállítás fog érvényesülni. De a biztonság kedvéért zárd be az Excelt, majd indítsd újra. Ha most keresni akarsz, akkor az a jelölőnégyzet már üres kell legyen.

 

Üdv.

Előzmény: pimre (23703)
pimre Creative Commons License 2014.01.09 0 0 23703

Egy egészen az alapokat érintő kérdésem van, amit illenék már tudnom ennyi év használat óta. Szóval néhány hete dolgoztam egy adatállománnyal, ahol többször szükségem volt arra, hogy a keresésnél bejelöljem a 'Ha ez a cella teljes tartalma' melletti négyzetet.

 

Azóta viszont képtelen vagyok megszabadulni tőle. És mivel az a gyakoribb eset, hogy nem a teljes tartalomra keresek, mindig bosszúságot jelent, hogy ezzel az alapértelmezéssel indul a keresés. És nem találom, hogy hol tudnám kikapcsolni.

Fferi50 Creative Commons License 2014.01.09 0 0 23702

Szia!

 

"Csak" annyi a probléma, hogy a számok angol formátumban vannak a szövegben, ígya amikor az érték függvény átalakítja, akkor a pontok miatt minden olyan számot, amit lehet dátumként értelmezni, dátumnak vesz (pl. 1.20 = január 20-a folyó évben), amit meg nem tud dátumnak értelmezni, arra mondja, hogy értékhiba.

 

Ugye akkor tudunk igazán segíteni, ha leírod, milyen excelt használsz és kis mintát teszel fel a problémából.

 

Próbáld meg Delila javaslatát.

 

Ha angol verziód van, akkor nincs tippem se, mert annak a viselkedését nem ismerem.

 

Üdv.

 

A #Value hiba csak a Skydrive-on lett angol??

Előzmény: onezoli (23699)
Delila10 Creative Commons License 2014.01.09 0 0 23701

Kevesebb munkával:

 

1. Cseréld a pontokat vesszőkre a csere funkcióval.

 

Ha ettől nem váltak az adatok számokká, akkor

2. Írj egy üres cellába egy egyest.

3. Másold Ctrl+c-vel.

4. Jelöld ki a módodítandó tartományt.

5. Jobb klikk, irányított beillesztés, szorzás.

 

Előzmény: onezoli (23698)
tbando Creative Commons License 2014.01.09 0 0 23700

Hát azt még elképzelni sem tudom, hogyan lesz 1.20-ból , 41659, de az 1.20 miatt arra gyanakszom, hogyha az exceled tizedesvesszős számábrázolású, akkor az ÉRTÉK függvény nem fog boldogulni a tizedespontos számokkal.  Ezért elötte az összes pontot cseréld ki vesszőre. A 2007-es excelben Kezdőlap/Szerkresztés/Keresés/Csere.   És utána jöhet az ÉRTÉK. Bár az az igazság, hogy az excel2007-től már el is hagyható.

Előzmény: onezoli (23699)
onezoli Creative Commons License 2014.01.09 0 0 23699

Valamiért nem tudok képet beilleszteni... 

Szóval ezt kaptam: 

https://skydrive.live.com/redir?resid=A8E6F07A27780305!164&authkey=!ABmo2WRKVoM4m2U&ithint=file%2c.xlsx

Előzmény: onezoli (23698)
onezoli Creative Commons License 2014.01.09 0 0 23698

1.Szúrj be egy üres munkalapot.

2.A munkalap első olyan cellájába, amelyben az eredeti munkalap számot tartalmaz, írd be a következő képletet:=Érték(Régimunkalap!cella)

 3. Ezt a képletet húzd végig következetesen minden sorra és oszlopra, amelyben az eredeti munkalapon a számok vannak.

 

4. Ezután az így keletkezett területet jelöld ki. Másolás, irányított beillesztés - értékek.

Ezzel megszűnik a képlet eredeti munkalaphoz kötése.

 

5. Így a most keletkezett számokat újra kijelölve, másolás - eredeti munkalapra beillesztés. Ezután a beszúr munkalapot akár törölheted is.  

Nos a..3. lépés után már ezt kaptam ..kép mellékelve 

Ami bár azt mutatja hogy számformátummá alakította , ám pont ez a problémám bármilyen módon szeretném mindig pld.  1.20 szövegformátumból , 41659 számformátumot csinál

 

Előzmény: Fferi50 (23697)
Fferi50 Creative Commons License 2014.01.08 0 0 23697

Szia!

 

Szúrj be egy üres munkalapot.

A munkalap első olyan cellájába, amelyben az eredeti munkalap számot tartalmaz, írd be a következő képletet:

 

=Érték(Régimunkalap!cella)

 

Ezt a képletet húzd végig következetesen minden sorra és oszlopra, amelyben az eredeti munkalapon a számok vannak.

 

Ezután az így keletkezett területet jelöld ki. Másolás, irányított beillesztés - értékek.

Ezzel megszűnik a képlet eredeti munkalaphoz kötése.

 

Így a most keletkezett számokat újra kijelölve, másolás - eredeti munkalapra beillesztés. Ezután a beszúr munkalapot akár törölheted is.

 

Biztonságból azért másold le az eredeti munkalapot, ha valamit elrontottál volna, legyen miből visszaállítani.

 

Remélem sikerül.

 

Üdv.

 

Előzmény: onezoli (23695)
pimre Creative Commons License 2014.01.08 0 0 23696

Annyiban nem, hogy akkor viszont nem illenék ráállnia és futásidejű hibát jelezni, ha ki akarja a program olvasni az értékét. Más tulajdonságoknál meg tudták oldani, hogy bizonyos beállítási hibákat, ellentmondásokat ignorál a program. Ez is fejfájás a program írójának, de legalább nem a felhasználó szembesül vele. Most még szerencse, hogy most jelentkezett, és nem egy-két év múlva a használatban.

Előzmény: Fferi50 (23694)
onezoli Creative Commons License 2014.01.08 0 0 23695

Sziasztok! 

Formátum átalakítási problémám lenne... 

Elég nagy mennyiségű tizedes számok vannak egy munkalapon , amik szöveg formátumban kerültek a táblázatba , ám így persze semmilyen számítást nem lehet végezni velük.
Lehet-e valahogy egyszerre szám formátumra alakítani ezeket? 

Gugli a barátom de ami leírásokat találtam nem müködnek nekem.. 

 

Fferi50 Creative Commons License 2014.01.08 0 0 23694

Tulajdonképpen logikus, hiszen ha nincs karakter, akkor a sor még nem kezdődött el :)

 

Előzmény: pimre (23693)
pimre Creative Commons License 2014.01.08 0 0 23693

És azt sem szereti, ha nincs még egy karakter sem abban a sorban, ahol egyébként a cursor éppen áll. Nemcsak a nulladikban.

Előzmény: Fferi50 (23692)
Fferi50 Creative Commons License 2014.01.08 0 0 23692

Szia!

 

Örülök, hogy megoldódott a probléma. Ezek szerint a curline nem szereti, ha nincs még első(azaz) nulladik sor (vagyis egy  karakter sem) a textboxban vagy másban. Hát ezt azért beírhatták volna a Help-be is.

 

Üdv.

Előzmény: pimre (23691)
pimre Creative Commons License 2014.01.08 0 0 23691

Természetesen én is a form inicializálásába tettem, nem eseményhez kötve. Betettem a debug.print parancsot is, és találtam egy érdekes bugot, merthogy ez nem lehet más: Az Excel hibát jelzett, már a curline olvasásakor is, amikor olyan sorra hivatkozott curline, ami üres volt. Tehát, amikor egyetlen soros volt a szöveg, és a curline hivatkozásnak 2-est kellett volna adnia, akkor hibát jelzett. Viszont chr(13) karakterekkel feltöltve tudta kezelni a parancsot (Innen tudom, hogy a 2-es az értéke) 

 

Viszont az interneten rákerestem, és pontosan ugyanezt panaszolta valaki: http://www.xtremevbtalk.com/showthread.php?t=324383 

És a válaszban a curline helyett a textBox1.selstart=0 parancsot javasolták. Kipróbáltam, és bejött.

 

De neked is köszönöm, mert a javaslatod vezetett rá, hogy megtaláljam a megoldást.

 

Előzmény: Fferi50 (23690)
Fferi50 Creative Commons License 2014.01.08 0 0 23690

Szia!

 

A help szerint a curline itt is 0 -nál kezdődik. Na mindegy. Nálam 2003-ban is megy a 0.

 

Szerintem nézzük meg debuggal az eredményt:

 

txtSzovegDoboz.text = szöveg

txtSzovegDoboz.SetFocus

debug.print txtSzovegDoboz.curline

txtSzovegDoboz.CurLine = 1

 

Milyen esemény keretében töltöd a textboxot? Mert a setfocus kényes jószág.

 

Próbaként betenném a form inicializálásába a fenti kódot - persze a többi szükségessel együtt - ott vajon mit csinál.

 

Nálam az inicializálásban és a textbox change-ben is működött rendesen.

 

Üdv.

Előzmény: pimre (23689)
pimre Creative Commons License 2014.01.08 0 0 23689

A verzió pár napig még 2003-as.

 

A sorrend:

 

txtSzovegDoboz.text = szöveg

txtSzovegDoboz.SetFocus
txtSzovegDoboz.CurLine = 1

Előzmény: Fferi50 (23688)
Fferi50 Creative Commons License 2014.01.08 0 0 23688

Szia!

 

Ugye figyeltél a sorrendre? A curline-t csak azután állítsd be, ha a szöveget már beleírtad és a fókuszt is visszatetted a textboxra!

 

Üdv.

Előzmény: pimre (23686)
Fferi50 Creative Commons License 2014.01.08 0 0 23687

Szia!

 

Excel verzió szám?

 

Üdv.

Előzmény: pimre (23686)
pimre Creative Commons License 2014.01.08 0 0 23686

Sajnos nem egészen jött be. A CurLine 0 értékkel azonnal hibát jelzett (Unexpected call to method or property access), de 1-el ráállt a 2. (0-tól számitva 1.) sorra. Csakhogy amikor a dobozba egyetlen sornyi szöveg kerül csak (ami feltehetően a 0. sorban van), akkor unspecified error hibával áll le.

 

Viszont nem oldja meg az eredeti problémát. Ugyanis ha már scrollozott lefelé, akkor nem megy vissza, hanem csak az ablak látható tartományában áll annak a tetejére. 

 

Előzmény: Fferi50 (23685)
Fferi50 Creative Commons License 2014.01.08 0 0 23685

Szia!

 

Szerintem egészítsd ki a következőkkel:

 

    TextBox1.Text = Text 'itt írod bele a szöveget 

    TextBox1.SetFocus 'ezt gondolom nem kell magyarázni
    TextBox1.CurLine = 0 'ez az első sorra állítja a cursort, de csak akkor érvényes, ha rajta van a fókusz a texboxon.

 

Ezek legyenek az utolsó sorok.

 

Remélem segít.

 

Üdv.

Előzmény: pimre (23683)
Delila10 Creative Commons License 2014.01.08 0 0 23684

Köszönöm!

 

Nekem nem ez a kedvenc olvasmányom, mert nem értjük egymás nyelvét.

Előzmény: Fferi50 (23682)
pimre Creative Commons License 2014.01.08 0 0 23683

Nagyon köszönöm. Ezek alapján meg tudtam csinálni.

 

Most már csak egy problémám maradt. Amikor sok a szöveg, és megjelenik a függőleges Scrollbar, az rögtöm a doboz aljára lép. Én meg azt szeretném, hogy alapesetben a beleírt szöveg teteje lássék, és a továbbolvasáshoz kelljen lefelé görgetni. De erre nem látok kapcsolót.

 

Van valami ötleted?

 

 

Előzmény: Fferi50 (23667)
Fferi50 Creative Commons License 2014.01.08 0 0 23682

Szia!

 

Akkor az eljárás belsejében megnézed, hogy az a bizonyos cella ki van-e töltve. Ha igen, akkor mehet a bezárás, ha nem, akkor cancel=true és nem fogja bezárni a füzetet:

"expression.BeforeClose(Cancel)

expression A variable that represents a Workbook object.

Parameters

Name Required/Optional Data Type Description Cancel Required Boolean False when the event occurs. If the event procedure sets this argument to True, the close operation stops and the workbook is left open."

Forrás: "kedvenc olvasmányom" a VBA help.

 

Üdv.

 

Előzmény: Delila10 (23681)
Delila10 Creative Commons License 2014.01.08 0 0 23681

Addig Ok, hogy ezzel az eseménnyel, de itt megállt a tudományom.

Ha egy bizonyos cella nincs kitöltve, ne zárja, vagy mentse a füzetet.

Előzmény: Fferi50 (23680)
Fferi50 Creative Commons License 2014.01.08 0 0 23680

Szia!

 

Szerintem itt:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

End Sub

 

A Cancel meghatározza, hogy bezárja-e az eljárás végén a munkafüzetet, vagy ne.

 

Üdv.

Előzmény: Delila10 (23679)
Delila10 Creative Commons License 2014.01.08 0 0 23679

Hogy lehet egy füzet bezárását letiltani egy feltételtől függően?

Fferi50 Creative Commons License 2014.01.08 0 0 23678

Szia!

 

Teljesen igazad van, de azért megoldható, ha kissé bonyolultabban is:

 

Beszúrsz egy szövegdobozt.

Jobb egérgomb, méret és tulajdonságok.

Kitöltés - kitöltés képpel vagy anyagmintával   beszúrás fájl kiválasztása

Utána átlátszóság állítása kb. 66 %-ra.

Ezután leformázod a kívánt méretre és helyre.

 

Elnevezed - ez fontos, hogy később is tudj vele dolgozni.

 

Kinyomtatod  a lapot.

 

Miután most a szövegdoboz van felül, nem tudsz hozzáférni a munkalaphoz (illetve programból igen), ezért a szövegdobozt "el kell tüntetni".

 

Ez egy kis makróval mehet, amit hozzárendelsz egy billentyűkombinációhoz.

sub valtoztat

activesheet.shapes("Szövegdoboz 1").visible=not activesheet.shapes("Szövegdoboz 1").visible

end sub

 

Valahányszor meghívod ezt a makrót, megjeleníti, vagy eltünteti a képet.

 

A "Szövegdoboz 1" nevet az általad adottra változtasd meg lsz.

 

Egyenlőre ennyi jutott eszembe, lehet más okosabbat is tud javasolni.

 

Üdv.

Előzmény: GrundfosUPS2560eladó15000 (23676)
Delila10 Creative Commons License 2014.01.08 0 0 23677

A teljes oszlop kijelölése esetén nem a G3-ra, hanem a G1-re kell hivatkoznod a feltételes formázásnál.

Előzmény: hokuszpokusz99 (23669)
GrundfosUPS2560eladó15000 Creative Commons License 2014.01.08 0 0 23676

Nem teszi hátra sem a hátraküldés parancsra sem pedig a hátrébbküldés parancsra:(

 

 

Előzmény: Fferi50 (23675)
Fferi50 Creative Commons License 2014.01.08 0 0 23675

Szia!

 

Miért ne lehetne?

Beillesztés - kép - fájlból. Azután kijelölöd a képet és méretre igazítod, hogy lefedje a tartományt. Utána pedig "elküldöd" hátra.

 

Szerintem menni fog.

 

Üdv.

Előzmény: GrundfosUPS2560eladó15000 (23673)
Fferi50 Creative Commons License 2014.01.08 0 0 23674

Szia!

 

Visszatérve a 0.00 és a - esetére: Az adott egyedi cellaformázásban a 0 helyére - jel van rendelve. Nézd meg a cellára ráállva a cellaformázás-szám, egyéni formátumot. Ott látni fogod, hogy a negatív szám zárójeles, a 0 pedig - jel.

(az egyéni formázások helpje segít jobban megérteni a témát).

 

Üdv.

Előzmény: hokuszpokusz99 (23670)
GrundfosUPS2560eladó15000 Creative Commons License 2014.01.08 0 0 23673

Ilyen lett a lekérdezés rész amelyet tudok használni árajánlatban De egy képeffekt azért jó lenne ehelyett a silány kékszín helyett. Be lehet illeszteni tartományba háttérképet?

Amennyiben a válasz igen akkor a hogyanja érdekelne:)

 

Előzmény: Fferi50 (23667)
Fferi50 Creative Commons License 2014.01.08 0 0 23672

Szia!

 

Feltételes formázás, új szabály :formázandó cellák kijelölése képlettel - részt válaszd a legfelső lenyílóból (szabálytípus kiválasztása)!

 

Üdv.

Előzmény: hokuszpokusz99 (23670)
Fferi50 Creative Commons License 2014.01.08 0 0 23671

Szia!

 

Excel verzió?

 

Ha 2010, akkor kijelölöd az oszlopot majd  kezdőlap, feltételes formázás, szabályok kezelése, aktuális kijelölésre érvényes, szabály szerkesztése.

Szerintem az abszolut érték függvény jobb.

A szabály szerkesztésénél hajlamos magát a szabályt az egyenlőségjel után idézőjelbe tenni, azokat ki kell onnan venni és működni fog.

 

A 0 vs. - ra  ötletem: valamilyen táblázatformázási szabály miatt lehet.

 

Üdv.

Előzmény: hokuszpokusz99 (23668)
hokuszpokusz99 Creative Commons License 2014.01.08 0 0 23670

Bocsi, hulyesegeket irtam (reszben), meg rossz kepeket tettem be, most akkor a tenyleges kerdesek / jo kepek:

 

Sziasztok!

 

Felteteles formazassal kapcsolatban lenne kerdesem. Azt szeretnem, ha egy adott oszlopban azokat a cellakat szinezne be, amelyek erteke 0.01-nel nagyobb VAGY -0.01-nel kisebb. Tehat a 0.00-t es a 0.01-et, illetve -0.01-et NEM kellene beszineznie. Kiprobaltam 2 felekeppen is, de egyik sem mukodik tokeletesen, mert a 0.01-es / -0.01-es cellakat is beszinezi (a 0.00-t nem). Kijeloltem sargaval azokat a sorokat, ahol nem mukodik a formazas.

 

1. megoldas: =OR($G2>0.01,$G2<-0.01)

 

2. megoldas: abszolut ertek fuggveny es aztan nagyobb, mint 0.01

 

 

Mit csinalok rosszul? Kiprobaltam 0.02-vel is, de ugyanaz az eredmeny :(

 

A G7-es / H7-es cellaban miert - (minusz) es nem 0.00 jelenik meg? elvileg ugyanaz a formatuma az osszes cellanak (ecsettel "lehuztam" az elso sor formatumat).

 

koszi szepen a segitseget!!

Előzmény: hokuszpokusz99 (23668)
hokuszpokusz99 Creative Commons License 2014.01.08 0 0 23669

hokuszpokusz99 Creative Commons License 2014.01.08 0 0 23668

Sziasztok!

 

Felteteles formazassal kapcsolatban lenne kerdesem. Azt szeretnem, ha egy adott oszlopban azokat a cellakat szinezne be, amelyek erteke 0.01-nel nagyobb VAGY -0.01-nel kisebb.

 

Kiprobaltam 2 felekeppen is, de egyik sem mukodik tokeletesen, mert a 0.01-es / -0.01-es cellakat is beszinezi. Kijeloltem sargaval azokat a sorokat, ahol nem mukodik a formazas. A harmadik sorban az egesz sor sarga lett, a hatodikban viszont a G es H oszlopokban nem szinezte at sargara a cellakat, ennek mi lehet az oka?

 

1. megoldas: =OR($G2>0.01,$G2<-0.01)

 

2. megoldas: abszolut ertek fuggveny es aztan nagyobb, mint 0.01

 

Mit csinalok rosszul? Kiprobaltam 0.02-vel is, de ugyanaz az eredmeny :(

 

A G7-es / H7-es cellaban miert - (minusz) es nem 0.00 jelenik meg? elvileg ugyanaz a formatuma az osszes cellanak (ecsettel "lehuztam" az elso sor formatumat).

 

koszi szepen a segitseget!!

Fferi50 Creative Commons License 2014.01.08 0 0 23667

Szia!

 

A probléma oka a következő:

 

Az AutoSize és a Scrollbars, valamint a WordWrap befolyásolja egymás működését.

Ha a Textbox mérete fix, akkor mindkét scrollbar működik, ha a szövegek vízszintesen vagy függőleges túlmennének a textboxon (és persze a scrollbarok be vannak kapcsolva). Kivéve Wordwrap!

Az AutoSize on esetében a scrollbar nem működik akkor sem, ha be van kapcsolva, ami tulajdonképpen érthető, hiszen a textbox mérete ilyen esetben mindig felveszi a szöveg méretét. Képes "kimászni" a formról is a textbox és akkor nem látod a végét!

A WordWrap on esetében a vizszintes scrollbar nem működik, mivel a szöveget az adott szélességben töri bele a textboxba a rendszer (ilyenkor Autosize On esetén is változatlan a textbox szélessége!).

 

Tehát az Autosize on-off állapotot programból kezelni kell, attól függően, hogy milyen hosszú szöveget írsz bele.

Mivel a hosszabb szöveg és fix méret esetén a scrollbar működik, az jól mutat. Viszont ugyanakkora textboxban egy rövidebb szöveg már "csúful" néz ki. Így bekapcsolt WordWrap mellett kell a rövidebb szövegre az AutoSize bekapcsolása, hosszabb szöveg esetén pedig egy előre meghatározott fix magasság megadása. Ezzel elérheted, hogy mindkét esetben "szépen" nézzen ki a textbox. (A scrollbar legyen bekapcsolva, és nem kell hozzányúlni, az magától eltűnik és visszajön, ha szükséges a szöveg mérete miatt.)

 

Üdv.

Előzmény: pimre (23666)
pimre Creative Commons License 2014.01.07 0 0 23666

A bállításokat a Userform inicializálásánál próbáltam. Valahogy így:

 

Private Sub UserForm_Initialize()
Dim text As String
text = "Itt olvas be adatállományból egy hosszabb" & Chr(13) & "előre összeállított" & Chr(13) & Chr(13) & _
"szöveget ahol a sorok elválasztására néha egy, vagy két bekezdésjel szolgál" & Chr(13) & Chr(13) & _
"Végül még felteszi a kérdést, hogy véggezzen-e el valamilyen műveletet, vagy sem."
SzovegDoboz.Value = text
SzovegDoboz.MultiLine = True
SzovegDoboz.ScrollBars = fmScrollBarsHorizontal
SzovegDoboz.WordWrap = True
SzovegDoboz.AutoSize = True
End Sub

 

Miközben ugyanezt a feladatot a következő sorokkal könnyedén megoldom:

 

Set uzenetdoboz = CreateObject("Wscript.Shell")
valasz = uzenetdoboz.Popup(text, 0, cimszoveg, 4)

 

Ahol a valasz értéke 6, ha az Igen, 7 ha a Nem gomot választotta.

Előzmény: Fferi50 (23665)
Fferi50 Creative Commons License 2014.01.07 0 0 23665

Szia!

 

Mutatnál valamilyen kódrészletet a texbox ügyében, mert az autosize és a scrollbar kellene, hogy érvényesüljön, hacsak nem gátolod meg valamivel (pl. Te adsz neki értéket: "If you manually change the size of a control while AutoSize is True, the manual change overrides the size previously set by AutoSize.")

 

Lehet, hogy valami ilyesmi játszik veled "ördögöt".

 

Üdv.

Előzmény: pimre (23663)
tbando Creative Commons License 2014.01.07 0 0 23664

Kösz a makrónévadási szabályokat. Az persze nincs köztük, amit nekem sikerült roppant kreativan megszegni :))). Vagy legalábbis nem látom köztük, hogy a cellahivatkozásként is szóbajöhető betű + szám kombinációk használata sem igazán szerencsés. 

Előzmény: Fferi50 (23649)
pimre Creative Commons License 2014.01.07 0 0 23663

Viszont sajnos valamiért nálam nem működik az AutoSize. Azt tapasztalom, hogy az egyébként megadott Width és Heigth adatot 1-1.5 értékkel (azt hiszem pixel) módosítja, de nem látom, hogy köze lenne a benne szereplő szöveg méretéhez.

És úgy látom, hogy a ScrollBars beállítás sem eredményez Scroll Bar-t akkor sem, ha szükség lenne rá.

 

Szóval nem tudom, mit bénázok el, de most hogy a napom nagy része elment vele szégyenszemre átmenetileg feladom, mert holnapra szeretnék eredményt produkálni.

 

Ezért visszatérek a Popup technikához, ami egyetlen parancssorral egy MsgBox-ra emlékeztető képet ad. Amig ki nem derül, hogy valami gond van vele.

Próbálgatással kiderítettem, hogy miként tudom a konstansokkal befolyásolni a működését. Például azt, hogy OK, OK/Mégse, Igen/Nem, Igen/Nem/Mégse stb válaszra várjon (7 féle van), valamint azt, hogy a válasz hiányában elkapja-e a képernyőt, vagy sem, és ha igen, mennyi idő után. Ráadásul függvényként használva visszaadja a választott gombnak megfelelő konstans értékét (Igen=6, Nem = 7 stb.). És eddig nem találtam meg azt a hibát, amire az MrExelbeli válaszadó azt írja, hogy "AutoDismiss sometimes dosen't work ?". Lehet, hogy csak arra gondolt, hogy az adott konstans bizonyos értékek megadását nem fogadja el.  Én mindenesetre csak a 0 értékkel használom, amivel vár a program a válaszra. Nyomjon már gombot az a fránya felhasználó:-)

 

Szóval köszönöm a segítő szándékot, de nekem most nem jött össze az alternatív (talán szabályosabb?) megoldás.

Előzmény: Delila10 (23662)
Delila10 Creative Commons License 2014.01.07 0 0 23662

Nincs mit. :)

Előzmény: pimre (23661)
pimre Creative Commons License 2014.01.07 0 0 23661

Köszönöm, ezt nem ismertem.

Előzmény: Delila10 (23657)
Fferi50 Creative Commons License 2014.01.07 0 0 23660

Szia!

 

Ne tedd!

 

Néha a legkézenfekvőbb dolgok kerülik el az ember figyelmét - de sokszor jártam így én is.

 

Másrészt, ha a képek tulajdonságai részben azt állítod be az objektum elhelyezésénél, hogy az objektum helye és mérete nem változik, akkor rendezheted akárhogy, mindig ugyanott marad.

 

Tehát a rendezés csak akkor működik így, ha az objektum elhelyezése : áthelyezés a cellákkal de a méret marad, vagy áthelyezés és méretezés a cellákkal együtt.

Mertem remélni, hogy nem az első verzió van nálad.

 

Üdv.

 

Előzmény: GrundfosUPS2560eladó15000 (23658)
Törölt nick Creative Commons License 2014.01.07 0 0 23659

Hacsak úgy nem :)

Előzmény: Delila10 (23657)
GrundfosUPS2560eladó15000 Creative Commons License 2014.01.07 0 0 23658

Szégyellem magam hogy feltettem ezt a kérdést:(

 

Előzmény: Fferi50 (23655)
Delila10 Creative Commons License 2014.01.07 0 0 23657

Na és a textbox AutoSize tulajdonságának True-ra állítása?

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

Ha én lennék a helyedben, kábé annyit foglalkoznék a textbox méretével, hogy felállítanék 3 esetet a szöveg karakterszám értékére:

 

Ha a karakterek száma <=100, akkor texbox-> 1-es méret

ha a karakterek száma >100 és <=500, akkor texbox-> 2-es méret

ha a karakterek száma >500, akkor texbox-> 3-as méret

 

Ha ennél alaposabb akarnék lenni, akkor előbb be kéne iratkoznom egy esztétika tanfolyamra, ahol megmondják, hogy mitől néz ki jól egy szövegdoboz.

Előzmény: pimre (23653)
Fferi50 Creative Commons License 2014.01.07 0 0 23655

Szia!

 

Azt próbáltad már, hogy az A:B oszlopot együtt jelölöd ki és úgy rendezel?

 

Üdv.

Előzmény: GrundfosUPS2560eladó15000 (23654)
GrundfosUPS2560eladó15000 Creative Commons License 2014.01.07 0 0 23654

Üdv!

 

Gyors leszek. A-Z rendezés esetén a képek ugyanott maradnak. Lehetséges hogy rendezés során adott szöveg mellé adott eredeti kép kerüljön? Ha igen hogyan? 

 

Köszönöm

pimre Creative Commons License 2014.01.07 0 0 23653

Kösz. Azt tudom, hogy a textbox méretét tudom szabályozni, csak az a nehézségem, hogy a szöveg leghosszabb sora alapján megadjam a szélességet, és a sorok száma alapján a magasságot. Egyszer már bütyköltem a szélesség beállítással egy többoszlopos listboxnál, és úgy emlékszem, hogy gondjaim voltak vele. De majd előszedem, hogy végül mire is jutottam.

 

Az idézett mondatot olvastam, de őszintén szólva nem tudtam mit kezdeni vele. Különösen, hogy még ő maga sem biztos a dolgában, hiszen kérdőjelet tett a megjegyzés végére.

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

Szerintem külön userform kellene a textboxnak. Akár még úgy is nézhet ki, mint egy MsgBox. A form méretét, rajta a textbox méretét szabadon változtathatod runtime a Height és Width tulajdonságokkal, és a textbox tartalmazhat görgetősávot.

 

A scriptinges megoldásban van egy sor, amire felhívnám a figyelmedet:

'// Scripting MsgBox, AutoDismiss sometimes dosen't work ?

 

Ha már a javaslattevő is ezt mondja...

Előzmény: pimre (23651)
pimre Creative Commons License 2014.01.07 0 0 23651

És még valami. Úgy láttam, hogy a popup ablak dinamikusan méreteződik, azaz alkalmazkodik a benne lévő szöveg méretéhez, úgy a sorok hosszát, mint az ablak magasságát illetően. Nem vagyok biztos abban, hogy ezt a textboxnál is meg tudom-e valósítani. Mert a kevés szöveg egy nagy ablakban nem mutat jól, a sok szöveg túl kis ablakban szintén kényelmetlen, ha sokat kell scrollozni.

De majd próbálkozom.

Előzmény: pimre (23650)
pimre Creative Commons License 2014.01.07 0 0 23650

Át sem gondoltam. Az újdonság varázsa, és az egysoros parancs lehetősége miatt csak ezt próbálgattam. De akkor majd megnézem textbox-al is.  Úgyis egy userformról hívom meg a programrészletet, ahol használni akartam.

Előzmény: Törölt nick (23648)
Fferi50 Creative Commons License 2014.01.07 0 0 23649

Szia!

 

Miért kérdezed? Láttál már név nélküli makrót? Legalább egy karaktar kell és az betű legyen. Bővebben idézet a VBA helpből (már megint, de én is innen szoktam okos(k)odni...):

" Visual Basic Naming Rules

Use the following rules when you name procedures, constants, variables, and arguments in a Visual Basic module:

  • You must use a letter as the first character.
  • You can't use a space, period (.), exclamation mark (!), or the characters @, &, $, # in the name.
  • Name can't exceed 255 characters in length.
  • Generally, you shouldn't use any names that are the same as the functions, statements, and methods in Visual Basic. You end up shadowing the same keywords in the language. To use an intrinsic language function, statement, or method that conflicts with an assigned name, you must explicitly identify it. Precede the intrinsic function, statement, or method name with the name of the associated type library. "

Üdv.

Előzmény: tbando (23647)
Törölt nick Creative Commons License 2014.01.07 0 0 23648

A textbox-userform ötletet elvetetted? Szerintem az jobb.

Előzmény: pimre (23646)
tbando Creative Commons License 2014.01.07 0 0 23647

Van olyan kritérium, hogy egy makrónév hány karakters legyen minimum?

pimre Creative Commons License 2014.01.06 0 0 23646

Sziasztok, beleütköztem a következő problémába: Változó mennyiségű üzenetet szeretnék a felhasználóhoz eljuttatni. Ehhez az MsgBox nem alkalmas, mert benne korlátozott az elhelyezhető szöveg mennyisége, és egyes esetekben még a választ lehetővé tévő gombok sem látszanak.

 

Találtam az interneten egy megoldást (http://www.mrexcel.com/forum/excel-questions/383208-scroll-bar-message-box.html), ahol a scriptinget ajánlja a válaszadó. Kipróbáltam, de nem találok a paramétereiről használható leírást. A megadott konkrét példával pár másodperc múlva eltűnik a doboz a képernyőről, miközben én választ várnék a felhasználótól.

 

Két kérdésem lenne. Az egyik az, hogy egyáltalán használható-e ez a technika a környezettől némiképp függetlenül. Mert úgy látom, hogy talán nem az Excel, hanem a Windows szolgáltatása.

 

A másik, hogy hol találok egy kicsit részletesebb leírást ennek a technikának a használatáról? Mert próbálgatással már sikerült ugyan megállítanom a képet az OK megnyomásáig, de azért jobb lenne ezt elolvasni. 

GrundfosUPS2560eladó15000 Creative Commons License 2014.01.05 0 0 23645

Köszönöm megoldva a probléma szuperek vagytok.

Előzmény: Fferi50 (23644)
Fferi50 Creative Commons License 2014.01.05 0 0 23644

Szia!

 

Itt egy rövid példa rá:

[URL=http://data.hu/get/7276949/Legordulo.xlsm]http://data.hu/get/7276949/Legordulo.xlsm[/URL] 

vagy

 

http://data.hu/get/7276949/Legordulo.xlsm

 

Ebben láthatod, hogyan működik együtt a két munkalap.

 

Üdv.

Előzmény: GrundfosUPS2560eladó15000 (23643)
GrundfosUPS2560eladó15000 Creative Commons License 2014.01.05 0 0 23643

Közben beletettem egy munkalapra így megoldottam:) Köszönöm a segítséget. Bár ha van megoldás továbbra is érdekel már csak a megértése miatt is. 

 

tbando Creative Commons License 2014.01.05 0 0 23642

Sajnos változatlanul nem értem, hogy miért nem lehet ezt az egész procedurát 1 legördülő listával megcsinálni.

De  hát nem is nekem kell érteni. Így hát nem filózok rajta tovább.

Előzmény: Fferi50 (23641)
Fferi50 Creative Commons License 2014.01.04 0 0 23641

Szia!

 

Azért kell két munkalap, mert az egyiken kiválasztja az összetevőket, a másikon pedig a finomhangolást végzi (gondolom).

A szinkron arról szól, hogy mindkét lapon ugyanaz az listaelem legyen kiválasztva. Ez azért kell, mert ennek az állása határozza meg, hogy milyen adatok kerülnek át az egyik lapról a másikra.

Vagyis, ha a már kiválasztott listaelemet az árajánlaton megváltoztatom, annak megfelelő elemek kell,hogy odakerüljenek erre a lapra - de azt a másik lapon levő kiválasztó determinálja.

Amíg nincs árajánlata, addig viszont az áras munkalapon "játszik" a legördülő listával. Emiatt kell mindkét lapon ugyanaz.

 

Üdv.

Előzmény: tbando (23640)
tbando Creative Commons License 2014.01.04 0 0 23640

És tulajdonképpen mit kell szinkronizálni? 

Előzmény: tbando (23639)
tbando Creative Commons License 2014.01.04 0 0 23639

 Én azt nem értem, hogy miért kell 2 munkalapon kiválasztani, miért nem elég az árajánlaton. 

Előzmény: Fferi50 (23638)
Fferi50 Creative Commons License 2014.01.04 0 0 23638

Szia!

 

Ez igaz, de a két munkalap kiválasztott elemei nem szinkronizálódnak automatikusan!

 

És az árazások miatt neki ezt át kell vinni a másik lapra.

 

Üdv.

Előzmény: tbando (23637)
tbando Creative Commons License 2014.01.04 0 0 23637

Utána néztem, jól emlékeztem.  A különböző lapokon, füzetekben levő legördülő listák minden további nélkül hivatkozhatnak ugyanarra forrástartományra, tehát felesleges az azonos listaelemeket tartalmazó egyedi forrástarományok létesítése, majd azok szinkronizálása. 

Előzmény: GrundfosUPS2560eladó15000 (23634)
Fferi50 Creative Commons License 2014.01.04 0 0 23636

Szia!

 

Ha mindkét munkalapon kell, akkor nem úszod meg makró nélkül, mivel a legördülő lista értékét át kell adni a másik munkalapra.

Az érvényesítés tartománya lehet ugyanaz mindkét lapon (úgy a legegyszerűbb, ha elnevezed a listatartományt és névvel hivatkozol rá az érvényesítésben).

 

A munkalap (mindkettő) change eseményéhez kell írni a kis makrót amivel az egyikben bekövetkezett változást a másikba átmásolod.

pl.:

Az árajánlatban:

    if not intersect(target,range("B8")) is nothing then

         application.enableevents=false

         munkalap(árlista).range(megfelelőcella).value=target.value

         application.enableevents=true

      endif

Az árlistában ugyanez fordított felállásban.

Ezzel elvileg mindkét helyen változtathatod a legördülőt. (A munkafüzet,munkalap elnevezéseket pontosítsd lsz.)

 

Az eseményt megtalálod a worksheet kódlapjának jobb oldalán.

 

 

Üdv.

 

Előzmény: GrundfosUPS2560eladó15000 (23634)
tbando Creative Commons License 2014.01.04 0 0 23635

Nem igen értem, miért kell 2 füzet és 2 legördülő lista. Miért nem jó az, ha az árajánlat füzet tartalmazza az árlistát is?  

 

Mivel csak érintőlegesen foglalkoztam a legördülő listázással, nem vagyok benne biztos, de nekem úgy dereng, hogy egy legördülő lista hivatkozhat egy másik füzet tartományára is.

 

Ha bármelyik eset teljesülhet, egy árajánlatos legördülő listával megoldhatod a problémádat. 

Előzmény: GrundfosUPS2560eladó15000 (23634)
GrundfosUPS2560eladó15000 Creative Commons License 2014.01.04 0 0 23634

Szia!

 

Igen mindkét munkalapon kellene ugyanaz a legördülő lista és mindkét lapról változtatni kellene tudni de ha az egyiken megváltoztatom a másikon is szinkronban kell változnia mivel a legördülő listában szereplő adat alapján kalkulálódik ki az ár.

 

 

 

Előzmény: Fferi50 (23633)
Fferi50 Creative Commons License 2014.01.04 0 0 23633

Szia!

 

Ha jól értem a kérdést, akkor mindkét munkalapon kellene ugyanaz a legördülő lista és mindkét lapról változtatni kellene tudni. Ráadásul a legördülő lista az árlista munkafüzetben külön is változik? Vagy ott mindig ugyanaz a lista?

 

Üdv.

Előzmény: GrundfosUPS2560eladó15000 (23631)
tbando Creative Commons License 2014.01.04 0 0 23632

Tulajdonképpen nem értem a problémát. Mivel  amit elmondtál abban szerintem semmi sem problémás.  Kell hozzá egy 2 vagy 3 oszlopos táblázat: 

 

A: termék (kód:1 vagy 2 )  (erre a példa megadásod szerint nincs is szükség)

B: alapanyag (kód: 1 vagy 2)

C: Alapanyag felhasználás (naturális vagy pénzügyi adat)

 

Majd az alapanyagfelhasználásra szumha, szumhatöbb  vagy kimutatás.

 

A táblázat tetszés szerint bővíthető további oszlopokkal, Pl. termék mennyiség, hétNo, NapNo stb. Az értékelésbevonásuk meg  a megadott kaptafára.

 

 

Előzmény: djmorphy (23630)
GrundfosUPS2560eladó15000 Creative Commons License 2014.01.04 0 0 23631

Megoldódott köszönöm! Egy szinttel előrébb vagyok leszerkesztettem mindent

 

Van két munkafüzetem egy Árlista "1.jpg" és egy Árajánlat munkafüzet "2.jpg"

 

Az Árajánlat munkalap B8 cellája hivatkozik az Árlista_hun adott cellájára az alábbiak szerint ="'" & (Árlista_hun!$R$25). Az árajánlatban szerepl B8 cella tehát egy lekérdezett hivatkozott adat. A lekérdezett adat pedig egy legördülő listából kiválasztott adat.  Próbáltam másolni az Árlista celláját viszont beillesztés után a legördülő liosta nem jelenik meg így minden esetben vissza kell mennem Árlista oldalra majd a legördülő lista adatai ugyan megjelennek Árajánlat munkalapon de a lépkedést szerintem ki lehetne váltani ha valahogy be tudnám illeszteni a legördülő listát. Azaz ha jól teszem fel a kérdést akkor szinkronban kellene működnie a két legördülő listának. Ha egyik helyen változtatom akkor a másik munkalapon is változnia kell az adatnak. Lehetséges ez?

 

Előzmény: Fferi50 (23613)
djmorphy Creative Commons License 2014.01.04 0 0 23630

Sziasztok!

Kellene egy kis segítség mert még elrendezés szempontjából sincs ötletem nemhogy függvényekkel manipuláljak :)


Van kettő termék. Ami kettő különböző alapanyagból készül. Ezek az alapanyagok több forrásból is származinak
Annyi csak a különbség, hogy más az ára de nekem meg kell különböztetnem készlet szempontjából.

Az igazgató megmondja hogy tárgyhéten melyiket használjuk. Ezt kellene valahogy definiálnom hogy melyiket csökkentse.


Alapelmélet az, hogy (beérkezett alapanyag)-(legyártott termék)=késztermék. A problémám az, hogy melyik árú terméket csökkentsem.

 

Példa:
1 termék
alapanyag1 (1$)
alapanyag2(2$)
2 termék
alapanyag1 (3$)
alapanyag2(4$)

 

Igazgató utasítása:

Week1
1 termék 2 alapanyaggal (2$)
2 termék 1 alapanyaggal (3$)
Week2
1 temék 1 alapanyaggal(1$)
1 termék 2 alapanyaggal(2$)
weel3
2 termék 1 alapannyaggal (3$)
2 termék 2 alapanyaggal (4$)

stb...


Valami olyasmin gondolkozok hogy napi intervallumok között vagy heti szinten definiálnám, hogy melyiket használja. A napinál gondolom igencsak macerás lenne.

A heti lenne a jó de úgy hogy megadom melyik alapanyagot vegye figyelembe. Ha használjuk akkor csökkenti ha nem akkor nem foglalkozik vele mert éppen azon a héten csak az 1 terméket 1 alapanyaggal gyártottuk. De ugye megeshet hogy minden nap más a forrás...

 

Van ötletetek merre induljak el?

Matyi82 Creative Commons License 2014.01.03 0 0 23629

Köszönöm!

 

Sikerült! :)

Előzmény: Fferi50 (23628)
Fferi50 Creative Commons License 2014.01.03 0 0 23628

Szia!

 

Mondjuk a D1 cellába írd be a következő képletet:

 

=szumha(C:C;"";"A:A")

 

Ez összesíti az A oszlop olyan adatát, amelyhez nincs a C oszlop megfelelő cellájában adat. (Vigyázat, bármit írsz a C oszlop cellájába, az már nem üres, tehát arra, hogy oda dátum kerül, neked kell figyelned).

 

Üdv.

Előzmény: Matyi82 (23627)
Matyi82 Creative Commons License 2014.01.03 0 0 23627

Sziasztok!

Egy szerintem egyszerű problémára keresnék megoldást, hátha tudtok segíteni...

A oszlop tartalmaz összegeket
B oszlop tartalmaz fizetési határidő dátumokat
C oszlop pedig tartalmazza az összeg tényleges beérkezési dátumát

Szeretnék egy olyan cellát ami a kintlévőségek végösszegét tartalmazza. Ha a C oszlop egyik sorába beírnám a dátumot, akkor a kintlévőségek végösszege a sor összegével csökkenne.

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

Delila10 Creative Commons License 2014.01.03 0 0 23626

Szívesen.

 

FFeri: igen, valakinek jeleznie kellene.

Előzmény: Alkesz_ (23625)
Alkesz_ Creative Commons License 2014.01.03 0 0 23625

Köszi a makrót.

Müxik szépen :-)

Előzmény: Delila10 (23623)
Fferi50 Creative Commons License 2014.01.03 0 0 23624

Szia!

 

Nagyon érdekes, mert a súgóban nálam ez van:

Billentyűkombinációk CTRL billentyűvel

Tipp Töltsön le vagy nyomtasson ki egy rövid összefoglalást: Billentyűparancsok a Ctrl billentyűvel (angol nyelvű PDF).

 

Ezután részletesen fel van sorolva a billentyű hozzárendelés, amiből kimásoltam az előbbi hozzászólásban levőt - és valóban, a numerikus billentyűkkel nem működik, csak a "betűs" részen -.

Viszont a linken található PDF formátum egyrészt nem angol nyelvű, másrészt más billentyű parancsokat mond pl. a dátumra is - de az nem működik.

Lehet, jelezni kellene MS felé ezt az ellentmondást.

 

Üdv.

Előzmény: Delila10 (23621)
Delila10 Creative Commons License 2014.01.03 0 0 23623

A laphoz rendeld a makrót.

 

Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Column = 5 Then Cells(Target.Row, 6) = Date
End Sub

Előzmény: Alkesz_ (23622)
Alkesz_ Creative Commons License 2014.01.03 0 0 23622

Ctrl + 0 -val működik. (De csak a bal oldali 0-val).

 

Ha már így belemerültünk, akkor arra van függvény, hogyha az előbbi képeken nézzük a táblázatot:

Ha az előleg oszloppba bekerül egy érték, akkor az eladás dátuma oszlopba, ugyanazon sorhoz beírja az

aznapi dátumot, (ami nem változik többé)?

Előzmény: Fferi50 (23620)
Delila10 Creative Commons License 2014.01.03 0 0 23621

Nálam a súgó a Ctrl+ "+" -t hozza, de sem azzal, sem a Ctrl+0-val nem adja a dátumot (és semmi mást sem).

 

Valamikor volt olyan kitétel, hogy a cellán állva, de a szerkesztőlécen kell bevinni a Ctrl+valamit, most ez sem jön be. Egyszer régebben, talán pontosan ezen a fórumon valaki írt rá egy nyúlfarknyi makrót, és ahhoz rendelte a bill. kombinációt.

 

Ennyi lehet az egész:

Sub Kelt()
     Selection = Date
End Sub

Előzmény: Fferi50 (23620)
Fferi50 Creative Commons License 2014.01.03 0 0 23620

Szia!

 

A billentyűre kell rákeresni, akkor hozza ki a következő hivatkozást (is):

Billentyűparancsok az Excel 2010 alkalmazásban 

 

CTRL+0 Az aktuális dátum bevitele.

 

Üdv.

Előzmény: Delila10 (23619)
Delila10 Creative Commons License 2014.01.03 0 0 23619

A súgóban keress rá a gyorsbillentyűkre.

Előzmény: Alkesz_ (23618)
Alkesz_ Creative Commons License 2014.01.03 0 0 23618

Office 2013 - ban pontosan hol tudom megnézni a makrókat?

(Nézet lapon van egy Makrók fül, de azt mondja, hogy nincs egy makró sem.)

 

A beállításokban sem találom a gyorsbillentyűk hozzárendelhetőségek beállítási lehetőségét...

 

:-(

Előzmény: Fferi50 (23616)
Delila10 Creative Commons License 2014.01.03 0 0 23617

Úgy tűnik, ez hiba a 2010-es verzióban. Nálam biztos, hogy nem rendeltem más funkciót a Ctrl+ "+"-hoz, mégsem működik. :(

Előzmény: Fferi50 (23616)
Fferi50 Creative Commons License 2014.01.03 0 0 23616

Szia!

 

A 2. képhez: akkor gondolom megtaláltad a lenyíló első sorában az aktuális kijelölés kifejezést.:)

 

A dátumhoz: nagy valósznűséggel van egy másik makró rendelve a ctrl+ billentyűhöz. Nézd meg a makróidat, illetve az Excel gyorsbillentyű hozzárendeléseit. Ki fog derülni a turpisság.

 

Üdv.

Előzmény: Alkesz_ (23615)
Alkesz_ Creative Commons License 2014.01.03 0 0 23615

Sikerült megcsinálni.

Már csak a dátumos kérdés aktuális :-)

 

Előzmény: Alkesz_ (23614)
Alkesz_ Creative Commons License 2014.01.03 0 0 23614

Sziasztok!

 

Nem akar sikerülni a dolog...

Itt van két kép: http://sdrv.ms/JxQIY7

 

Első képnél a a táblázat első sora van kijelölve, csak ez nem látszik...

A második képnél a teljes táblázat van kijelölve, szintén nem látszik a képlopó miatt...

 

1.,

"Ha már az első sor leformáztad, akkor kijelölöd az egész táblát.

Excel 2010. Feltételes formázás szabályok kezelése. A szabály az aktuális kijelölésre vonatkozzon."

 Itt "A szabály aktuális kijelölésre vonatkozzon" nem találom sehol. Kép2.jpg-en ez van (Excel 2013)

 

2.,

A kép egynél az van ahogyan beállítom a feltételes formázást.

Ha az érvényeség hivatkozásából veszem ki a $ - ot akkor az egész táblázat ugyanarra a cellára reagál,

tehát egy cellára az egyész táblázat töltődik ki pirossal.

Ha az a cella aminek a tartalmát figyelni kell, veszem ki a $- ot akkor nem tudom miért, de csak a sor első cellája töltődik ki,

pedig az érvényesség az egész sorra vonatkozik.

 

 

Lehet, hogy nem az Új szabály/Formázandó cellák kijelölése képlettel pontból kellene indulnom?

 

Egyébként a G oszlopban lévő nulla ha változik 0<nagyobbra akkor kellene az adott sort pirossal tölteni.

 

 

Még egy kérdés:

Nem működik a ctrl + ; mai dátum beírása. Azt mondja nincs ilyen cella. Ez miért van?

 

Segítségeket előre is köszi!

 

Előzmény: Fferi50 (23611)
Fferi50 Creative Commons License 2014.01.02 0 0 23613

Szia!

 

Próbáld így a képletet:pl. ="'" & Munka1!B14  (az idézőjelek között aposztrof).

 

Üdv.

 

 

 

Előzmény: GrundfosUPS2560eladó15000 (23612)
GrundfosUPS2560eladó15000 Creative Commons License 2014.01.02 0 0 23612

:) 

 

Mindezt meg is tettem ekkor jött egy probléma beszummázom az adott cellát amely tartalma alfanumerikus és betűkaraktereket is tartalmaz. Azt vettem észre ha csak sima számot tartalmaz pl "1" akkor beilleszti az adatot de ha a cella "L=0,5-1méter, s/s 0,8mm" adatot tartalmazza akkor a visszakapott érték 0 lesz . Próbáltam a cellaformázással de valahogy nem akarja az igazat. Az árajánlat esetében ez azért lenne fontos mert a legördülő menüben kiválasztott szöveg tartalma jelenne meg az árajánlat adott hivatkozott sorában. Mit kell tegyek, hogy a cella tartalma egy az egyben jelenjen meg.

 

Előzmény: Delila10 (23606)
Fferi50 Creative Commons License 2014.01.02 0 0 23611

Szia!

 

Ha már az első sor leformáztad, akkor kijelölöd az egész táblát.

Excel 2010. Feltételes formázás szabályok kezelése. A szabály az aktuális kijelölésre vonatkozzon.

 

Más Excelben: A szabályban nem $-os címzést írsz be, hanem $ nélkülit a sorhoz. Utána kijelölöd a sort, másolás, irányított beillesztés formátum.

 

Üdv.

Előzmény: Alkesz_ (23609)
Redlac Creative Commons License 2014.01.02 0 0 23610

Köszi, próbálkozom...

Előzmény: Fferi50 (23608)
Alkesz_ Creative Commons License 2014.01.02 0 0 23609

Sziasztok!

 

B.U.ÉK.

 

Az lenne a kérdésem, hogy adott egy táblázat, mondjuk 8 oszlopból, és 2200 sorból áll. Feltételes formázással könyedén betudom állítani azt, hogyha a sor utolsó cellája 0-tól nagyobb számot tartalmaz, akkor a teljes sor pirossal kitölti. A kérdés az lenne, hogy hogyan tudom megcsinálni azt, hogy minden sorban így működjön, és ne kelljen minden sorra külön megcsinálja ezt az 1 perces beállítást. Tehát összefoglalva, az utolsó cellájában 0-tól nagyobb szám van, az a sor legyen pirossal kitöltve.

 

Segítségeket előre is köszi!

 

Zsolt

Fferi50 Creative Commons License 2014.01.02 0 0 23608

Szia!

 

Kérdés, hogy a munkafüzet közös használatú(egyidőben többen is használhatják), vagy egyszerre csak egy felhasználó.

 

Ha közös használatú, akkor lsz. olvasd el a help erre vonatkozó részét, mert ott az egyes felhasználók külön-külön is mentenek - sőt kell is menteniük a változásokat.

 

Egyébként a Thisworkbook BeforeClose eseményéhez rendelhetsz makrót, amiben mented a munkafüzet egy példányát másként.

A mentés feltételeit persze neked kell végig gondolni a fentiek figyelembe vételével is.

 

Üdv.

Előzmény: Redlac (23607)
Redlac Creative Commons License 2014.01.02 0 0 23607

Sziasztok, BUÉK!

 

Egy szerveren lévő Excel fájl biztonsági mentését szeretném megoldani valahogyan - automatikusan :-)

 

Valami olyanra gondoltam, hogy a fájl bezárásakor egy szintén a szerveren lévő más mappába másolja a fájlt magát, illetve az ott lévőt felülírja az újjal.

A dokumentumot naponta sokszor, több felhasználó nyitja meg, és ír bele (iktatóként használjuk).

 

 

Erre lenne valami ötletetek?

 

Köszi

 

Delila10 Creative Commons License 2014.01.02 0 0 23606

Az Árajánlat lap D1 cellájába csak =Munka1!E14-et írnod.

 

Hogy miért írtam ilyen hosszú képletet, fogalmam sincs. :(

Előzmény: Delila10 (23605)
Delila10 Creative Commons License 2014.01.02 0 0 23605

Gomb sem kell, automatikusan beteszi a 3 értéket, ha a kép szerinti Árajánlat lap képleteit bemásolod az űrlapod megfelelő celláiba.

A képletek az Árajánlat lapon a Munka1 lapra hivatkoznak, azokat írd át a saját lapod nevére.

 

Előzmény: GrundfosUPS2560eladó15000 (23604)
GrundfosUPS2560eladó15000 Creative Commons License 2014.01.02 0 0 23604

Mindezt persze úgy hogy pl lenne egy küldd gomb amire ha klikkelek akkor tevődne bele az árajánlatba.

 

Előzmény: GrundfosUPS2560eladó15000 (23603)
GrundfosUPS2560eladó15000 Creative Commons License 2014.01.02 0 0 23603

Megoldódott köszönöm a sor kijelölése volt nálam a gond a beillesztés után csúszva volt a sorom. Szóval megírni nem tudtam volna most már kezdem átlátni ezt a hol van függvényt:)

 

 

Bővítve ezt az ékességet szeretném ha a kapott cella az adott oszlop és felirtát tartalmazná.

 

Árajánlat esetében ekkor automatikusan kiíródna a termék neve az összeg előtt pedig meg szeretném jeleníteni a B13 B14 választéklista tartalmát.

 

Az így kapott adathalmazt ebben az esetben egy adott előre megírt űrlapba tehetném  vagy automatikusan oda illeszteném be. Lehetéges ez (is) :)? 

Előzmény: Delila10 (23587)
Delila10 Creative Commons License 2014.01.01 0 0 23602

tbando Creative Commons License 2013.12.31 0 0 23601

BUÉK neked is.  Meg mindenkinek.

Előzmény: Fferi50 (23600)
Fferi50 Creative Commons License 2013.12.31 0 0 23600

Szia!

 

Excel 2003 és 2007 képes bezavarni egymásnak.

Nálam 2003 és 2010 van egy gépen, de időnként a mentés másként és a megnyitás párbeszédpaneljébe belefagy a 2010.

De az elmondottak mennek a 2010-ben, ahogy írtam a jobb egérgombbal kijelölve az objektumot.

 

Üdv. és BÚÉK!

Előzmény: tbando (23598)
Fferi50 Creative Commons License 2013.12.31 0 0 23599

Szia!

 

Bocsi, igazad van, a Te képleteddel rendben kellene lennie a dolognak. Valószínűleg a "bemásolása" nem sikerült rendesen.

A teljes első sort "elnéztem", így az én képletem egy oszlopot valóban elcsalna.

 

BÚÉK!

 

Előzmény: Delila10 (23597)
tbando Creative Commons License 2013.12.31 0 0 23598

A kikapcs-bekapcs sem segített.  Megnéztem excel 2003mal is.  Ott nem volt semmi probléma, úgy viselkedett ahogy kell.  Tehát a 2007-esemmel van valami gubanc :((((

Előzmény: Fferi50 (23596)
Delila10 Creative Commons License 2013.12.31 0 0 23597

Kiválóan működött az enyémmel is, míg be nem zártam mentés nélkül a füzetet. :)

A két HOL.VAN függvény adja meg a keresett sort, és oszlopot. Éppen azért adtam meg tartománynak az A1:P11-et az elején, mert az oszlopot a teljes első sorban kell keresni.

Előzmény: Fferi50 (23593)
Fferi50 Creative Commons License 2013.12.31 0 0 23596

Szia!

 

Ha jobb klikk van akkor elvileg ki kell jelölődnie az alakzatodnak a körvonallal és a méretezési pontokkal.

 

Ekkor tudsz a szerkesztőlécre írni.

 

Ha nem jelölődik ki, akkor szerintem próbáld újraindítani az Excelt. (Mivel lehet, hogy már egy kicsit "belezavarodott" az erőlködésbe.)

 

Üdv.

 

 

Előzmény: tbando (23595)
tbando Creative Commons License 2013.12.31 0 0 23595

Makacs egy gép ez. A jobbklikk se :((((

Előzmény: Fferi50 (23594)
Fferi50 Creative Commons License 2013.12.31 0 0 23594

Szia!

 

Kijelölés jobb egérgomb klikk!

 

Üdv.

Előzmény: tbando (23592)
Fferi50 Creative Commons License 2013.12.31 0 0 23593

 

Bocsi, de nem:

 

Ez a tied:

Az E13 cella képlete:

=INDEX(A1:P11;HOL.VAN(B13;B1:B11;0);HOL.VAN(B14;1:1;0))

 

Ez pedig az enyém:

= index(B1:P11;HOL.VAN(B13;B1:B11;0);HOL.VAN(B14;1:1;0))

 

Ami azért fontos, mert sorokat, oszlopokat ugyanazon a tartományon belül kell keresni, különben "kilóg" - na nem a lóláb, hanem - helytelen lesz a hivatkozás.

 

Üdv.

Előzmény: Delila10 (23591)
tbando Creative Commons License 2013.12.31 0 0 23592

:)))))

 

Na most a gépem megint ellenkezik. Remélem a segítségetekkel sikerül jobb belátásra birnom:

 

Delila adta meg az alábbi videolinket pár hónappal ezelött.

 

http://www.youtube.com/watch?v=GQIEADH1o7M

 

 

Ezen egy excel munkalapon többek közt  van 2 kép. Egy kutyus és egy excel logo. A videon az első percben a következő történik. 

 

-Klikkel  kijelölik a kutyus  képét

- Majd a szerkesztőlécen beírják az excel logo munkalaptartományát (=$B$3:$C$7)

-Erre a kutyus képe átvált az excel logora.

 

Na most nálam:   Kijelölöm a kutyus képét (illetve a vele ekvivalens saját ábrámat), ami azonnal  blokkolja a szerkestőlécet  és nem enged beleírni semmit.  ????   

 

Mit bénázhatok el?

Előzmény: Törölt nick (23585)
Delila10 Creative Commons License 2013.12.31 0 0 23591

Ez az, amit én is írtam. :)

 

Lehet, hogy a kérdezőnél más az elrendezés, mint a képen, amit feltöltött.

Előzmény: Fferi50 (23590)
Fferi50 Creative Commons License 2013.12.31 0 0 23590

Bocs!

 

Az index(B1:P11;HOL.VAN(B13;B1:B11;0);HOL.VAN(B14;1:1;0)) képletet gondoltam.

 

Üdv.

Előzmény: Fferi50 (23589)
Fferi50 Creative Commons License 2013.12.31 0 0 23589

Szia!

 

Szerintem próbáld az Index(B11:P11;HOL.VAN(B13;B1:B11;0);HOL.VAN(B14;1:1;0)) képletet.

 

Üdv.

Előzmény: GrundfosUPS2560eladó15000 (23588)
GrundfosUPS2560eladó15000 Creative Commons License 2013.12.31 0 0 23588

Hiányzik feliratot kaptam:(

 

 

Előzmény: Delila10 (23587)
Delila10 Creative Commons License 2013.12.31 0 0 23587

Az E13 cella képlete:

=INDEX(A1:P11;HOL.VAN(B13;B1:B11;0);HOL.VAN(B14;1:1;0))

Előzmény: GrundfosUPS2560eladó15000 (23586)
GrundfosUPS2560eladó15000 Creative Commons License 2013.12.31 0 0 23586

 

Egy "árajánlat készítőt" szeretnék a nagy számok összességében Megvan a táblázatom amelyben egy oszlop és egy sor kereszteződésének értékét szeretném megkapni aképpen ahogyan a legördülő választéklista értékeit megadtam. Érthetőbben a képen a szürke részekkel jelölt részek kereszteződése jelenne meg a piros mezőben.

Törölt nick Creative Commons License 2013.12.31 0 0 23585

Közben a számítógép is alszik egyet, aztán kipihenten már könnyedén megbírkózik azzal, amivel tegnap még ellenkezett.

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

Így van ez, az ember alszik egyet a problémára, amivel nem bír, és másnap könnyedén sikerül.

Előzmény: tbando (23583)
tbando Creative Commons License 2013.12.31 0 0 23583

Valóban.  Tegnap valamiért nem sikerült a makróval történő hozzárendelés. Ma már igen.  Kösz, hogy visszaszóltál, hogy nem ártana újra megnézni.

Előzmény: Fferi50 (23581)
tbando Creative Commons License 2013.12.31 0 0 23582

:)))))

Előzmény: Vax (23580)
Fferi50 Creative Commons License 2013.12.30 0 0 23581

Szia!

 

Már miért ne lehetne az OnAction-t makróból hozzárendelni?

 

Ismét egy idézet a Help-ből:

 

"Excel Developer Reference

Shape.OnAction Property

Returns or sets the name of a macro that’s run when the specified object is clicked. Read/write String."

 

Tehát: shape.onaction="makró neve" és már kész is a hozzárendelés. Egy azonban fontos, hogy a makró neve teljesen pontos legyen, tartalmazza a munkafüzet és a munkalap/modul nevét is.

(Amit ha lekérdezed egy már hozzárendelt makró nevét, akkor láthatod is.)

 

 

Üdv. (és gratula!)

 

 

Előzmény: tbando (23579)
Vax Creative Commons License 2013.12.30 0 0 23580

Remélem, hogy ötöst kapsz érte, vagy "bármit". ;-)

Előzmény: tbando (23579)
tbando Creative Commons License 2013.12.30 0 0 23579

Na most értem el oda, hogy megpróbáltam a shape.onaction-nel a figurához makrót rendelni.  Úgy néz ki nem megy, mert nem arra való.  Hanem arra, hogy a figurához már előzőleg hozzárendelt makró nevét adja vissza.  No de hogy történik a makróhozzárendelés? Mint kiderült, meglepően egyszerűen: Klikk a képre, majd jobbklikk, majd a menüből makró hozzárendelése. És kész.

 

Ezzel a sakkprogram minden nyitott kérdése megválaszolást nyert.  Sokat tanultam belőle. Neked is köszönöm a tanácsokat. Mint mindenkinek, aki segített.

 

 

Előzmény: Fferi50 (23559)
tbando Creative Commons License 2013.12.30 0 0 23578

Most már elboldogulnék az Arial Unicode Ms sakkfigurákkal. De azért megkérdem, van annak valami komolyabb oka, hogy ha mondjuk az A1-ben levő figurát lekérdezem, akkor az  unikódját decimálisan adja meg,  amit  azonban a C1-be történő figurabeiráshoz hexadecimálissá kell alakítani.  Azaz:

 

Range("c1") = ChrW("&H" & Hex(AscW(Range("a1"))))

 

És lenne még egy kérdésem: Kerestem a súgóban hogy hol ír arról, hogy a hexadecimális számokat a „&H”-val kell jelölni, de sehol sem találtam. Tudja valaki, hogy hol találhatnám ezt meg a sugóban? 

 

Előzmény: tbando (23576)
tbando Creative Commons License 2013.12.29 0 0 23577

Most ez egy érdekes kérdés, hogy helyből fenn volt-e nálam is, vagy a mostani telepítésemmel került-e föl. Az a gyanum, ez örökre rejtéy marad :))).  De akárhogy is, kösz neked is a segitő hozzászólást.   

Előzmény: pimre (23575)
tbando Creative Commons License 2013.12.29 0 0 23576

Kösz, hogy feltetted az ábrát, így én is megtaláltam. Egyéb szimbólumok címszó alatt.  Sosem használtam az alkészleteket, sőt nem is tudtam róluk :))). Így most van egy újabb programom, kitalálni, hogyan kell ezeket vba-ból kezelni. Ha elakadok, jelentkezem.

Előzmény: Vax (23574)
pimre Creative Commons License 2013.12.29 0 0 23575

Nálam a számítógép installálása (XP) során telepítődött az Ariel Unicode MS Vegyes szimbólumok nevű alkészlete. Így amikor Vax megírta, hogy van ilyen, pár perc alatt megtaláltam. Szerintem a telepítő lemezről került a gépemre. És akkor talán onnan pótolható, ha nálad tényleg hiányzik ez az alkészlet. 

Előzmény: tbando (23573)
Vax Creative Commons License 2013.12.29 0 0 23574

Így néz ki:

Nem tudom, hogy honnan van, de holnap megkeresem.

Viszont a sakkodat már nem lehet letölteni a data.hu-ról.

Üdv.

Előzmény: tbando (23573)
tbando Creative Commons License 2013.12.29 0 0 23573

Betöltöttem az Ariel Unicode MS-t. De nálam egyik kódhoz sem tartoznak sakk figurák.   Elküldhetnéd a te készletedet, hogy megnézzem.  Vagy add meg kérlek a linket, hogy te honnan töltötted le.

Előzmény: Vax (23561)
luzer0901 Creative Commons License 2013.12.28 0 0 23572

Szia küldtem egy emailt neked légyszíves olvasd el és reagálj vissza nekem. Előre is köszi.

Előzmény: tbando (23567)
hát ő Creative Commons License 2013.12.28 0 0 23571

Köszönöm a segítséget. Én voltam megint béna mert elnéztem a szóközt.

Előzmény: Fferi50 (23569)
Fferi50 Creative Commons License 2013.12.28 0 0 23570

Szia!

 

Sajnos a shaperange (ami a több shape kiválasztását lehetővé teszi) nem rendelkezik OnAction tulajdonsággal, de ugyanazt a makrót természetesen hozzárendelheted mindegyik shapehez (ez egyszer nyilván nem okoz gondot programból). Viszont akkor meg szét kell tudni választani ki hívta meg a makrót. Ezért én úgy csinálnám, hogy minden shape kap egy külön onaction makrót és a saját nevét - vagy más jellemzőjét - megadva hívja meg a közös makrót.

 

Üdv. 

Előzmény: tbando (23565)
Fferi50 Creative Commons License 2013.12.28 0 0 23569

Szia!

 

Alig hiszem, hogy a " " (szóköz) bármelyik gépnél is üres cellát eredményezne. Ha az érvényesítési listádban a szóközzel fűzöd össze az adatokat, akkor a szóköz benne marad úgy is, ha az összes többi változó nem tartalmaz értéket.

Így a listából kiválasztva, minimum a szóköz ottmarad a cellában. A cella csak úgy lehet üres ilyen esetben, ha a tartalmát törölték, vagy nem töltötték ki eleve. (És azt ránézésre nem látod, hogy szóköz van-e a cellában, vagy

üres(!!!), de a gép tudja!)

Ezért én inkább így kérdezném le: M5=HA(vagy(M4="",M4=" ");0;1).

 

Üdv.

Előzmény: hát ő (23568)
hát ő Creative Commons License 2013.12.28 0 0 23568

Sziasztok

segítséget szeretnék kérni egy problémámba. van egy összefűzés pl =M1&M2&" "&M3  ezt az összefüzést M4 legördülö listába (érvényesítés) használom. M5 pedig =HA(M4="";0;1) az egyik számítógépen müködik de a másikon a szóközt adatnak érzékeli ezért az üres cella értékeként 1-et hoz. Mit rontok el

tbando Creative Commons License 2013.12.28 0 0 23567

Nagyon kedves vagy. :))

 

Ay Ariel karakter ötletet köszönöm. Nem ismertem ezt a lehetőséget.  Mint ahogy a figurahasználat módját sem.. Dehát ezek a feladatok nekem elsősorban arra valók, hogy feltárják a pótolandó hiányosságaimat.

Előzmény: Vax (23561)
tbando Creative Commons License 2013.12.28 0 0 23566

:)))  Kösz. Előbb utóbb megtanulom :))))

Előzmény: Delila10 (23560)
tbando Creative Commons License 2013.12.28 0 0 23565

Kösz. Megnéztem. Jónak tűnik. Főleg, ha a makróhozzarendelés megoldható shapes. all vagy shapes 1 to 32-vel. 

Majd kipróbálom, amikor saját gép közelbe  kerülök. 

Előzmény: Fferi50 (23559)
NeomatiK Creative Commons License 2013.12.27 0 0 23564

Kööööszi!!!

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

'1-2

Előzmény: NeomatiK (23562)
NeomatiK Creative Commons License 2013.12.27 0 0 23562

Helló!

 

Hogyan lehet nem szövegként kötőjeles számot beírni a cellába?

pl. 1-2

átalakítja dátumra a nyomorult! Utána hiába állítom át a cellaformázásnál, nem lesz belőle 1-2.

Vax Creative Commons License 2013.12.27 0 0 23561

Már sok éve nem foglalkoztam az Excellel, ezért csak ámulattal olvasgatok itt, de nagyon tetszett ez a sakk-projekted. Az ikonokon kívül, lehet talán egy másik út is. Nálam legalább is van egy karakterkészlet, amiben megvannak a sakk szimbólumok. Arial Unicode MS. Én beértem volna azzal is, ha ezeket sikerült volna mozgatni, de már sokat felejtettem abból a kevésből is, amit valaha tudtam.

Előzmény: tbando (23550)
Delila10 Creative Commons License 2013.12.27 0 0 23560

Selectek nélküli áthelyezés.

 

Sub attesz()
     Range("A11:U11").Cut Range("N1")
End Sub

Előzmény: tbando (23549)
Fferi50 Creative Commons License 2013.12.27 0 0 23559

Szia!

 

Van egy olyan tulajdonlság, hogy onaction. Ezzel rendelheted hozzá a makrót.

 

Üdv.

Előzmény: tbando (23555)
tbando Creative Commons License 2013.12.27 0 0 23558

Naná hogy üres, ha a cella üres :)))).

 

Szóval korrigálok, a topleftcell primán müxik a pictures-sel is. Csak nem ártott volna még hozzáírni valamit. Mondjuk, hogy Address, ha a címére vagyok kiváncsi :)))).  

 

Kösz ismét.

 

 

 

Előzmény: tbando (23557)
tbando Creative Commons License 2013.12.27 0 0 23557

Egyelőre úgy néz ki, hogy pictures-sel nem müxik.

 

Sub kepcella()
Dim a
a = ActiveSheet.Pictures("futo1").TopLeftCell
End Sub

 

a= üres 

Előzmény: tbando (23556)
tbando Creative Commons License 2013.12.27 0 0 23556

Kösz! Majd megnézem. Bár nálam ezek az elemek picture-k és nem shape-k. Van köztük különbség? Az az igazság, hogy egyiket sem ismerem. Amikor elkezdtem a grafikus megoldás után kutakodni, akkor a picture-be botlottam bele, így hát azt próbálgattam használni. És mivel több minden sikerült vele, meg voltam elégedve magammal.  Kicsit elhamarkodottan :))).

Előzmény: Törölt nick (23553)
tbando Creative Commons License 2013.12.27 0 0 23555

Hogyan kell hozzárendelni?

Előzmény: Fferi50 (23552)
tbando Creative Commons License 2013.12.27 0 0 23554

Kösz.

Előzmény: Fferi50 (23551)
Törölt nick Creative Commons License 2013.12.27 0 0 23553

Ha jól emlékszem, van egy olyan property a shape objektumnak, hogy topleftcell. Azt nézd meg.

Előzmény: tbando (23550)
Fferi50 Creative Commons License 2013.12.26 0 0 23552

Szia!

 

A grafikus elemekhez rendelhetsz makrókat, amik a klikkre indulnak el.

 

Üdv.

Előzmény: tbando (23550)
Fferi50 Creative Commons License 2013.12.26 0 0 23551

Szia!

 

Azért hibás a paste, mert ha a cut-nál megadod, hogy hova, akkor már nincs mit beilleszteni - elmúlik a cutcopy mód.

 

Üdv.

 

Előzmény: tbando (23549)
tbando Creative Commons License 2013.12.26 0 0 23550

Még mindig sakkozok :-)))

 

Azt már meg tudnám oldani, hogy a sakktáblán ne betűk hanem grafikus elemek lépkedjenek,  de a lépésellenőzést csak a lépés bebillentyűzése utáni makróindítással  tudnám  aktiválni. Márpedig elegánsabb lenne, ha az értékelés figuraklikkelésre indulna. Csakhogy a Selection.Change csak a cellára való klikkelésre reagál, a képre klikkelésre nem. Az tán megoldható lenne, hogy olyan kicsi legyen a figura, hogy maradjon fedetlen cellafelület mellette, de hát ez is elég gagyi. Summa summárum, meg tudná valaki mondani, hogyan lehetne a Selection.Change-t rávenni, hogy figuraklikkre is induljon?    

 

És egy  pótkérdés. A cellában levő figura nevét le tudom kérdezni. De hogy melyik cellában van, azt nem.  Hogy lehetne?

tbando Creative Commons License 2013.12.26 0 0 23549

Sziasztok! 

 

Azt szeretném kérdezni, hogy az alábbi  a makróban miért hibás a Paste? A munkalapon rendben átrakja  a Cells(1,5)-t a Cells(1,14)-be, majd kiirja hogy a Paste metódus hibás. És persze leáll.  Ami ugyan az On Error Resume Next-tel áthidalható, de érdekelne a hiba oka.

 

Sub mozgat1()
Dim a
''On Error Resume Next
Range("a11:u11").Select
a = Selection.Cells(1, 5)
Selection.Cells(1, 5).Cut Range("a11:u11").Cells(1, 14)
ActiveSheet.Paste
End Sub

luzer0901 Creative Commons License 2013.12.25 0 0 23548

Köszönömszépen, de már az előtte lévő is hatalmas segítség volt.

Előzmény: tbando (23546)
hát ő Creative Commons License 2013.12.25 0 0 23547

Köszönöm szépen a képletet, segítséget.

Előzmény: Fferi50 (23545)
tbando Creative Commons License 2013.12.25 0 0 23546

Szia!

 

A copy jó ötlet ugyan, de nem oldotta meg a problémámat, mert az sem inditja el az értékelő makrókat.  Azóta rájöttem, hogy a selection.change a clickindító. Kicsit sokáig tartott, mert mindig elbénáztam valamit.  Vagy nem inditott, vagy akkor is elindult, amikor nem kellett volna :))). De végül csak összejött, és most már elfogadható biztonsággal fut. Ami által a sakkprogram is sokkal barátságosabb lett. Fel is rakom ide a linkjét, luzer tán hasznát veszi.

 

http://data.hu/get/7243715/lusersakk-click.zip

A mattot és a pattot  pedig felismeri csak eltitkolja. Jöjjön rá a használója, hogy miért nem engedi a további lépéseket :))).

Előzmény: Fferi50 (23540)
Fferi50 Creative Commons License 2013.12.24 0 0 23545

Szia!

 

 

A képlet: =lejár & szöveg(A1;"éééé.hh.nn") ha

  • magyar az exceled
  • A1-ben van a dátum értéked
  • lejár egy szöveges változó

Ha lejár az a szöveg amit be akarsz írni,  akkor  a képlet: ="lejár: " & szöveg(A1;"éééé.hh.nn").

 

 

Üdv.

Előzmény: hát ő (23543)
Sánta Kutya (SK) Creative Commons License 2013.12.24 0 0 23544

Merthpgy a dátum egy szám. És mivel olyan összefűzést csinálsz, ami egyébként helytelen (összefűzni alapból szöveget szöveggel) és simán hibát is eredményezhetne, az Excel kénytelen a saját feje után menni és valami implicit értelmezést csinálni.

Használd a szöveg(dátum;"éééé. hh. nn.") függvényt. Remélem, jól emlékszem a szintaxisra, ha nem, nézz utána a súgóban.

Előzmény: hát ő (23543)
hát ő Creative Commons License 2013.12.24 0 0 23543

Dátumot szeretnék összefűzni szöveggel de sehogy sem megy. Megnéztem a súgót de nem sikerűl. mindíg a dátum eredményét adja Pl:

lejár+2013.12.30

lejár: 41638

 

 

 

Előzmény: Delila10 (23522)
luzer0901 Creative Commons License 2013.12.23 0 0 23542

Köszönöm szépen.

Előzmény: tbando (23537)
kezdos Creative Commons License 2013.12.23 0 0 23541

Igen, az jó lenne, de mivel sajnos "még" nem vagyok otthon az excelben így maga  a függvény jó lett volna, de barátom lesz az internet! Köszönöm, innen elindulhatok...

Előzmény: Törölt nick (23539)
Fferi50 Creative Commons License 2013.12.23 0 0 23540

Szia!

 

Hát, nem vagy egy mindennapi figura (hogy a sakknál maradjak:)). A klikkeléses léptetést úgy oldottam meg, hogy copy-val kijelöltem a bábut - erről tudtam, hogy már választott, ahová lépett oda áttettem. De a copy csak arra van, hogy jelölje a bábválasztást (és a táblán látványos), ezt egy változóval is meg lehet oldani. Továbbá  egyetlen selection_change esemény van benne. Viszonylag szépen működik, de váratlan hibák azért előjönnek - és még a mattot,pattot sem tudja. 

Most egyenlőre félreteszem, mert az unokák fontosabbak.

 

Üdv.

 

 

Előzmény: tbando (23537)
Törölt nick Creative Commons License 2013.12.23 0 0 23539

Hiperhivatkozás függvény?

Előzmény: kezdos (23538)
kezdos Creative Commons License 2013.12.23 0 0 23538

Abban szeretném segítségeteket kérni, hogy van egy oszlopban több száz sor URL-em, de nem hiperhivatkozásként, hanem szövegként. 

Nagy segítség lenne, valamilyen trükkel ezeket a szövegeket linkké tudnám konvertálni. 

 

Merre induljak el?

tbando Creative Commons License 2013.12.23 0 0 23537

Pá???

No mindegy.

 

A data.hu-ra felraktam neked egy sakkprogramot.  Sajnos a figurák nem grafikusak, annak csinálási módját nem ismerem, ahhoz  még minimum 2-3 nap kéne.   A klikkeléses léptetéssel viszont próbálkoztam, de nem jött össze.  Itt többen vannak, akiknek sepercbe kerülne összeütni.  A léptetés ezért cellába írással történik amit a  ctrl +shift +D makró ad át léptetési procedurának. 

 

Többféle esemény indítási móddal is próbálkoztam, de azok se álltak össze.  Ezért vannak a Munkalap1- modulban elvetélt és kikommentelt  eseményinditók,  valamint a makróban funkciójukat vesztett enableevents=true utasítások.  Mert  még tökölök velük egy kicsit.

 

 Amit viszont tud:

 

kiértékeli, hogy szabályos volt-e a lépés

ha igen, megnézi, hogy aki lépett nem került-e sakkba,

Ha szabálytalan volt a lépés, kiirja hogy HIBÁS LÉPÉS, és nem lép tovább

ha minden rendben volt, átírja sakktáblát,

 ha a lépés ütés volt, kiírja

A lépés után megnézi, hogy  nem adott-e sakkot,ha igen, figyelmeztőnek ezt is kiírja 

majd a munkalapon  jegyzőkönyvezi a lépést

és végül  kéri a következő lépést

 

A program ismeri a sáncolási és az enpassant feltételeket is.

 

Ez egy elég komoly kiértékelés,  átlátni is nehéz.  Ezért bőségesen kommenteltem a lépéseket, valmint írtam hozzá egy makróleírást. De még így is elég komplikált. Szerintem a tanárod megelégszik egy jóval egyszerübbel is. Ezért felraktam  egy lebutitott változatot is. Ez csak annyit értékel, hogy a lépő figura a megadott cellán van-e és hogy  nem egy azonos szinű figurat akar-e kiütni.  Az elégségeshez elég lehet.

 

A data.hu-ra feltett zip-fileban tehát 3 file van:

a lusersakk teljes

a lusersakk -butitott

és word fileban a leírás

 

Letöltőlink :

http://data.hu/get/7238152/lusersakk.zip

 

:

Még  felrakom ide a sakktábla képét, hogy megnézd, hogy akarsz-e vele foglalkozni.

 

Előzmény: luzer0901 (23535)
pimre Creative Commons License 2013.12.22 0 0 23536

Nekem volna egy, csak már két hete vívódok, hogy feltegyem-e:-) De erőt veszek magamon, és megkérdezem: Ha egy változó neve egy stringben áll rendelkezésemre, van-e mód megtudni programból a tartalmát? Régi emlékeim szerint például a Clipper programnyelven volt ilyen lehetőség.

Előzmény: Törölt nick (23534)
luzer0901 Creative Commons License 2013.12.22 0 0 23535

Köszi mindenkinek nem csalódtam ebben a szar forumban. Na pá.

Előzmény: Sánta Kutya (SK) (23533)
Törölt nick Creative Commons License 2013.12.22 0 0 23534

Csak jönne valami jó kérdés...

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

Hagyjátok már elvérezni, és térjünk vissza az Excelhez...

Előzmény: pimre (23530)
luzer0901 Creative Commons License 2013.12.22 0 0 23532

Szia először is az elmúlt 10 napban már vizsgáim voltak és arra kellett készülnöm, hogy milyen szak ahhoz semmi közöd nincs, hogy vettek fel az egyetemre úgy, hogy írtam egy jó  érettségit, másrészt nem vagyok hülye a matekhoz, bár mint a legtöbb ember esetében van olyan tárgy amiben jobb vagyok. Harmadszor nem fogom ott hagyni az egyetemet, mert igen is tetszik és van hozzá kedvem és szeretem az egy dolog, hogy rettentően hülye vagyok a VBA-hoz. Amúgy köszönöm mindenkinek a mérhetetlen nagy jóindulatot és megértést. Ja és én issol sikert szeretnék kívánni minden kedves hozzászólónak és engem fikázónak.

Előzmény: pimre (23530)
Törölt nick Creative Commons License 2013.12.22 0 0 23531

"miért nem mondta, hogy honnanszedjem össze."

Hogyne mondtam volna. Azt mondtam, "gondolkodj, és írd össze". Tudod, a "gondolkodni" szó azt jelenti, hogy használod az elmédet, rendszerezel, összefüggéseket keresel. Nem azért lett volna erre szükség, hogy meglegyenek a szabályok, hanem azért, hogy forgasd az agyadban a sakkot, mélyülj el benne, értsd meg jobban. Hogy megérjen a fejedben valami idea, amit aztán algoritmusra lehet fordítani - mert minden jó program alapja a jó algoritmus.

 

Ehelyett ide másoltad a Chess Titans szabályleírását. Tudod, csak három gondom van ezzel.

 

1) Megmondtam neked, hogy akkor van esélyed a sikerre, ha tisztességgel beleteszed a munkát. A 23436-os hozzászólásban kaptunk is tőled erre egy félígéretet, vagy legalábbis szándéknyilatkozatot. Ehhez képest mi történt? Ctrl-c, Crtl-v. Ezt nevezed "sok erőfeszítésnek"?

 

2) Mivel - úgy tűnik - gondolatban semmit nem foglalkoztál a feladattal, továbbra is a nullánál tartunk. És közben eltelt több mint egy hét.

 

3) Ha neked egy hétre volt szükséged ahhoz, hogy bemásold ide az internetről a szabályokat, ezzel a tempóval évekbe fog telni a program megírása. December 29-ig semeddig nem fogunk eljutni.

 

Én így már nem látom értelmét tovább küzdeni. Ha akarod, még foglalkozhatunk a sakkprogramoddal, de határidőre nem fog elkészülni. Ha holnap megtáltosodnál, napi 12 óra megfeszített munkát beletennél, akkor talán. De így biztosan nem.

pimre Creative Commons License 2013.12.22 0 0 23530

Szia, Te 10 napja jelentkeztél, hogy segítséget kérsz. Többen megmondták, hogy úgy biztosan nem megy, hogy valaki megcsinálja helyetted, és te eladd úgy, hogy te írtad. (Mellesleg a tanárok sem hülyék. Én ugyan nem vagyok tanár, de az első magyarázó mondatod után rájönnék, hogy azt a valamit nem te írtad)

 

Többen próbáltak rávezetni, hogy milyen gondolatmenet mentén fogj hozzá a feladathoz. És te most 10 nap elteltével, 1 héttel a határidő előtt eljutottál addig, hogy egy internetes oldalról néhány sort kimásoltál. Ennyi az egész? Ezt komolyan gondolod? Mit csináltál az elmúlt 10 napban? Diszkóba jártál, ittál, jobb esetben más vizsgákra készültél?

 

Egyáltalán milyen szak ez? Hogy vettek fel? Hiszen korábban már az is kiderült, hogy a matematikával is hadilábon állsz. Mert akinek a koordináta geometriáról annyi ismerete van, hogy az delta izé, hát azt nehéz ismeretnek nevezni. Márpedig a programozás nemigen megy matematikai alapok nélkül.  Na és a szabatos fogalmazás, meg a teendők pontos meghatározása nélkül.

 

Szerintem add fel. Nem ezt a sakk programot, hanem az iskolát. Keress olyan szakmát, amihez érzéked, kedved és szorgalmad van. És abban sok sikert kívánok.

Előzmény: luzer0901 (23515)
Fferi50 Creative Commons License 2013.12.22 0 0 23529

Szia!

 

Így van. Ha a formon nincs látható vezérlő (mert mind elrejtetted), vagy egyáltalán nincs vezérlő rajta, csak akkor lehet maga a form a kiválasztott - illetve akkor hajtódik végre hozzá kapcsolódóan az eseménykezelés.

 

 

Üdv.

Előzmény: pimre (23528)
pimre Creative Commons License 2013.12.22 0 0 23528

Amint elküldtem, kapcsoltam, hogy miről lehet szó. Azt hiszem az lesz, hogy magán a formon (tehát pl. a UserFormon) csak akkor lehet a focus, ha......

Így meg persze az az újdonság nekem, hogy mit lehet kezdeni közvetlenül egy formon az eseménykezeléssel. De majd megpróbálok ennek utánanézni.

Előzmény: pimre (23527)
pimre Creative Commons License 2013.12.22 0 0 23527

Viszont lehet, hogy az én angol értelmezésemmel van a gond (ami lehet, mert a felső középhaladó szintem messze nem a lehetséges maximum), de azóta is töprengek az idézet utolsó mondatának értelmén: " A form can have the focus only if it has no controls or all its visible controls are disabled."

 

Én ezt úgy fordítanám magamnak kissé szabadon, hogy Egy formon csak akkor lehet a focus, ha nincs hozzátartozó vezérlés, vagy valamennyi látható vezérlése hatástalanítva lett.

 

Így viszont nem tudom értelmezni. Ha az ellenkezője állna ott, hogy akkor veszítheti el a focust (amit mi is megcéloztunk az adott feladatban), akkor látnám a mondat értelmét.

Előzmény: Fferi50 (23514)
Delila10 Creative Commons License 2013.12.22 0 0 23526

Ez egy új makró lesz, bemásolhatod a Module1-be, a másik alá.

 

Sub Nyomtat()

     Selection.PrintOut Copies:=1, Collate:=True

End Sub

F8-ra bejönnek a makróid címei, kiválasztod a Nyomtat nevűt, és az Egyebek gombnál gyorsbillentyűt is rendelhetsz hozzá. 

Előzmény: hát ő (23525)
hát ő Creative Commons License 2013.12.22 0 0 23525

Csak a nyomtatást nem értem leírnád hova kell beilleszteni: Selection.PrintOut Copies:=1, Collate:=True

 

Nagyon sokat segítettél köszönöm.

Előzmény: Delila10 (23522)
pimre Creative Commons License 2013.12.22 0 0 23524

Mindkettőtöknek nagyon köszönöm a megoldást. Jimmynek a megoldást, Neked pedig a magyarázatot.

Előzmény: Fferi50 (23514)
pimre Creative Commons License 2013.12.22 0 0 23523

Elnézést, hogy csak most válaszolok. Hiába, a karácsonyi készülődésben nem mindig jut hozzá az ember a kedvenc Exceléhez:-)

 

Szóval a SendKeys ("{TAB}")  az eredeti programomban nem okozott gondot, mert a következő formon kezeltem. Csak ugyebár abból a böhöm nagy programból, amin dolgozom, ilyenkor csak egy kis részt modellezek, hogy csak a problémás rész látsszon. És ennek során elfeljtettem a közterület típusánál kezelni a dolgot. Így itt nekem is problémát okozott.

Természetesen a következő esemény kezelése után már rendben van.

Private Sub ComboKozterTip_Enter()
LstKozterulet.Visible = False '
End Sub

Előzmény: Törölt nick (23504)
Delila10 Creative Commons License 2013.12.22 0 0 23522

Szívesen.

 

Fűzd össze az M és N oszlop adatait, közöttük egy szóközzel az O oszlopban, és onnan vedd az érvényesítés listáját.

=M2 & " " & N2

Előzmény: hát ő (23521)
hát ő Creative Commons License 2013.12.22 0 0 23521

A feltöltött munkafüzetben egy másik kérdés van. Azt jobbnak gondoltam vizuálisan. probálkozz lényszi többször rányomni a letöltésre vagy frissítsd az oldalt valami gubanc van Datáéknál a te feltöltésed is igy jött le. Az eddigi választ köszönöm

Előzmény: Delila10 (23520)
Delila10 Creative Commons License 2013.12.22 0 0 23520

Nem tudom letölteni, de nem is szükséges.

 

A nyomtatáshoz 1 sor kell:

Selection.PrintOut Copies:=1, Collate:=True

 

A rendezés azért csúszhatott el, mert valószínűleg kijelölted a rendezendő oszlop adatait. NE jelöld ki, csak állj valahol az oszlopban, mikor megnyomod az A-Z rendező ikont.

Előzmény: hát ő (23517)
luzer0901 Creative Commons License 2013.12.22 0 0 23519

miért nem mondta, hogy honnanszedjem össze. amúgy meg köszi a jókívánságokat

 

Előzmény: Törölt nick (23518)
Törölt nick Creative Commons License 2013.12.22 0 0 23518
Előzmény: Törölt nick (23516)
hát ő Creative Commons License 2013.12.22 0 0 23517

Köszönöm nagyon hálás vagyok így már tökélétes. Egy újabb kérdéssel visszatöltöttem kérlek segíts.

 

http://data.hu/get/7235532/Ervenyesitesek_torlese.xls

 

+kérdések

Hogy tudom meghatározni egy adott ponját nyomtatáshoz egy munkalapnak. Azt szeretném elérni egy zárólt munkalapnál, hogy amikor nyomtatni szeretném a munkalapot csak az előzőekben kijelölt részt nyomtethassam.

 

A tól Z-ig szeretnék egy táblázatot rendezni nevek alapján de az adatok összekutyulódnak. Az A oszlop neveket a többi L-ig a nevekhez tartozó adatokat tartalmaz 250 sorban.

Előzmény: Delila10 (23511)
Törölt nick Creative Commons License 2013.12.22 0 0 23516

Remélem meghúznak a tárgyból. Megérdemled.

Előzmény: luzer0901 (23515)
luzer0901 Creative Commons License 2013.12.22 0 0 23515

Az első lépés a fehéré, utána a játékosok felváltva következnek.

Kattintson egy bábura, majd arra a mezőre, ahová lépni kíván vele. Amikor kiválasztja a használni kívánt bábut, a Chess Titans kék színnel jelöli meg a mezőket, ahová léphet vele, míg az ellenfél támadható bábuinak mezői piros színűre váltanak.

 

Bábu

Hogy lép

Király

Egy mezőt léphet bármelyik irányba: előre, hátra, oldalra és átlósan. A király a játék leggyengébb, de egyben legfontosabb bábuja.

Királynő

Tetszőleges számú üres mezőt léphet bármelyik irányba. A királynő a játék legerősebb bábuja.

Bástya

Tetszőleges számú üres mezőt léphet, de csak előre, hátra és oldalra.

Futó

Tetszőleges számú üres mezőt léphet, de csak átlósan.

Az L betű alakjának megfelelően léphet két mezőt bármelyik irányba, majd egy 90 fokos fordulat után még egyet. A ló igazi különcnek számít, úgy is, mint az egyedüli bábu, amelyik átugorhat a többi felett.

Gyalog

A legelső lépésnél kettő, a továbbiakban egy-egy mezőt léphet előre, kivéve az ellenfél bábujának leütésekor, amikor átlósan is mozoghat.

Saját bábu által elfoglalt mezőre lépni tilos. Ha az ellenfele által birtokolt egyik mezőre lép és így leüti az ott álló bábut, akkor ezzel el is távolítja azt a tábláról.

A matt akkor következik be, ha az ellenfél egyik bábuja úgy ejti csapdába a királyt, hogy közben el is zárja előle a menekülés útját. Ha ez megtörténik, a király mezője vörösben fénylik.

Különleges lépésekSáncolás

Ez a király védelmét szolgáló, megelőző manőver egyszerre két bábu mozgatását is igényli, amit a sakk szabályai csakis ilyenkor engednek meg. A sáncoláskor a király két lépést lép oldalra, miközben a bástya arra a helyre lép, amelyen a király áthaladt.

Minderre csak akkor nyílik mód, ha mindkét bábu még az eredeti helyén van, a király nincs sakkban, és más bábu sem akadályozza a műveletet. Ha a sáncolás lehetséges, a Chess Titans bíbor színnel jelöli meg a mezőt, ahová a király léphet. A lépés elvégzéséhez kattintson az adott mezőre.

Ütés menet közben

Ez a ritka, de hasznos támadó művelet - amely a francia „menet közben” kifejezésből ered - csak bizonyos körülmények esetén engedélyezett. Akkor történhet meg, ha az egyik gyalogja éppen az ötödik sorban tartózkodik, miközben az ellenfél gyalogjainak közeli sorából az egyik kezdő lépésként két mezővel előbbre lép.

Normális esetben az ellenfél gyalogja elkerülné az ütést (hiszen a gyalogok átlósan támadnak), de a menet közben történő ütés révén bábujával átlósan beléphet az üres mezőbe az ellenfél gyalogja mögé, ezáltal leütve azt. Mindez csak akkor szabályos, ha végrehajtása közvetlenül az ellenfél gyalogjának az első lépését követi.

Gyalog előléptetése

Vezesse végig egyik gyalogját a teljes táblán, és bástyává, lóvá, futóvá vagy akár királynővé is előléptetheti. Ez növeli a hadseregében lévő erős bábuk számát. Persze, többnyire a királynővé emelés a legjobb stratégia.

Előzmény: Törölt nick (23512)
Fferi50 Creative Commons License 2013.12.22 0 0 23514

Szia!

 

A magyarázat persze, mint majdnem minden esetben, ott van a help-ben.

KeyDown, KeyUp Events

 

"The KeyDown event occurs when the user presses a key on a running form while that form or a control on it has the focus. The KeyDown and KeyPress events alternate repeatedly until the user releases the key, at which time the KeyUp event occurs. The form or control with the focus receives all keystrokes. A form can have the focus only if it has no controls or all its visible controls are disabled."

 

Szóval a KeyPress azért akadt ki, mert további billentyűlenyomásokat várt.

 

A KeyUp pedig nem.

 

Üdv.

Előzmény: Törölt nick (23512)
Fferi50 Creative Commons License 2013.12.22 0 0 23513

Szia!

 

Zsír!!!

 

Üdv.

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

Gondoltam egyet, és kipróbáltam KeyPress helyett a KeyUp eseménnyel, egyébként változatlan kóddal. Hát nem működik a dög?

Előzmény: pimre (23497)
Delila10 Creative Commons License 2013.12.22 0 0 23511

Igazad van. A lapokhoz rendelt eseményvezérlésen kell módosítani.

 

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim nev, lapnev$
    Application.EnableEvents = False
    Application.ScreenUpdating = False

    lapnev$ = ActiveSheet.Name
    nev = Target.Value
    If Not Intersect(Target, Range("Ter_1")) Is Nothing Then
        Torles nev, lapnev$
        Range(Target.Address) = nev
    End If
    

    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub

Előzmény: hát ő (23503)
Fferi50 Creative Commons License 2013.12.22 0 0 23510

Vagy nem kell megengedni az entert.... Használja a gombokat!

Előzmény: Fferi50 (23509)
Fferi50 Creative Commons License 2013.12.22 0 0 23509

Szia!

 

Hát igen, valahogy a vezérlést le kell venni a listboxról és a setfocus sem működik.

 

Üdv.

Előzmény: Törölt nick (23507)
Fferi50 Creative Commons License 2013.12.22 0 0 23508

Még egy kiegészítés:

 

A cmdKivalaszt_click eseményben a  cmdMegse.Visible = False  sort az If Me.ActiveControl = CmdKivalaszt Then LstKozterulet.Visible = False után tenném be.

 

Az  lstKozterulet_KeyPress -ben a  SendKeys ("{TAB}")  sort a cmdKiválaszt_click sor után kell betenni, nem a végére.

 

Üdv.

Előzmény: Fferi50 (23506)
Törölt nick Creative Commons License 2013.12.22 0 0 23507

Az én elképzelésem nem jött be. Próbálkoztam többféle úton, de mindig oda lyukadtam ki, hogy a KeyPress eseménybe vissza kell térni, és nem megy.

Fferi ajánlott egy megoldást, én azt nem próbáltam, de mivel a lényegi része SendKeys-re alapoz, nem is próbálkoznék ilyesmivel, csak ha nincs más lehetőség. De most van. Én ezt úgy oldanám meg, hogy az utcanév kiválasztó listának adnék egy saját userform-ot. Talán kicsit bonyolultabb, de sokkal tisztább megoldás lenne.

 

Előzmény: pimre (23498)
Fferi50 Creative Commons License 2013.12.21 0 0 23506

Szia!

 

Talán sikerült megtalálnom a megoldást. A problémát az okozta szerintem, hogy az éppen aktív vezérlőt szeretted volna láthatatlanná tenni, ezért nem tudott a megkezdett eseménykezelőbe visszatérni a program.

Ezért az eseménykezelést a következők szerint módosítottam:

A Private Sub lstKozterulet_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) eseménykezelő végére beírtam egy SendKeys ("{TAB}") utasítást, amivel átadja az aktívitást a következő vezérlőnek - ez a ComboKozterTip,

amihez felvettem a következő eseményt:

Private Sub ComboKozterTip_Enter()

LstKozterulet.Visible = False

cmdVissza.SetFocus

End Sub

A cmdKivalaszt_click eseményben módosítottam a listbox eltüntetést:

If Me.ActiveControl = CmdKivalaszt Then LstKozterulet.Visible = False

Így most akár enterrel, akár a kiválaszt gombbal lépnek ki, ugyanaz az eredmény látszik.

 

Üdv.

Előzmény: pimre (23498)
Fferi50 Creative Commons License 2013.12.21 0 0 23505

Szia!

 

Annyit sikerült megállapítanom, hogy a Private Sub lstKozterulet_KeyPress()-ből direkben meghívott  cmdKivalaszt_Click() esemény együtt okozza a galibát valószínűleg.

A hívás megtörténik, a cmdKivalaszt_Click() végrehajtódik az utolsó sorig, de utána feltételezhetően az lstKozterulet_KeyPress() -hez szeretne visszatérni a program, csakhogy az az objektum addigra már "eltűnik".

 

Próbálkoztam a Keypress kiváltásával, de eddig még nem sikerült.

A call Stack-ben látszik, hogy oda szeretne visszamenni és egyértelműen utána jön a "durva" hiba.

Üdv.

 

 

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

Jelentem, az Excel leállítás anomáliát sikerült reprodukálnom. Sőt, olyat is tudok, hogy ALT+F8-ra nem hozza fel a futtatható makrólk listáját :)

A SendKeys ("{TAB}") nem okozott neked hibát? Nekem már ott kiakad...

 

Előzmény: pimre (23498)
hát ő Creative Commons License 2013.12.21 0 0 23503

Ne haragudj de technikai okok miatt nem tudom elküldeni. Ezért megpróbálom még 1x leírni. Tehát az általad küldött dokumentumban is a J6 cella értéke 30. Amikor én megnéztem nem láttam függvényt, csak mintha beírtad volna a 30-at a cellába. Légyszíves írd az M2 munkalapra A1 cella =MA()+10 az M1 munkalapra =SZUM(M2 A1!) majd változtasd meg a +10 -et +5 re. Nálam az eredmény M2 munkalapon ma+10 és eltunt az M1 A1 cellából hiányzik =SZUM(M2 A1!)

Előzmény: Delila10 (23502)
Delila10 Creative Commons License 2013.12.21 0 0 23502

Ezt nem láthatod, mivel nálam 3 lap van, az eredeti kérésednek megefelelően. Küldd el a füzetedet, mert a leírásodból számomra nem derül ki a problémád.

Előzmény: hát ő (23501)
hát ő Creative Commons License 2013.12.21 0 0 23501

Nálam csal a 30 érték jelenik meg de a képlet sehol. Nekem van egy 4. munkalapom és arra a lapra hivatkozik egy a HA függvényben levő képlet. Amikor elkészíitem megjeleníti de ha változik a képletben egy érték már nem követi. Tehát ha visszamegyek a munkalapra a régi érték van ott de a képlet sehol. Ezt látom a te általad feltöltött munkafüzetben is. Köszönöm válaszod

Előzmény: Delila10 (23500)
Delila10 Creative Commons License 2013.12.21 0 0 23500

 

Szia!

 

Megtaláltam a fájlt. Tettem az első lapra egy képletet a J6-os cellába. Nem törlődik. Nem is szabad neki, mert a Torles makró az egyes lapokon csakis azokat a területeket nézi át és töröl, ha kell, amiket az auto_open makróban meghatároztunk. A lapokon ezeket a területeket háttérszínnel jelöltem.


http://data.hu/get/7233160/Ervenyesitesek_torlese.xls

Előzmény: hát ő (23499)
hát ő Creative Commons License 2013.12.21 0 0 23499

Szia Delila10 újra egy kéréssel fordulok hozzád az érvénysítés töléssel kapcsolatban. Az általad megírt makrót használom de most jelentkezett egy olyan probléma, hogy szeretnék ezeken a munkalapokon függvényt elhelyezni de a makró nem csak a megadott cellákban törli az értéket hanem az egész munkalapon. tehát szeretnék egy ha függvényt elhelyezni egy érvényesítésen kívüli cellába. Amikor visszatérek a munkalaphoz már csak az érték van ott a függvény sehol. Remélem meg van még neked a feltöltött munkafüzet mert már nem lehet elérni a feltöltést és én most nem tudom feltölteni. Segítséged előre is köszönöm.

Előzmény: Delila10 (22153)
pimre Creative Commons License 2013.12.21 0 0 23498

És még annyit hozzá, hogy feltehetőleg a hibával van összefüggésben, hogy annak jelentkezése után nem mindig tudok szabályosan kilépni az excelből, hanem csak a feladatkezelő segítségével.

Előzmény: pimre (23497)
pimre Creative Commons License 2013.12.21 0 0 23497

Elnézést kérek. Elfelejtettem beállítani a megosztást mindenkivel a link birtokáben. És mivel magamnak sikerült ellenőriznem a letöltést, nyugodt voltam. Nyugodt hülye:-)))

De most beállítottam, és szerintem működik is. És ha netalán még mindig elbénáztam valamit, azért a data.hu-ra is feltöltöttem: http://data.hu/get/7232052/Listbox_elhagyas_teszt.xls

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

És mit csináljak, ha nincs google accountom?

De tegyük fel, hogy van. Akkor viszont kérjek hozzáférési engedélyt a tulajdonostól...?

Előzmény: pimre (23495)
pimre Creative Commons License 2013.12.21 0 0 23495

Megcsináltam a mintát, és feltöltöttem ide: https://drive.google.com/file/d/0B95-udqs_cyXYTJrelVWM3ZFNms/edit?usp=sharing

 

A form fejlécébe is beírtam a jelenséget, de itt is megírom:

 

A hiba akkor jelentkezik, ha kerületnek az 1. kerületet választjuk (101-el kezdődő irányítószámmal), majd az utcalista (közterületlista) megjelenésekor ráállunk valamelyik kiválasztandó utcára (közterületre), és az Enter gombbal lépünk tovább.

Előzmény: Törölt nick (23488)
pimre Creative Commons License 2013.12.20 0 0 23494

Itt beszélgettünk erről még májusban: http://forum.index.hu/Article/viewArticle?a=125194447&t=9009340

Előzmény: pimre (23493)
pimre Creative Commons License 2013.12.20 0 0 23493

Hogyne. Néhány hónapja, amikor megtudtam, hogy a Formokon nem működik a dolog, magam is ezt találtam meg, mint a jelenség leírását. Akkor vezettem be az előbb említett Allowevents változót.

Előzmény: Fferi50 (23491)
pimre Creative Commons License 2013.12.20 0 0 23492

Szia, köszönöm. Én is ezt alkalmaztam. Bevezettem a formokon egy AllowEvents változót, amit inicializáskor True-ra állítok, és innen kezdve ugyanúgy használom, mint az EnableEvents-et. Annyi különbséggel, hogy az események első sorába írom, hogy: If not AllowEvents Then Exit Sub.

 

Viszont erről a hívásveremről nem tudtam. Azt még a jó harminc évvel ezelőtti Assembler ismeretimből sejtettem, hogy itt a veremkezeléssel lehet a probléma, de nem gondoltam, hogy meg is lehet nézni. Meg fogom nézni rövidesen.

 

Amúgy azt sejtem még, hogy egy adott vezérlés Visible = False-ra állítása azt még megengedi, hogy az adott részlet End Sub parancsát végrehajtsa, de már egy második szintre nem tud visszaugrani. 

 

Amint hozzájutok (szerintem holnap), készítek egyszerűsített tesztprogramot rá, elküldöm, és bogarászok tovább.

Előzmény: Fferi50 (23490)
Fferi50 Creative Commons License 2013.12.20 0 0 23491

Szia!

 

Nem tudom, ezt láttad-e már:

 

http://www.cpearson.com/excel/SuppressChangeInForms.htm

 

Üdv.

Előzmény: pimre (23487)
Fferi50 Creative Commons License 2013.12.20 0 0 23490

Szia!

 

A debuggerben a hívásveremben látod, hogy hol akadt fenn a program? Milyen hívások maradtak függőben?

 

Annak ismeretében lehet "kerülőutat" csinálni, amivel elérheted, hogy ne fusson le az eseményben definiált rész.

 

Én általában valamilyen változót szoktam használni annak jelölésére, hogy kell-e az adott esemény belső részét futtatni, vagy sem, mivel az elég "ártalmas", ha egy másik eseményből kilőjük azt az objektumot, aminek folyományaként oda kerültünk.

 

Üdv.

Előzmény: pimre (23487)
pimre Creative Commons License 2013.12.20 0 0 23489

Kösz előre is. Valószínűleg csak reggel tudok vele érdemben foglalkozni, de akkor megcsinálom.

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

Volna kedved feltölteni egy mintát valahová? Vagy elküldeni privátban?

Azt hiszem, tudom a megoldást, és szívesen elmolyolnék vele, de lusta vagyok tesztkörnyezetet kialakítani.

 

Előzmény: pimre (23487)
pimre Creative Commons License 2013.12.20 0 0 23487

Szia. Sajnos ezek a UserFormokon nem működnek:-) Már eddig is trükköznöm kellett ennek a kiváltására.

Előzmény: Fferi50 (23486)
Fferi50 Creative Commons License 2013.12.20 0 0 23486

Szia!

 

Az eseménykezelések felfüggesztését használod közben?

Application.enableevents=false

Amíg vissza nem kapcsolod, nem váltódnak ki további eseménykezelések.

 

Üdv.

Előzmény: pimre (23485)
pimre Creative Commons License 2013.12.20 0 0 23485

Újabb gondom akadt a UserFormomon. Egy ponton bizonyos feltételektől függően vagy szabadon textboxban, vagy kész listából listboxban kell beírni az adatokat. Azt szeretném, hogy a listbox megjelenése csak átmeneti legyen a kiválasztás idejére, és erre az időre kerüljön a képernyőn a textbox helyére (takarja el azt), majd a kiválasztott adat kerüljön a textboxba, és a képernyőn most már a kitöltött textbox látszódjon.

 

A lényegét meg is tudom oldani, a problémám a befejezéssel van. Azt nem tudom elérni, hogy miután a listboxból kiválasztott adat átkerült a textboxba a listbox tűnjön el. Természetesen az eltüntetés (visible=False) ideális helye a listbox eseményvezérlése lenne. De akárhogy ügyeskedek, az eseményvezérlőből kilépve többnyire „a meghívott objektum levált az ügyfeleiről” hibaüzenet fogad. Jobb híján végül egy csúnya SendKeys ("{TAB}") paranccsal léptetek a következő vezérlésre, és annak az Enter eseményében tudom szabályosan lezárni az – így már nem aktív – listboxot.

 

Kérdésem, hogy van megoldás arra, hogy a még aktív listboxban kikapcsoljam (eltüntessem) saját magát?

 

Hogy bonyolítsam a dolgot megjegyzem, hogy bizonyos körülmények között ez sikerül. A hiba akkor jelentkezik, ha a kikapcsolás után maradt még függőben végre nem hajtott eseményvezérlő. Tehát pontosítva a kérdést, az lenne jó, ha a kikapcsolás mellett azt is el tudnám érni, hogy hagyja figyelmen kívül a még hátralévő eseményeket.

Fferi50 Creative Commons License 2013.12.19 0 0 23484

Szia!

 

Vagy a szűrők között. Ha van speciális - vagy irányított - szűrő, azzal meg tudod csinálni.

 

Üdv.

Előzmény: kezdos (23482)
Sánta Kutya (SK) Creative Commons License 2013.12.19 0 0 23483

Nézd meg a többszörös műveletek alatt, hátha. Ezt a dolgot én nem ismerem.

Előzmény: kezdos (23482)
kezdos Creative Commons License 2013.12.19 0 0 23482

bocs, itt nem találom: http://prntscr.com/2ccpxz

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

Adatok menü/szalag, ismétlődő értékek eltávolítása.

Ha belegondolsz, a függvény pont nem alkalmas az ilyesmire.

Előzmény: kezdos (23480)
kezdos Creative Commons License 2013.12.19 0 0 23480

Egy olyan kérdésem lenne, hogy rengeteg sorom kétszer fel van víve.

Létezik arra bármilyen függvény, ami a duplikált sorokból csak az egyiket hagyja meg? 

(nem gond, ha OpenOfficeban is működik a megoldás)

 

Köszönöm szépen előre is!

 

seven update sorbi Creative Commons License 2013.12.18 0 0 23479

Szerintem semmiben, de nekem magának az eseménykezelőnek a meghívása volt a fő gond. (Mivel eddig csak "sima" makrókat hívtam meg kivülről  - az application.run-nal - eseménykezelőt nem. Ez nem ment a hagyományos - eddig általam alkalmazott - módon.)

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

Csak még annyit árulj el, hogy ez a megoldás miben különbözik attól, hogy kívülről meghívom az eseménykezelőt.

Előzmény: seven update sorbi (23477)
seven update sorbi Creative Commons License 2013.12.18 0 0 23477

Fantörpikus, köszönöm!

 

(a doubleclick utáni zárójelezést és annak tartalmát magamtól sose találtam volna ki.) 

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

Valami ilyesmi, nekem működik. Megjegyzés: ez a makró igazából nem kattint, csak meghívja azt a makrót, ami akkor futna le, ha a user duplakattintana a megadott cellába.

 

-----------------

 

Option Explicit

Sub test1()

'munkafüzet elérési útvonala, amibe "kattintani" akarsz:
Const MyWb As String = "C:Book2.xls"
'változó, amiben a megnyitott munkafüzetet tároljuk:
Dim MyWbook As Workbook

'megnyitjuk, hozzárendeljük a változóhoz
Set MyWbook = Workbooks.Open(MyWb)


'sheet1 nevű munkalapon az A1 cellába "duplakattint"
Call MyWbook.Workbook_SheetBeforeDoubleClick(MyWbook.Sheets("Sheet1"), Range("A1"), False)

'vedd ki az aposztrófot, ha utána be is akarod zárni egyből, mentés nélkül
'MyWbook.Close False
End Sub

Előzmény: seven update sorbi (23470)
Fferi50 Creative Commons License 2013.12.18 0 0 23475

Ez nem zavar bele!

Előzmény: rob19 (23474)
rob19 Creative Commons License 2013.12.18 0 0 23474

köszi, nekiugrok, és meglátjuk mi sül ki belőle!

egyet nem mondtam, partnerenként ugye eltérő mennyiségű számla van, ez mennyire zavar be az általad leírt történetben?

Előzmény: Fferi50 (23473)
Fferi50 Creative Commons License 2013.12.18 0 0 23473

Szia!

 

Még valami...

 

Ha az új munkalap beszúrása után bekapcsolod a makrórögzítőt, a munkalap áthelyezése után - még a mentés előtt - pedig kikapcsolod, akkor csak annyi dolgod marad, hogy a szűrőtartományba beírod az új ügyfél nevét, majd elindítod a makrót. Az eredmény fájlt pedig elmented és becsukod.

 

További egyszerűsítés (bonyolítás?). Az ügyfelek nevét sem kell beírnod ha az ügyfelek oszlopát átmásolod egy új oszlopba az adatoktól - és az előbb beírt szűrőtől - jobbra (egy oszlop kihagyásával). Ezután kijelölöd ezt az oszlopot, az adatok - ismétlődések eltávolítása opcióval  megmaradnak az egyedi ügyfélnevek.

 

Most kiválasztod azt a cellát, ahova az előbb az ügyfélneveket írtuk. Ezután adatok - érvényesítés -  érvényesítés, a megjelenő párbeszéd ablakban kiválasztod:

 

a megengedve sorban a listát, a forrás sorba pedig kiválasztod az előzőleg megtisztított ügyféllistát tartalmazó cellákat.

Ok után kész is a komfortos lista.

 

Csak kiválasztod az ügyfelet és elindítod a makrót.

 

Illetve, hogy fokozzuk még: A makróhoz hozzárendelhetsz egy billentyűkombinációt és már futtathatod is. (Fejlesztőeszközök - makrók - a makró kiválasztása után egyebek  és itt hozzárendelheted a billentyűt.)

 

Üdv.

 

 

 

Előzmény: rob19 (23471)
Fferi50 Creative Commons License 2013.12.18 0 0 23472

Szia!

 

Makró nélkül egy kattintásra biztosan nem megy. De elég egyszerűen megoldható pár kattintással:

 

Feltételezés: A munkalapon az első sorban fejlécek vannak, utána jönnek az adatok.

Lépések:  Az adatok után egy üres oszlopot hagyj ki. A következő oszlop első sorába írd be az ügyfelek nevét tartalmazó oszlop fejlécét.

Az alatta levő sorba a szűrni kivánt ügyfél nevét.

 

Ha nincs másik munkalap, akkor szúrj be egy üres munkalapot.

Ezen az új munkalapon állva válaszd az adatok - rendezés és szűrés - speciális opciót.

Lehet, hogy az excel kicsit okvetetlenkedni fog, hogy szerinte nincsenek adatok, de ezzel ne törődj (bár talán 2010-ben már nem tesz ilyet.)

A megjelenő irányított szűrés párbeszéd ablakot az alábbiak szerint töltsd ki (kiválasztással):

A listatartományhoz jelöld ki az adatokat tartalmazó munkalap adatrészét.

A szűrőtartományhoz jelöld ki a az adatokat tartalmazó munkalapon az előzőleg beírt fejléc+ügyfél nevét tartalmazó cellákat.

 

Jelöld be a más helyre másolja kapcsolót.

 

Ezután jelöld ki az üres munkalap A1 celláját.

 

Ha minden igaz, akkor az adott ügyfél számláinak adatai jelennek meg.

 

Most a munkalapfülre kattints a jobb egérgombbal. A megjelenő helyi menüből válaszd az áthelyezés vagy másolás opciót és utána a melyik munkafüzetbe lenyílónál válaszd az új munkafüzetet.

Jelöld be a legyen másolat négyzetet.

 

Ha leokézod, akkor az új munkafüzetet elmentheted tetszőleges néven és bezárhatod.

 

A további ügyfeleket már egyszerűen megoldhatod.

 

Az adat munkalapon átírod az ügyfél nevét. Utána már nem kell ismét munkalapot beszúrni, csak az új munkalapon kiválasztani az adatok - rendezés és szűrés - speciális opciót. A párbeszéd ablak elvileg már a helyes adatokat tartalmazza, csak le kell okézni.

 

Hidd el, leírni bonyolultabb volt, mint végigcsinálni.

 

Ha bármi kérdésed lenne, írj bátran.

 

Üdv.

 

 

Előzmény: rob19 (23471)
rob19 Creative Commons License 2013.12.18 0 0 23471

sziasztok, lehet, hogy elsőre nem lesz teljesen értelmes, amit kérdezni szeretnék, de az excel súgójával nem jutottam dűlőre.

2010-es excellel dolgozom.

van egy munkalapom, amiben nyilvántartok késedelmes fizetéseket. az első oszlop a partner neve (annyiszor, ahány számlája van nyitva), a többi oszlop pedig az egyéb infó, késedelmes napok száma, stbstb mindben van szűrő.

soronként ugye a számlák vannak.

azt szeretném, ha az első oszlopban a partner nevére szűrve és utána egy "listáz" vagy akármilyen kattintható "gombra" nyomva készülne csak arról a partnerről egy új excel fájl.

tehát kimutatás szerűen készülne el, de valószínűleg makró kell hozzá. amit én még soha nem csináltam :)

érthető a kérés? :)

hogyan kezdek neki?

seven update sorbi Creative Commons License 2013.12.18 0 0 23470

Köszi, hogy foglalkoztál a problémámmal. Közelebb haladtam a megoldáshoz, de gondot még az okoz, hogy nem egy fájlban van a kattintós munkalap és az őt meghívó program, hanem kettőben. Ahonnan a programot kattintással meg kellene hívni, abban a fájlban a "ThisWorkbook" lapon van a program, amire a Call utasításban nem tudok hivatkozni.

 

Ebben tudnál esetleg még segíteni?

Előzmény: Törölt nick (23468)
pimre Creative Commons License 2013.12.17 0 0 23469

Miért priviben? Nem lehetne a data.hu-ra, vagy a google drive-on elhelyezve, megosztva az adott fájl letöltőlinkjét, hogy akit érdekel a téma, az letölthesse?

Előzmény: Fferi50 (23467)
Törölt nick Creative Commons License 2013.12.17 0 0 23468

1. Private helyett Public legyen a BeforeDoubleClick esemény makró.

2. Így már meghívható egy másik makró által, valahogy így (ha a Munka1 lapon van az esemény makró és az A1 cellára akarsz "kattintani"):

 

Sub test()

Call Worksheets("Munka1").Worksheet_BeforeDoubleClick(Worksheets("Munka1").Range("A1"), False)

End Sub

 

Innen vagyok okos (de le is teszteltem):

http://stackoverflow.com/questions/12779021/excel-trigger-double-click-event-from-macro

 

 

Előzmény: seven update sorbi (23461)
Fferi50 Creative Commons License 2013.12.17 0 0 23467

Szia!

 

Közben rájöttem, hogy mit csinálsz és az is remek:

 

A céltartomány első sorába azon oszlopok fejléceit írod be, amelyeket szeretnél, hogy odakerüljenek, utána azokat a cellákat  jelölöd ki "hova másoljának". És a poén, hogy annak az oszlopnak, amit szűrsz, nem is kell benne lennie.

 

Hát mindig tanul az ember valamit.

 

Majd alkalomadtán küldök egy mintát priviben.

 

Üdv.

Előzmény: tbando (23466)
tbando Creative Commons License 2013.12.17 0 0 23466

Szia!

 

Világos, hogy ugyanarról beszélünk, ugyanazzal az eredménnyel, csakhogy én nem egészen értem, hogy te hogy csinálod és szeretném megérteni, mert hátha praktikusabb az én módszeremnél. Pl. azt ahogy te szűröd ki az ismétlődéseket egy oszlopból, ahol maga az oszlop fejléce a szűrő tartomány, nem ismertem, és tényleg jó. 

 

A mintaképemen azért csak az a 3 oszlop szerepel az eredménytáblázatban, mert csak azt a 3-mat írtam fejlécébe. Ha 5-t írtam vona akkor 5 lenne, ha 1-t akkor csak 1.

 

üdv

 

ps. Az előző hsz-ben írtam, hogy a kritériumtartományt előre is ki lehet jelölni és utólag beleírni a kritériumokat. Azóta kapcsoltam, hogy nem lehet.  Attól hogy nekem makrósítva van a szűrés fix kritériumtartománnyal, attól az csak nekem fix, a szűrőnek nem, neki minden szűrésnél újra és újra definiálódik.

 

 

Előzmény: Fferi50 (23465)
Fferi50 Creative Commons License 2013.12.17 0 0 23465

 

Szia!

 

Szerintem ugyanarról beszélünk csak kétféleképpen, de még az eredmény is ugyanaz.

 

Nyilván kell egy lista, amit valamilyen módon szűrni akarsz - és az eredmény máshol akarod látni.

Egyértelmű, hogy ehhez szükség van a szűrési feltételekre. A szűrési feltételeket pedig előre be kell írnod valahova, ez lesz a criteriarange a makróban, a párbeszédpanelben pedig ezt fogod bejelölni szűrőtartománynak.

A szűrőtartomány (szűrési feltételek) pedig az első sorban tartalmazzák a fejlécet, az alattuk levő sorokban pedig a feltételeket. (Mintha a betett képen is ezt látnám!)

 

Viszont ha egy oszlopból ki akarod szűrni az ismétlődéseket, akkor a szűrőtartomány lehet maga az oszlop fejléc cellája egyedül. Nyilván, akkor a csak egyedi értékek megjelelölése be van jelölve.

 

Ami a zavart okozhatta a következő: Én a listákat általában az első sortól kezdve teszem be a munkalapokra, ahol az első sor a fejléc. Eamiatt gondoltam arra, hogy ugyanabba az oszlopba csak úgy tudsz szűrőfeltételt is tenni, ha beszúrsz elé sor(oka)t. Természetesen a szűrófeltételek az adatok alatt is lehetnek,de messze nem kell ugyanazokban az oszlopokban lenniük. Én általában az adatok melletti részt használom.

 

Másrészt viszont nem értem, hogy a mintaképeden miért csak ez a 3 oszlop szerepel. Valószínűleg a szűrőtartomány nem látható része a bűnös.

 

Üdv.

tbando Creative Commons License 2013.12.17 0 0 23464

Szia!

 

Valamit nagyon másképp értelmezünk  ennél a szűrőnél.  

 

Nem értem például miért tartod fontosnak megjegyezni, hogy a szűrési kritériumoknak a kritérium területen kell  lenniük.   Amikor az nem is tud máshol lenni. Szerintem ugyanis  a kritérium terület úgy keletkezik, hogy kijelölöd  a szűrési kritériumokat.  Persze  lehet fordítva is csinálni, hogy előre jelölöd ki a kritérium tartományt, akár munkalapszélességben. És ebbe utólag írsz be néhány kritériumot.

 

Én semmi olyat nem javasoltam, amiben a fejlécek egy részét törölni kéne. Sok szűrést csináltam már, de fejlécrészt emiatt még sosem kellett törölnöm.

 

Új sort sem kell beszúrni.  Így nem okoz gondot hogy ezzel nem lehet kritériumot is megadni.

 

És végül: az átvinni nem kivánt oszlop fejlécét én nem  szoktam törölni, hanem csak egészen egyszerűen nem írom be ezeket a szűrési eredménytáblázat fejlécébe.

 

Mivel  egészen biztosan másképp látjuk a szűrést, a jobb érthetőség kedvéért  ide rakok 2 képet  egy  mintapéldáról.

 

 

Előzmény: Fferi50 (23460)
seven update sorbi Creative Commons License 2013.12.17 0 0 23463

Teljes mértékben. :)

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

Mármint tehát itt két excel fájlról van szó, és az egyikben legyen olyan programrész, ami a másik fájl munkalapján duplán klikkel. De nem egyszerűen csak meghívja az eseménykezelőt, hanem maga a munkalap higgye azt, hogy a felhasználó duplán kattintott. Jól foglaltam össze?

 

Előzmény: seven update sorbi (23461)
seven update sorbi Creative Commons License 2013.12.17 0 0 23461

Sziasztok!

 

Azt szeretném kérdezni, hogy egy double clicket hogy tudnék makróból előidézni?

 

Van egy excel lapom, ami mögött van egy before_double_click makróm. Ezt szeretném egy másik programból meghívni úgy, mintha kézzel rákkatintanék erre az excel lapra.

 

Tudom, hogy egy egyszerű megoldás az, ha a másik programból meghívom ennek az excel lapnak a makróját, de bizonyos okok miatt jobb lenne programból clickelni.

Fferi50 Creative Commons License 2013.12.17 0 0 23460

Szia!

 

Az előző hozzászólásom egy kicsit hibás, mert a szűrési kritériumokat csak a kritérium területen lehet elhelyezni!

A Te javaslatodhoz a fejlécek egy részét törölni kell, vagy új sort kell beszúrni a fejlécek elé és abba beírni a fejlécet, de ezzel még nem lehet kritériumot is megadni,csak a teljes oszlopot tudod átmásolni!

 

Tehát mégegyszer:

Kell egy kritérium terület, ahol az első sor a szűrendő oszlopok fejléce, a további sorok pedig a szűrési feltételeket tartalmazzák.

A szűrendő területnek egybefüggőnek kell lennie

de - és itt jön a Te javaslatod kombinálása - ha az átvinni nem kívánt oszlop fejlécét kitöröljük, akkor a szűrt átvitel történik meg és üresen hagyja a fejléc nélküli oszlopokat.

 

Üdv.

Előzmény: tbando (23458)
Fferi50 Creative Commons License 2013.12.17 0 0 23459

Szia!

 

Így van, de ha nem akarod a teljes oszlopot átvinni, akkor alá beírhatod a szűrés kritériumát is, ami több oszlopnál is működik   és illetve vagy feltételként, attól függően, hogy melyik sorba írtad a kritérium területen!

 

Üdv.

Előzmény: tbando (23458)
tbando Creative Commons License 2013.12.17 0 0 23458

Advanced filterrel úgy kell szűrni több oszlopra, hogy a továbbitandó oszlopok fejcímeit elhelyezed a szűrendő terület első sorába, majd ezt a sort adod meg hogy hova szűrjön,

Előzmény: Fferi50 (23454)
pimre Creative Commons License 2013.12.17 0 0 23457

Igen, időközben épp most próbáltam ki, és nekem is működött. Csak eddig nem értettem a criteriarange megadásának értelmét. Köszönöm.

Előzmény: Fferi50 (23456)
Fferi50 Creative Commons License 2013.12.17 0 0 23456

Szia!

 

Nekem megy a 2003-as Excelben is az alábbi módon:

 

    Range("A1:M33").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
        "P1:P2"), CopyToRange:=Range("R1"), Unique:=False

 

Szűrendő terület "A1:M33", Szűrési kritérium: "P1:P2"

A P1 mezőbe írd be a szűrni kívánt oszlop fejlécét, alá pedig a szűrési kritériumot.

Arra figyelj, hogy a szűrendő terület minden oszlopának legyen fejléce.

 

Remélem, nálad is műdödik.

 

Üdv.

Előzmény: pimre (23455)
pimre Creative Commons License 2013.12.17 0 0 23455

Előzőleg elég sok órát eltöltöttem a megoldás keresésével, és nem találtam ilyen lehetőséget. Ettől persze még lehet, hogy van. De majd megnézem még egyszer.

 

Off: Ami a 2010-et illeti, napok kérdése, hogy nekivágjak. Karácsony után várhatóan megpróbálok áttérni az új verziókra. Win 8.1 Enterprize és Office 2010. Gondolom, hogy az első néhány hét nagy szívás lesz külön-külön is mindkettővel, de aztán majd csak megszokom.

Előzmény: Fferi50 (23454)
Fferi50 Creative Commons License 2013.12.17 0 0 23454

Szia!

 

Kipróbáltad az advancedfiltert úgy is, hogy a másik két oszlop is benne volt a szűrendő területben?

Excel 2010-ben működik a más helyre irányítás úgy, hogy a 3 oszlopból az egyiket szűröd és viszi mind a 3 oszlopot.

Viszont a szükséges oszlopoknak egybefüggően (egymás mellett) kell lenniük.

 

Üdv.

 

Előzmény: pimre (23453)
pimre Creative Commons License 2013.12.16 0 0 23453

Egy szűréssel kapcsolatban van egy kis problémám. Pontosabban megoldottam, de azt hiszem nagyon fapadosan.

 

AdvancedFilterrel szűrtem egy munkalap adatait az állomány egyik oszlopa szerint. De szükségem volt a vele párhuzamos két másik oszlopra is, így nem tudtam más helyre irányítani a szűrést.

 

(Konkrétan egy utcalista későbbi keresésre történő előkészítéséről van szó, ahol majd egyben keres a felhasználó a közterület nevére - pl. Kodály - és típusára - pl. Körönd -, vagy Nyúl utca stb.). Azonban megtalálva a teljes kifejezést nem bízom benne, hogy a típus mindig egyetlen szó lesz, így nem merem utólag szétszedni a stringet. Ezért két másik oszlop tartalmazza őket külön-külön is.)

 

Ugyanakkor úgy vettem észre, hogy kereséskor többször rálépve a szűrt területre, van amikor a program elveszíti, és nem látja a szűrést. Lehet, hogy ezt rosszul figyeltem meg, de inkább biztosra akartam menni, és azt akartam elérni, hogy a szűrt adatok kerüljenek leválogatva a munkalapra.

 

Ezért a következő megoldást alkalmaztam:

 

Application.DisplayAlerts = False ’ hogy ne kérjen megerősítést törléskor

With ws.Range(ws.Cells(2, 1), ws.Cells(utolsosor, utolsooszlop))

    .Rows.Copy ws.Cells(utolsosor + 1, 1) ' A látható sorok átmásolása az utolsó sor mögé

    ws.ShowAllData ' Láthatóvá teszünk mindent, másképp zavar lesz, ha a végén nem látható sorok voltak

    .Rows.Delete ' a szűrt tartományt töröljük

End With

Application.DisplayAlerts = True

 

A megoldás működik, megfelelően gyors is, de borzasztóan nehézkesnek érzem. Létezik elegánsabb megoldás?

Törölt nick Creative Commons License 2013.12.16 0 0 23452

Nekkemm úggy iss lyó, csak lássunk már valamit.

Amúgy milyen szak ez?

Előzmény: luzer0901 (23449)
Törölt nick Creative Commons License 2013.12.16 0 0 23451

Range("A1").Copy Range("A" & Rows.Count).End(xlUp).Offset(1)

Előzmény: Bunda789456 (23448)
Törölt nick Creative Commons License 2013.12.16 0 0 23450

Egy rövidebb kerülő megoldás lenne lecserélni a vesszőt pontra.

 

=HELYETTE(A1;",";".")

 

Előzmény: magyarpityu (23447)
luzer0901 Creative Commons License 2013.12.16 0 0 23449

Azt hogy nem tudom így mefogalmazni, hogy delta ízé hanem csak prímitiven a saját nyelvvemen.

Előzmény: Törölt nick (23446)
Bunda789456 Creative Commons License 2013.12.16 0 0 23448

SZiasztok!

Az lenne a kérdésem, hogy hogy tudom makrósítani azt hogy: "az utolsó nem üres cella utáni üres cellába másolja be az adatokat"!

Nagyon köszönöm :)

magyarpityu Creative Commons License 2013.12.16 0 0 23447

Sziasztok!


Abban szeretném a tanácsotokat kérni, miként lehetne megoldani, hogy a munkalapon egy meghatározott oszlopban a számok tizedesjele ne a rendszerbeállítás szerinti (pl. ',') legyen, hanem a '.'! Nem megváltoztatni szeretném az Excel (vagy Windows) beállításait (bár úgy megadhatnám, hogy mi legyen a tizedes elválasztó, igaz, ez az egész munkalapra érvényes lesz), hanem a kérdéses oszlopra tudnék-e olyan cellaformázási beállítást alkalmazni, ami csak abban az oszlopban változtatná meg (ha szükséges) a tizedesjelre vonatkozó területi beállításokat? Tehát minden más oszlopban az aktuális területi beállítás szerinti tizedesjel szerepelne, de abban a bizonyos oszlopban mindig '.' lenne a tizedes elválasztó. (Nagyon kerülő megoldást tudok, ha összefűzöm az egészrészt a tizedesponttal, majd a tört részből a megfelelő számú tizedes számjegyet, de hátha lenne ettől egyszerűbb megoldás.)


Köszönöm előre is a segítséget!

Törölt nick Creative Commons License 2013.12.16 0 0 23446

Ezt a példát írtam:

 

"Mondok egy példát. Legyen a kiindulás állapot az, hogy az Y tengely fentről lefelé nő, mint a munkalapon a sorok számozása, és a sötét oldal a tábla tetejéről indul. Ekkor:

HA a bábu sötét gyalog

ÉS delta X = 0

ÉS delta Y = 1

ÉS X0,Y1 koordinátákon nem másik bábu

ÉS Y1<=8

AKKOR az egy szabályos lépés."

 

Egész pontosan mit nem értesz benne?

Előzmény: luzer0901 (23438)
kezdos Creative Commons License 2013.12.15 0 0 23445

Köszönöm, kezdő excelesként ez a rész picit érthetőbb rész lett!

Előzmény: Fferi50 (23444)
Fferi50 Creative Commons License 2013.12.15 0 0 23444

Szia!

 

Ha a számokra nincs szükséged és csak egy vessző van a cellában, akkor az alábbi képlet segít:

(adatok az A oszlopban vannak)

A B1 cellába beírod:

 

=JOBB(A1;HOSSZ(A1)-SZÖVEG.KERES(",";A1))

 

majd végighúzod az A oszlop hosszáig.

 

Üdv.

Előzmény: kezdos (23442)
Sánta Kutya (SK) Creative Commons License 2013.12.15 0 0 23443

Adatok menü vagy szalag, szövegből oszlopok, tagolt, határolójel vessző, befejezés.

Előzmény: kezdos (23442)
kezdos Creative Commons License 2013.12.15 0 0 23442

Abban szeretném segítségeteket kérni, hogy lenne egy nagyon kacifántos listám:

2344,egynév
34,egynév

3271,egy név

 

Szeretném kihagyni, hogy egyesével kelljen kiszedni a számokat és a vesszőt. Erre valaki tudna nekem ajánlani egy fügvényt?

pimre Creative Commons License 2013.12.14 0 0 23441

Ennél több nem is kell ahhoz, hogy megfogalmazd a programban figyelembe veendő lépési korlátozásokat. Inkább a fínomságokra érdemes még odafigyelni, ami elsőre elkerülheti a figyelmedet. Például, ha az ellenfél sakkot adott, akkor minden lépés érvénytelen, aminek az eredményeként a király sakkban marad. És ennek ellentéteként minden olyan lépés érvénytelen amelynek eredményeképp a király sakkba kerülne (Tehát, ha a királyt a sakk elől védő bábút mozdítaná el a játékos).

 

Aztán van még két speciális lépés, amiről szintén nem szabad megfeledkezni. Az egyik az en passant, azaz az anpassz, a másik a rosálás. Az utóbbinál azt kell tudni, hogy királylépésnek számít. Tehát ha a - mostanáig mozdulatlan - király kettőt lép balra, vagy jobbra, és a mellette lévő bástya sem mozdult még, akkor az szabályos lépés, amire a programnak a bástyát át kell emelnie a királyon. 

Előzmény: luzer0901 (23440)
luzer0901 Creative Commons License 2013.12.14 0 0 23440

Igen tudom a szabályokat és tudok sakkozni bár nem profi szinten

Előzmény: pimre (23439)
pimre Creative Commons License 2013.12.14 0 0 23439

Sakkozni egyébként tudsz? Illetve pontosabban fogalmazva tudod a szabályokat? Mert szerintem első lépésként azt kellene nagyon alaposan összeszedned, amit játék közben akár öntudatlanul is alkalmazol. Például, hogy ha a bástya vagy a futó útjában valamilyen saját bábú áll, akkor csak az azt megelőző kockára lehet lépni. Ha ellenfélé áll ott, akkor szintén, de annyival egészül ki, hogy le is ütheted. Mögé egyik esetben sem kerülhetsz. A királynő a kettő kombinációja. A ló esetében ilyen megkötés nincs. Gyalognál különválik a 2 (7) mezőről történő lépés, és az ütéssel is egész más a helyzet. A király meg csak akkor üthet, ha ezáltal nem kerül sakkba. És így tovább. Szóval ezeket kellene először megfogalmaznod nagyon szabatosan (nem úgy, mint az első bejelentkezésedkor, hogy „...segítene nekem sakkot csinálni...”).

 

Ugyanis a programozás két dologról szól. Az első a megoldandó feladat nagyon precíz megfogalmazása, lehetőleg minél elemibb részekre bontva, végiggondolva az apróbb buktatókat, hibalehetőségeket. És lehetőleg nem kifelejtve a megfogalmazásból azokat a dolgokat, amiket egyébként általában evidensnek tekintünk. Ugyanis a számítógép számára nincs evidencia. Neki mindent el kell magyarázni. Úgy sejtem, hogy Jimmy most ezt várja tőled, hogy aztán segíthessen a továbblépésben.

 

És csak ha ez megvan, akkor jöhet a második rész - ami nemegyszer könnyebb az elsőnél – a kódolás, azaz a programkód megírása. Bonyolultabb feladatoknál a kettő közé beiktatható egy folyamatábra elkészítése, mert a kódolásnál könnyen eltévedhet az ember.

 

Szóval jó munkát! Ha ez nem megy, akkor idén esélytelen a dolog.

 

Ja és egy off javaslat itt a beszélgetésnél: Ha itt válaszolsz valakinek, lehetőleg ne az 'új hozzászólás' gombot használd, hanem a hozzászólás felső sorában a válasz gombot (a visszafelé hajló nyíl). Ugyanis akkor rögtön látszik, hogy éppen kinek válaszolsz, és ez megkönnyíti a beszélgetés követését.

Előzmény: luzer0901 (23438)
luzer0901 Creative Commons License 2013.12.14 0 0 23438

De én ezt nem tudom így megfogalmazni ahogyaqn te azt írtad

Törölt nick Creative Commons License 2013.12.14 0 0 23437

Akkor húzzál bele, mert röpül az idő.

Előzmény: luzer0901 (23436)
luzer0901 Creative Commons License 2013.12.13 0 0 23436

Igen sakk programmot szeretnék, nem kicsi hanem nagy erőfeszítés árán mert ahogy már írtam sajnos semmi tudásom sincs. Ja és sajnos nincs más ötletem. :)

Jozsef Creative Commons License 2013.12.13 0 0 23435

Szerintem, indulj ki ebből :)

http://jollierme.com/Chess.html

Előzmény: luzer0901 (23430)
Törölt nick Creative Commons License 2013.12.13 0 0 23434

Igen, de nem tudjuk az okát. Láttad a Narnia krónikái első részt? (A mozis változatra gondolok.)

Mennek a fiatalok Aslan elé, kiderül, hogy Öcsi elárulta őket, mit mond erre a főnök? Ezt:

"Biztosan van rá magyarázat."

Szerintem ez elég ütős. Jobb pillanataimban eszembe jut.

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

Az igénytelenség fiúknál és lányoknál is igénytelenség. Már az írásmódból ordít.

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

Utólag szeretném előrebocsátani, hogy én azért foglalkozom most a kérdéseddel, mert megbántam a tegnapi kirohanásomat, és mert az email címed alapján valószínűleg lány vagy, és a hölgyeket egy férfiembernek tisztelni és segíteni illik. De a tartalmi kérdésben nem változott a véleményem: ebből a projektből akkor lesz eredmény, ha dolgozol rajta. Én nem fogom helyetted megcsinálni, csak segítek, a szó valódi értelmében. December 29-ig még van két hét (amit nevezzünk inkább egynek), szerintem van esélye, hogy elkészül. De el kell döntened, hogy mit akarsz: sakkprogramot némi erőfeszítés árán, vagy van jobb ötleted, amiben én nem szerepelek.

Előzmény: luzer0901 (23430)
Törölt nick Creative Commons License 2013.12.13 0 0 23431

Ez egy villámválasz volt, de én nem ezt várom tőled. Gondolkodj, és írd össze. Tételesen.

Ha a lépő bábu sötét bástya, akkor milyen feltételeknek kell teljesülni, hogy a lépés szabályos legyen. Ha a lépő bábu sötét huszár, akkor akkor milyen feltételeknek kell teljesülni, hogy a lépés szabályos legyen. stb. stb. Teljes körű lista kell, nagyjából úgy, ahogy a sötét gyalog esetében leírtam az előbb.

 

Az nem baj, ha a feltételek közt olyan is van, amit nem tudsz képletben megfogalmazni, számszerűsíteni. Ha pl. azt mondod: "meg kell vizsgálni, hogy a bábu lépése útjában van-e másik bábu", de nem tudod, hogyan lehet ezt a vizsgálatot megvalósítani, akkor az egy fekete doboz. Tudjuk mit csinál, de nem tudjuk hogyan. Pontosabban MÉG nem tudjuk. De majd az is meglesz előbb-utóbb.

Előzmény: luzer0901 (23430)
luzer0901 Creative Commons License 2013.12.13 0 0 23430

Hát szerintem először is meg kéne vizsgàlni azt, hogy azon a helyen ahova lépni szertnénk van e egy màsik bábu, aztàn a lépő bàbut megkéne vizsgàlni, hogy szabályos e a lépés vagy igazából nem tudom

Törölt nick Creative Commons License 2013.12.13 0 0 23429

Belegondoltam, és arra jutottam, hogy talán még egyszerűbb is lenne grafikus felülettel. De ezt most egyelőre hagyjuk, a megjelenítéssel majd később foglalkozzunk. Most inkább nézzük meg a "core" funkciót.

 

Tegyük fel, hogy a sakktábla egy kétdimenziós koordinátarendszer, X éy Y tengellyel. Tegyük fel, hogy X0,Y0 koordinátákon áll egy bábu, amit az egyik játékos mozgatni akar X1,Y1 koordinátákba. (X1 nem feltétlenül különbözik X0-tól, és Y1 nem feltétlenül különbözik Y0-tól, de lagalább az egyik koordinátának változnia kell, különben nincs mozgás.) A cél az, hogy összerakjunk egy függvényt, ami visszaadja egy tervezett bábulépésről, hogy az érvényes vagy sem. Ehhez kell egy jó algoritmus. Gondolkodj, és írd össze, hogy szerinted milyen szempontból kellene megnézni a lépést. Milyen vizsgálatokat kell elvégezni, hogy az algoritmus megtalálja a tervezett lépés érvénytelenítéét okozó akadályokat, szabálytalanságokat?

 

Mondok egy példát. Legyen a kiindulás állapot az, hogy az Y tengely fentről lefelé nő, mint a munkalapon a sorok számozása, és a sötét oldal a tábla tetejéről indul. Ekkor:

HA a bábu sötét gyalog

ÉS delta X = 0

ÉS delta Y = 1

ÉS X0,Y1 koordinátákon nem másik bábu

ÉS Y1<=8

AKKOR az egy szabályos lépés.

 

Szedj össze mindent, ami eszedbe jut, nem baj, ha nem teljes a lista, majd kiegészítjük.

Előzmény: luzer0901 (23428)
luzer0901 Creative Commons License 2013.12.12 0 0 23428

Olyan nagyon igényesnek nem kell lennie szerintem, de azért egy sakk tablára kéne hasonlítani de szerintem a bábukat például szerintem helyettesíthetik betűk

Sánta Kutya (SK) Creative Commons License 2013.12.12 0 0 23427

Én sem bírtam ki. Van minden hsz fölött pár ikon.

Omen est nomen.

Előzmény: Törölt nick (23425)
Törölt nick Creative Commons License 2013.12.12 0 0 23426

Pont tegnap voltam egy tréningen, ahol elmondták, hogy a passzív ember kihozza másokból az állatot, magára húzza amazok agresszióját. Azt mondta a tréner, hogy vannak akik úgy mennek végig az utcán, hogy szinte kedvünk támadna fejbevágni. Ezek az emberek gyakorlatilag fejbe vágatják magukat, és midenkiből kiváltják ezt a reakciót.

Én persze nem hittem el, hogy ennyire ösztönlény lennék. És erre tessék...

Előzmény: Törölt nick (23415)
Törölt nick Creative Commons License 2013.12.12 0 0 23425

???

Előzmény: Sánta Kutya (SK) (23422)
Törölt nick Creative Commons License 2013.12.12 0 0 23424

És mit gondolsz, mi az elvárás: grafikus megjelenítés, ami úgy is néz ki, mint egy sakktábla, vagy elég egy 8x8-as cellatartomány valamelyik munkalapon, ahol betűk/számok jelképezik a sakkfigurákat? Szóval mennyire kell igényesnek lennie?

Előzmény: luzer0901 (23421)
tbando Creative Commons License 2013.12.12 0 0 23423

Ahol eleve úgy kezdik az oktatást mintha már mindenki tudna programozni, ott valszeg mindenki tud programozni. Pont egy ilyen helyre kellett jelentkezned? 

Előzmény: luzer0901 (23417)
Sánta Kutya (SK) Creative Commons License 2013.12.12 0 0 23422

Kipróbáltam ezt az új ikont itt a jobb szélén, de a fejlécek így is látszanak.

luzer0901 Creative Commons License 2013.12.12 0 0 23421

Az a baj, hogy alapom semmi nincs csak az a kevés amit elmondtak gyakorlatokon, de ezek amiket az előbb leírtál ismerősen csengnek :)

 

Törölt nick Creative Commons License 2013.12.12 0 0 23420

És milyen alapjaid vannak? VBA makrók írásában bármi tapasztalat? Visual Basic előélet? Tisztában vagy-e olyan fogalmakkal, mint

- változó,

- ciklus,

- elágazás,

- utasítás,

- függvény?

Előzmény: luzer0901 (23419)
luzer0901 Creative Commons License 2013.12.12 0 0 23419

29.-e

Törölt nick Creative Commons License 2013.12.12 0 0 23418

Mi a határidő?

Előzmény: luzer0901 (23417)
luzer0901 Creative Commons License 2013.12.12 0 0 23417

Képzeld el megnéztem azokat a kész programmokat amiket ide írtak azok akik ahogy te írtad JÓFEJEK, és sajnos nem sokkal jutottam közelebb a megoldáshoz/megértéshez, leadták az alapokat, de eleve úgy kezdték az oktatást mintha már mindenki tudna programozni pedig ez nem tanultam ezt egyeltalán és nem az alatt az 5 óra alatt amit tartottak ezzel kapcsolatban nem lettem okosabb programozás terén. Amúgy köszi a mérhetetlen jóindulatot, ja és melesleg az email címem ikerkriszti@freemail.hu

Törölt nick Creative Commons License 2013.12.12 0 0 23416

És ezek után még mindig azt mondom, hogy van itt esélyed. Csak hát tenni kellene valamit a sikerért.

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

Hát ezt már nem bírom ki.

 

Figyelj, bahátom. Idejössz egy olyan kéréssel, ami alapjaiban sérti a szakmai fórumok íratlan szabályait. A szavaidból egyértelműen kiderül, hogy fingod nincs az egészről. Ha ez egy egyetemi házi feladat, akkor nyilván órán leadták az elkészítéséhez szükséges anyagot, vagy legalább az alapokat, hogy elindulhass. Ha most olyan szinten vagy, hogy egy értelmes kérdést nem tudsz feltenni a témával kapcsolatban, akkor mi a francot csináltál egész félévben?

Végig azon sírsz itt, hogy segítsünk, közben egy szalmaszálat nem mozdítasz meg a siker érdekében. Előbb tán valamit le kéne tenni az asztalra, nem? Vagy nálad az a segítség definíciója, hogy "csináld meg kérlek az egészet helyettem"?

 

Mindezek dacára kapsz kész megoldást, mert vannak itt jó fejek is (nem én, de vannak). Gondoltam, majd biztos megnézed, és megpróbálod megérteni, és majd kérdezel, ha nem sikerül. De nem, te csak tovább nyüszítesz, még arra sem vagy hajlandó, hogy a kész megoldást megnézd. Hát mit vársz? Küldjük el elmail-ben az excel fájlt a sakkprogrammal? (És még csak az email címed sem publikus.)

 

Ha egy szikrányi eltökéltséget éreznék benned, hogy hozzáteszed a magad részét a munkához, azt mondanám: oké, mindenki hibázik, de adjuk meg az esélyt, hogy helyrehozza. De azok alapján, ami hozzáállásodból lejön, szerintem Taigetoszba való vagy. Uff.

Előzmény: luzer0901 (23414)
luzer0901 Creative Commons License 2013.12.12 0 0 23414

Légyszíves én olyannak a segítségét szeretném aki biztosan tud nekem és van annyira jó fej, hogy segít nekem.

lxt Creative Commons License 2013.12.12 0 0 23413

Nekem a "Bartel - Krass - Schrüer: Számítógép és sakk" van meg, de nincs digitalizálva - bár, szerintem idejét múlt.

 

VB forráskód - nem ellenőrzött

 

és egy megoldás 'okosba' - simán módosítod...:-)

Előzmény: luzer0901 (23411)
tbando Creative Commons License 2013.12.12 0 0 23412

http://jollierme.com/ThankYou.html

 

Shallow Bot 1.0 Download

 

Nyilt vba kódban.

Attól persze nem kell tartanod, hogy elhiszik hogy te csináltad. De talán méltányolják, hogy megtaláltad :)))).

 

Előzmény: luzer0901 (23411)
luzer0901 Creative Commons License 2013.12.12 0 0 23411

Az a baj hogy nézzelődtem netende sehol sem találtam semmit és gondoltam mivel excel forum ezért vki segíteni fog

Eredő Vektor Creative Commons License 2013.12.12 0 0 23410

Volt régebben részem hasonlóban... Jól lehet vele keresni... Így utólag bánom, mert tudatlanul jönnek ki az egyetemről, semmire kapnak diplomát... (Bár amúgy is)

Egyrészt rossz helyen keresgélsz, szerintem ez nem az a fórum, ami neked kell. Másrészt ez BTK annak is, aki elvégzi, és annak is aki kéri. Nézz utána.

Egyébként találsz kódokat neten, csak rá ne keressenek a tanárok...

Előzmény: luzer0901 (23395)
luzer0901 Creative Commons License 2013.12.12 0 0 23409

Légyszíves bármilyen konkrét segítségnek örülnék

luzer0901 Creative Commons License 2013.12.12 0 0 23408

Tudom, hogy nem etikus dolog mással megcsináltatni,de pont az a baj, hogy nem tudom magam megcsinálni és ezen múlik a félévem sajnos

Törölt nick Creative Commons License 2013.12.12 0 0 23407

Azt hittem, ilyenkor már vége a szemeszternek... Nem olyan nehéz feladat, viszont elég etikátlan mással megcsináltatni. Nem kéne lesüllyedni a volt államfőnk szintjére.

 

Mindenesetre pár tipp, ha esetleg becsületesen magad csinálnád meg:

- 8x8-as cellatömb a sakktábla, négyzet alakú mezőkre szabva

- a bábuk lehetnének mondjuk cellával megegyező méretű képek

- esemény makrók szabályozhatnák a lépéseket (pl. ha rákattintasz az egyik bábu képére az triggerel egy makrót ami beszínezi azt a cellát és utána egy másik cellára kattintással léphetnél)

- más esemény makrók szabályozhatnák azt, hogy mikor van vége a játéknak, vagy hogy hova lehet lépni és hova nem

- lehetne egy log, amit a program vezet, ami a lépéseket tartalmazza

 

Ezen felül még egy rakás dologgal lehetne csicsázni: stopper, lépésvisszavonás, lépéslehetőségek beszínezése, akármi.

 

Sok sikert.

 

 

Előzmény: luzer0901 (23399)
luzer0901 Creative Commons License 2013.12.12 0 0 23406

Jó nem feltétlenül kell eltudnom adni hogy én csináltam csak nagyjából értenem kéne hogy mi történik

Sánta Kutya (SK) Creative Commons License 2013.12.12 0 0 23405

"amit eltudok adni egyetemen hogy én csináltam"

Ezzel erősen lecsökkentetted  a válaszolók számát, én kiszálltam.

Előzmény: luzer0901 (23399)
luzer0901 Creative Commons License 2013.12.12 0 0 23404

Légyszíves segítsetek nekem minden megoldás jó mert már nincs más ötletem és én nem tudok ennek neki állni

pimre Creative Commons License 2013.12.12 0 0 23403

Aha, tehát a gép nem játszik, csak felügyel. Ez egy picivel kevésbé megoldhatatlan.

Előzmény: luzer0901 (23401)
pimre Creative Commons License 2013.12.12 0 0 23402

Ok, ha megmondod, milyen szempontok szerint készítsük el a plauzibilis lépésgenerátort, akkor kezdhetjük:-)

Előzmény: luzer0901 (23399)
luzer0901 Creative Commons License 2013.12.12 0 0 23401

Oldjuk meg valamilyen módon az Excelben, hogy a munkalapon valamilyen módon jelzett sakkbábukkal játszani tudjon
egymással 2 személy. Oldjuk meg, hogy a játék kezelje a sakkhoz tartozó lépéseket és szabályokat (aki ismeri a jelenlegi legfrissebb szabályt, azt is implementálhatja)   Ezt kaptam mint feladatot az egyetemen beadandónak

luzer0901 Creative Commons License 2013.12.12 0 0 23400

És amúgy nem bármivel :)

luzer0901 Creative Commons License 2013.12.12 0 0 23399

Szia csak egy sima sakk programm és a kódja kéne mert azt el kell magyarázni, amit eltudok adni egyetemen hogy én csináltam, j

Sánta Kutya (SK) Creative Commons License 2013.12.12 0 0 23398

Lefordítom Jimmy kérdését: amíg meg nem mondod pontosan, hogy mit akarsz, addig vagy senki nem csinálja meg neked, vagy megcsinálja, amit gondol, te meg nem azt kapod, amit akartál, mégis hálálhatod megfele bármivel.

Szóval pontosan mit is szeretnél?

Előzmény: luzer0901 (23395)
pimre Creative Commons License 2013.12.12 0 0 23397

"meghálálnám. ("bármivel")"

 

Tényleg bármivel?:-)

Előzmény: luzer0901 (23395)
Törölt nick Creative Commons License 2013.12.12 0 0 23396

Mármint olyan sakkprogramot akarsz, ami ellen több erősségi fokozatban lehet játszani, és 9-es fokozatban 10 lépésből bemattol?

Előzmény: luzer0901 (23395)
luzer0901 Creative Commons License 2013.12.12 0 0 23395

Sziasztok egy nagyon fontos életbe vágó kérésem lenne valaki aki tud vba-ban programozni és tudom, hogy nagy kérés, de segítene nekem sakkot csinálni azt nagyon meghálálnám. ("bármivel")

Nagyon fontos nincs más reményem ezen a forum kivűl.

Előre is köszi

pimre Creative Commons License 2013.12.12 0 0 23394

:-)))

 

A következő kérdésem nem igazán Excel ismereteket kíván, de hátha tudja valaki: Amikor a Windows XP alatt keresek, akkor lehetőség van arra, hogy az "egy szó, vagy kifejezés a fájlban" opciót használjam. Azon már szomorúan túltettem magam, hogy az Excel táblázatokban található számokra ez nem érvényes, nyilván a számábrázolás sajátosságai miatt.

Ugyanakkor néha előfordul, hogy egy VBA forrásszöveg részletre emlékszem, de arra már nem, hogy azt pontosan melyik programomban használtam, viszont szeretném előbányászni.  Sajnos tapasztalatom szerint erre sem terjed ki a keresés. Tud valaki lehetőséget erre? Néha nagyon hasznos lenne.

Előzmény: Törölt nick (23392)
exszajmon Creative Commons License 2013.12.12 0 0 23393

Jól gondoltad Jimmy the hand, nem értettem teljesen, most valamivel közelebb kerültem a makród megéréséhez.

köszi

Előzmény: Törölt nick (23388)
Törölt nick Creative Commons License 2013.12.11 0 0 23392

Mi is élveztük :)

Előzmény: pimre (23391)
pimre Creative Commons License 2013.12.11 0 0 23391

Ellenőriztem a dolgot, és ez valóban megoldotta. Mivel a TakeFocusOnClick=False hatására a vezérlés ugyan átadódik a visszaléptető gomb click eseményére, de a fókusz marad azon a boxon, ahol éppen állunk, így nincs módja az exit funkciónak érvényesülni, csak a visszaléptetés befejezésekor. De addigra már le tudom tiltani az eseményvezérlést, így az exit hatástalan.

 

Mindenesetre jól elbeszélgettem itt magammal:-)

Előzmény: pimre (23390)
pimre Creative Commons License 2013.12.11 0 0 23390

Jelentem, nyomon vagyok! Azt hiszem, hogy a visszaléptető gomb TakeFocusOnClick=False-ra állítása megoldja a dolgot, mert előbb ugrik oda, és csak aztán az Exit funkcióra. 

Előzmény: pimre (23389)
pimre Creative Commons License 2013.12.11 0 0 23389

Egy Userformon végzek adatbeadást. Van egy textboxom, amelyben ellenőrzöm a bevitt adatokat. Konkrétan éppen egy irányítószámot. Az Exit funkcióban ellenőrzöm a szám hosszát, és ha nem 4, akkor figyelmeztetem a felhasználó, és nem engedem ki a boxból.

 

Ugyanakkor van egy CommandButtonom, ami az adatbevitel mentés nélküli félbehagyását éri el, és visszatér a menüre.

 

A mentés nélkül tehát azt jelenti, hogy a textboxba történő írást is félbe kell hagyni (hiszen, lehet, hogy utána kell nézni a helyes adatnak). Viszont az exit funkció természetesen nem tudja, hogy Enterrel, vagy valamelyik vezérlő elemre kattintva léptem ki a boxból, így a félbehagyást jelző cmd gomb megnyomásáról sem tud.

 

Van arra valamilyen mód, hogy megállapítsam az éppen kiválasztott következő vezérlőelem nevét?

Törölt nick Creative Commons License 2013.12.10 0 0 23388

Nem vagyok benne biztos, hogy azt értetted, amit mondani akartam, úgyhogy még egy kis kiegészítés.

 

Az Option Base arra az esetre vonatkozik, amikor egy tömbváltozót deklarálsz a szubrutin elején.

Pl.

Sub akármi()

Dim Tömb(10)

...

End Sub

 

Option Base 1 esetén a Tömb 1-től 10-ig indexelt, Option Base 0 esetén pedig 0-tól 10-ig.

 

A Split függvénnyel azonban megkerülöd a deklarációt, és direktben létrehozol egy tömböt. Ha megnézed a makrót, az arrMunkalapok változó nem tömbként van deklarálva, hanem Variant-ként. Ez az a típus, ami minden értéket képes befogadni, még objektumokat is. A Split függvény csinál a Variant típusból tömböt.

 

A Split függvény pedig úgy van megírva microsoftilag, hogy az általa létrehozott tömb 0-ról indul. De az Option Base ettől függetlenül továbbra is érvényes a Dim-mel létrehozott tömbökre.

Előzmény: exszajmon (23387)
exszajmon Creative Commons License 2013.12.10 0 0 23387

Köszi szépen, ezek szerint ez a függvény 0-tól indul. Nem probléma, ha nem 1-gyel kezdődik, csak nem értettem, mivel azt olvastam, hogy a tömbök alap esetben 0-tól indulnak de az option base  paranccsal módosítani lehet, akkor ezek szerint ezt nem lehet.

mégegyszer köszi

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

Súgó mondja:

 

Split Function

       

Description

Returns a zero-based, one-dimensional array containing a specified number of substrings.

 

Innentől kezdve szerintem mindegy, hogy Option Base-be mit adsz meg.

Fontos lenne, hogy 1-től induljon?

Előzmény: exszajmon (23385)
exszajmon Creative Commons License 2013.12.10 0 0 23385

Kedves Jimmy the Hand, kedves Mindenki!

 

Kipróbáltam az alábbi kódodat és jól működik. Egy apróságban kérném a segítséged vagy bárki más segítségét, biztos tudjátok mi lehet a probléma.

Itt a tömb elemein lépked végig a ciklusszámláló, és nullától indul, ha az eljárás elé írom az option base 1-et akkor elvileg 1-től indulna a számláló. Valamiért továbbra is nulla lesz az első elem indexe. Mi lehet a gond?

 

Üdv:

Szajmon

 

Sub ciklus2()
    Const cMunkalapok = "Management Accounts Hotel/Management Accounts Apartments/Rooms/F&B Summary"
    Const cPrintAreak = "AN1:BZ70/AN1:BZ110/AN1:BZ199/AN1:BZ134"
    Dim inti As Integer, arrMunkalapok, arrPrintareak, ws As Worksheet
    
    arrMunkalapok = Split(cMunkalapok, "/")
    arrPrintareak = Split(cPrintAreak, "/")
    For inti = LBound(arrMunkalapok) To UBound(arrMunkalapok)
        On Error GoTo hiba
        Set ws = ThisWorkbook.Worksheets(arrMunkalapok(inti))
        ws.PageSetup.PrintArea = arrPrintareak(inti)
        If ws.Visible <> xlSheetVisible Then
            ws.Visible = xlSheetVisible
            ws.PrintOut Copies:=1
            ws.Visible = xlSheetHidden
        Else
            ws.PrintOut Copies:=1
        End If
hibaután:
    Next
    Exit Sub
hiba:
    MsgBox "A '" & arrMunkalapok(inti) & "' nevű munkalap nem található."
    Debug.Print Err.Number, Err.Description
    Resume hibaután
End Sub

Előzmény: Törölt nick (22280)
Delila10 Creative Commons License 2013.12.10 0 0 23384

:))

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

:)

Ez is jó megfogalmazás: "halála előtt pár évvel"

Születése után pár tucat évvel?

Előzmény: Delila10 (23381)
Sánta Kutya (SK) Creative Commons License 2013.12.10 0 0 23382

Létezik az az összeg.

Helyesírási versenyen kaptam az alábbi mondatot: "Az aradi vértanúk közül Dessewffy Arisztid nevét nem tudom szótagolva leírni." Természetesen szótagolva.

Előzmény: Törölt nick (23380)
Delila10 Creative Commons License 2013.12.10 0 0 23381

Teller Ede atomfizikus halála előtt pár évvel ezt mondta Pakson:

"...Új jeles felfedezésem, miszerint egy nyelv van, s az a magyar." (Mai Nap, Budapest, 1991. 9.)

 

Dürrenmatt mesélte, aki egy német írótól hallotta:

A világon a két legnehezebb nyelv a portugál és a magyar, de ezek közül a magyar olyan nehéz, hogy azt még a portugálok sem értik.

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

Köszönöm a megoldást, igazából viccből kérdeztem.

A minap olvastam egy cikket az amerikairól, aki a CNN-en a magyar nyelv nehézségét taglalja. Meg eszembe jutott egy külföldi diák, aki egyszer azt mondta a magyar nyelvről, hogy tök logikus a felépítése, csak az a baj, hogy minden második eset kivétel a szabályok alól :)

 

Nemrég kezembe került egy nyelvtani tananyag, ami a tulajdonnevek helyesírását fejtegeti. Hát, tudod... Thewrewk (török) meg Georch (görcs) meg hasonlók... Bat-thyá-ny? Thew-rew-köt??? Nem mondom, hogy ezeket nem lehet mind megtanulni, de én sem fogok a kardomba dőlni, ha véletlenül nem tudom valamelyiket.

 

És mindezt leprogramozni milyen üdítő lehet :)

 

Mondjuk az lenne a feladat, hogy írjál programot excelben, ami egy tetszőleges magyar szó szótagolós elválasztását elvégzi. Hogy tetszik? :-)

Előzmény: Sánta Kutya (SK) (23379)
Sánta Kutya (SK) Creative Commons License 2013.12.10 0 0 23379
Előzmény: Sánta Kutya (SK) (23378)
Sánta Kutya (SK) Creative Commons License 2013.12.10 0 0 23378

Bocsánat, nem figyeltem, a toldalékolásra koncentráltam! Pedig az elválasztás volt a kérdés.

Shakes-peare-rel (az eredeti szó két magánhangzót tartalmaz).

 

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

Teljesen alapszintű feladat, Shakespeare-rel (néma e a végén).

Inkább az a baj, hogy kezd elterjedni az az idióta szokás, hogy mindenhova kötőjelet tesznek, ha idegen szó, sőt már akkor is, ha magyar.

 

Előzmény: Törölt nick (23375)
pimre Creative Commons License 2013.12.10 0 0 23376

Inkább új sorba írnám, egyben:-), mint a rendőr, aki áthúzatta a döglött lovat a Rottenbiller utcából a Király utcába.

(Az nem lenne sportszerű, ha rákeresnék az angol elválasztási szabályokra)

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

Hogy választod el írásban azt a szót, ami fonetikusan így hangzik: "sékszpírrel"?

:)

Előzmény: pimre (23374)
pimre Creative Commons License 2013.12.10 0 0 23374

Köszönöm mindenkinek a válaszokat. Különösen Delilának ezt.

 

Egyébként pedig elnézést kérek a következő mondatomért: "...az Option Compare Text utasítás segít abban, hogy a stringek összehasonlításánál az adott nyelvi beállításokat - esetünkben magyar ABC szabályait - érvényesítse a program. "

 

Szóval, amit a magyar ABC szabályainak véltem, az csak az én képzeletemben élt. És bár a nyelvhelyességet világéletemben fontosnak tartottam, a betűrendbe sorolás kérdése elkerülte a figyelmemet. Mostanáig azt képzeltem, hogy amit bebifláztam gyermekként (a, á, b, c ...), az érvényes a rendezésre is. 

Még egy ilyen hiányosságomról tudok a magyar nyelvtanban, az pedig a kötőjelek helyes használata. De ezt már nem biztos, hogy képes leszek valaha is pótolni:-)

Előzmény: Delila10 (23370)
tbando Creative Commons License 2013.12.09 0 0 23373

Oh  :)))))))))))

Előzmény: Delila10 (23370)
Delila10 Creative Commons License 2013.12.09 0 0 23372

Köszönöm. :)

 

Azt hiszem, ezen a fórumon olvastam anno a megoldást.

Előzmény: Fferi50 (23371)
Fferi50 Creative Commons License 2013.12.09 0 0 23371

Szia!

 

Igen! Nagy piros pont Neked!

 

Üdv.

Előzmény: Delila10 (23370)
Delila10 Creative Commons License 2013.12.09 0 0 23370

Rendezés magyar ABC szerint:
Vezérlőpult | Területi és nyelvi beállítások | Területi beállítások fül | Testreszabás gombon katt | Rendezés fül | Lenyílóból a Technikai lehetőséget választjuk, végig okézzuk.


Természetesen az alapértelmezett területi beállítás Magyar kell hogy legyen.

tbando Creative Commons License 2013.12.09 0 0 23369

Most látom hogy ny-betüt a chr(9)-re cseréltem. Valszeg így is jó, bár a 209-re terveztem :)))). 

Előzmény: tbando (23368)
tbando Creative Commons License 2013.12.09 0 0 23368

Szia!

 

Quicksortért cserébe egy a te izlésed szerinti  abc sorbarendezés az aktiv munkalapon.  Az ékezetes betük helyes rendezését  a szövegből oszopok, a kettős betűkét a nem abc karakterekre való  oda-vissza cserélés biztosítja.  A szóközöket  kitöröltem,  hogy az Aba Pétert előbbre sorolja mint az Abasári Rizlinget.

 

A futtatáshoz ki  kell jelölni a sorbarendezendő nevek oszlopát.  Ebben a formában az első 10 betű és a maradék alapján rendez, de ezt persze átírhatod. Ha a nevek rendezésekor  a táblázatod többi oszlopát is mozgatni akarod, akkor az 5. pontban bővítheted az oszlopszámot.

 

Sub pimreabc()

 

Dim oszl, sor1, sor2, i

Dim cs, gy, ny, sz, zs, ly, ty

 

''1. selection parameterek, kisegítő oszlopok betoldása es duplikalas

 

oszl = Selection.Column

sor1 = Selection.Row

sor2 = Selection.Rows.Count

sor2 = sor1 + sor2 - 1

 

Range(Cells(sor1, oszl + 1), Cells(sor1, oszl + 11)).EntireColumn.Insert

Selection.Copy Cells(sor1, oszl + 1)

 

''2. kettos betuk csereje nem abc karakterekre

 

cs = Chr(198)

gy = Chr(199)

ny = Chr(9)

zs = Chr(142)

ly = Chr(197)

sz = Chr(200)

ty = Chr(223)

 

Range(Cells(sor1, oszl + 1), Cells(sor2, oszl + 1)).Select

   

    Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _

        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _

        ReplaceFormat:=False

   

    Selection.Replace What:="cs", Replacement:=cs, LookAt:= _

        xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _

        ReplaceFormat:=False

    Selection.Replace What:="gy", Replacement:=gy, LookAt:= _

        xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _

        ReplaceFormat:=False

Selection.Replace What:="ny", Replacement:=ny, LookAt:= _

        xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _

        ReplaceFormat:=False

Selection.Replace What:="sz", Replacement:=sz, LookAt:= _

        xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _

        ReplaceFormat:=False

Selection.Replace What:="zs", Replacement:=zs, LookAt:= _

        xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _

        ReplaceFormat:=False

Selection.Replace What:="ly", Replacement:=ly, LookAt:= _

        xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _

        ReplaceFormat:=False

Selection.Replace What:="ty", Replacement:=ty, LookAt:= _

        xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _

        ReplaceFormat:=False

 

''3. sz0vegbol oszlopok

 

Selection.TextToColumns ActiveCell, DataType:=xlFixedWidth, _

        FieldInfo:=Array(Array(0, 1), Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array _

        (5, 1), Array(6, 1), Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)), _

        TrailingMinusNumbers:=True

 

''4 Nem abc karakterek visszaalakitasa kettos betukke

 

Range(Cells(sor1, oszl + 1), Cells(sor2, oszl + 11)).Select

 

Selection.Replace What:=cs, Replacement:="cs", LookAt:= _

        xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _

        ReplaceFormat:=False

    Selection.Replace What:=gy, Replacement:="gy", LookAt:= _

        xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _

        ReplaceFormat:=False

Selection.Replace What:=ny, Replacement:="ny", LookAt:= _

        xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _

        ReplaceFormat:=False

Selection.Replace What:=sz, Replacement:="sz", LookAt:= _

        xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _

        ReplaceFormat:=False

Selection.Replace What:=zs, Replacement:="zs", LookAt:= _

        xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _

        ReplaceFormat:=False

Selection.Replace What:=ly, Replacement:="ly", LookAt:= _

        xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _

        ReplaceFormat:=False

Selection.Replace What:=ty, Replacement:="ty", LookAt:= _

        xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _

        ReplaceFormat:=False

 

''5 sorbarendezes

 

 

ActiveSheet.Sort.SortFields.Clear

   

   For i = 1 To 11

   ActiveSheet.Sort.SortFields.Add Key:=Range(Cells(sor1, oszl + i), Cells(sor2, oszl + i)) _

        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

    Next i

    With ActiveSheet.Sort

        .SetRange Range(Cells(sor1, oszl), Cells(sor2, oszl + 11))

        .Header = xlGuess

        .MatchCase = False

        .Orientation = xlTopToBottom

        .SortMethod = xlPinYin

        .Apply

    End With

 

''7. kisegito oszlopok torlese

Range(Cells(sor1, oszl + 1), Cells(sor1, oszl + 11)).EntireColumn.Delete

 

End Sub

 

 

 

Előzmény: pimre (23354)
tbando Creative Commons License 2013.12.09 0 0 23367

Az excellel minden megoldható :)))).  Itt van még egy megoldás:

 

Mivel a szóló ékezes betüket az excel a magyar abc szerint rendezi, a szövegből oszlopot paranccsal  a karaktereket  külön oszlopba téve  már megoldható az ékezetes betük pimre féle sorrendje. Így persze a kettős betűk sorrendje borulhat, de ez  praktikusan csak c/cs esetében fordulhat elő, ott is csak elvétve.

 

Az alábbi makró az első 10 betűt teszi külön oszlopokba, amikre aztán egy 11 rendezési kulcsos sorbarendezéső makró írható. Már amennyiben ez tényleg fontos.

 

Selection.TextToColumns ActiveCell, DataType:=xlFixedWidth, _

        FieldInfo:=Array(Array(0, 1), Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array _

        (5, 1), Array(6, 1), Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)), _

        TrailingMinusNumbers:=True

 

 

Előzmény: Sánta Kutya (SK) (23365)
Fferi50 Creative Commons License 2013.12.08 0 0 23366

Szia!

 

Rendben, igazad van!

Ebből vették:

MTA A magyar helyesírás szabályai

http://mek.oszk.hu/01500/01547/01547.pdf

 

Üdv.

Előzmény: Sánta Kutya (SK) (23364)
Sánta Kutya (SK) Creative Commons License 2013.12.08 0 0 23365

Ez egy jó ötlet, ha valaki nem a hivatalos rendezést akarja csinálni, hanem sajátot.

Biztos, hogy megoldható, hiszen ha makrórögzítővel felveszel egy ilyen rendezést, kapsz egy kódot. Ahhoz persze kell mondjuk egy rejtett oszlop, amit akár ideiglenesen is fel lehet venni és törölni képernyőfrissítés letiltásával, amíg tart a rendezés, és akkor nem látja a user.

 

A másik lehetőség, ha rendezőkulcsnak meg lehet adni egy függvényt is. A Python nyelv például tudja ezt. Nem tudom, a VBA tud-e ilyent. Ha igen, akkor elegánsabb úgy, mint a fenti módszerrel.

Előzmény: tbando (23359)
Sánta Kutya (SK) Creative Commons License 2013.12.08 0 0 23364

Ez a Wikiforrás (Wikisource), nem a Wikipédia.

Előzmény: Fferi50 (23361)
Fferi50 Creative Commons License 2013.12.08 0 0 23363

Szia!

Megelőztél amíg összeszedtem a hozzászólásomat.

Szóló betűknél az az elv érvényes, hogy a rövid előrébb van, ahogy azt az idézet is mondja, és a szóló betű kerül legelőre.

 

Üdv.

 

Előzmény: Sánta Kutya (SK) (23357)
Sánta Kutya (SK) Creative Commons License 2013.12.08 0 0 23362

Teljesen logikus és jó, pont erről beszéltem.

Előzmény: tbando (23360)
Fferi50 Creative Commons License 2013.12.08 0 0 23361

Szia!

 

Nem akarlak elkeseríteni, de az Excel jobban tudja a magyar szabályokat mint mi: 

Idézet a Wikipédiából: (http://hu.wikisource.org/wiki/A_magyar_helyes%C3%ADr%C3%A1s_szab%C3%A1lyai/A_bet%C5%B1k)

 A magánhangzók rövid és hosszú változatát jelölő betűk (a – á, e – é, i – í, o – ó, ö – ő, u – ú, ü – ű) a kialakult szokás szerint mind a szavak elején, mind pedig a szavak belsejében azonos értékűnek számítanak a betűrendbe sorolás szempontjából. A magánhangzó hosszú változatát tartalmazó szó tehát meg is előzheti a rövid változatút:

ír       Irán     író

Irak   írandó iroda

iram  iránt    irónia stb.

 

A rövid magánhangzós szó kerül viszont előbbre olyankor, ha két szó betűsora csak az azonos magán­hangzók hosszúsága tekintetében különbözik:

Eger   keres   szelel

egér   kérés   szeles

éger   koros   szelés

égés   kóros    széles

 

A kettősbetűket pedig megelőzik az egyesek (mármint ny előbb van mint nz, úgy ahogy az előbb is írtam).

 

Nagy lexikonokban is keverednek a rövid-hosszú magánhangzós szavak: pl:állvány alma .......Álmos ...álnév ... áloé ....alom

idézet az Új Magyar Lexikonból (1960-as kiadás).

 

Üdv.

Előzmény: pimre (23354)
tbando Creative Commons License 2013.12.08 0 0 23360

Az excelnél ezek a sorrendek: bele-belé, de belég-belet :))))

Előzmény: Sánta Kutya (SK) (23357)
tbando Creative Commons License 2013.12.08 0 0 23359

Amiből az is következik, hogy az első betűre viszonylag könnyen rendezheted a neveket a magyar ábc szerint. Csak annyi kell, hogy a BAL függvénnyel leválasztod az első betüket, és 2 oszlopos rendezést csinálsz. Persze ez csak a munkalapon egyszerű, a vba-tömbökben nem tudom, hogy lehet-e ilyen rendezést csinálni.

Előzmény: tbando (23356)
Sánta Kutya (SK) Creative Commons License 2013.12.08 0 0 23358

Pontosabban kétféle módszer van, de a hivatalos, szótári és könyvtári rendezés ez. Magáncélra lehet használni olyat is, ahol az e és é különbözik.

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

Lehet, hogy kiábrándítok valakit, de a rendezés szempontjából az a-á és az e-é között nincs különbség a magyarban. Tessék elővenni bármelyik szótárat, akár helyesírásit, akár magyar–idegen nyelvűt. Az ében és az Elemér ebben a sorrendben helyes. Szóló betűknél nem tudom, miért állít be sorrendet, lehet, hogy ott más elv szerint dolgozik, vagy úgy tekinti, hogy a két szó majdnem egyforma, csak az utolsó betűben különböznek, és akkor mégis kell valamilyen rendező elv. Lehet, hogy a bele, belé esetén is ez történne, most nem kísérletezem.

 

Tehát jó lenne látni pimre példáit, hogy tudjuk: az Excel működésében van a hiba vagy az elvárásokban?

Előzmény: tbando (23355)
tbando Creative Commons License 2013.12.08 0 0 23356

De mégsem teljesen azonos értéküek, mert a szóló betűket már jól rakja sorrendbe. Tehát növekvőben az é-e sorrendet megcseréli.

Kicsit komplikált :))))

Előzmény: tbando (23355)
tbando Creative Commons License 2013.12.08 0 0 23355

Nekem úgy tűnik, hogy a kettős betükkel szemben, az AÁ és az EÉ betüpárokat a munkalap is azonosnak tekinti. Meg temészetesen az IÍ, OÓ, ÖŐ, UÚ, ÜÚ betűpárokat is. Tehát amig cucu-csacsi sorrend a magyar abc szerinti, addig az ében-elemér már nem. 

Előzmény: pimre (23354)
pimre Creative Commons License 2013.12.08 0 0 23354

Szia, ugyanarra gondolok, amit Te is tapasztalsz. Azaz, hogy a sort parancs használatakor nem tudom elérni, hogy a területi beállítások szerinti sorrendet kapjam. Nem tragédia, csak érdekelt volna, hogy erre tényleg nincs-e lehetőség. Persze nagyon körmönfont programozási technikával biztos megoldható, csak alapból nem. 

Mellesleg a z<->y esetben ez kevéssé feltűnő, de az ékezetes karaktereknél feltűnően nem szép, ha keverten látjuk azokat a saját ékezet nélküli párjukkal.

Előzmény: Fferi50 (23353)
Fferi50 Creative Commons License 2013.12.08 0 0 23353

Szia!

 

Mire gondolsz?

Mert nekem az anziksz és az anya összehasonlítása Option Compare Text-tel azt eredményezi, hogy az anziksz van elől, anélkül pedig az anya szó kerül előre.

A range("A1:A2").sort pedig mindkét esetben az anziksz, anya sorrendet hozza programból.

Írnál egy példát?

 

Üdv.

 

 

 

Előzmény: pimre (23352)
pimre Creative Commons License 2013.12.08 0 0 23352

Másfél hónapja tisztáztuk, hogy az Option Compare Text utasítás segít abban, hogy a stringek összehasonlításánál az adott nyelvi beállításokat - esetünkben magyar ABC szabályait - érvényesítse a program. 

 

Viszont úgy tapasztalom, hogy a programban a sort parancs esetén ez nem működik. Jól gondolom, hogy erre nincs is megoldás?

Előzmény: pimre (22870)
champ1 Creative Commons License 2013.12.08 0 0 23351

oké, már rá is jöttem!!! :-)

köszi

Előzmény: champ1 (23350)
champ1 Creative Commons License 2013.12.08 0 0 23350

csináltam vele egy hosszabb kísérletet, és műkodik, de nem a b oszlopba írja, mellé, hanem 4 sorral lejjebb...

én is keresem az okát

Előzmény: champ1 (23349)
champ1 Creative Commons License 2013.12.08 0 0 23349

Szia!

köszi a gyors választ!

kipróbáltam, nem mőködik egyenlőre. biztosan valamit elrontok, de nem jelez, hogy dupla. Nem tudom jól értetted-e hogy mit szeretnék.

van az "a" oszlop, ahová beérkeznek a vonalkód adatok. Ha beérkezik egy olyan adat,amit már egyszer beolvastam valamikor (mondjuk 50 sorral ezelőtt) akkor jelezzen, hogy dupla. Így kellene működnie a képletednek, amit adtál?  

Előzmény: tbando (23348)
tbando Creative Commons License 2013.12.08 0 0 23348

Természetesen nem a B1 oszlopba, hanem a B1 cellába  :(((((.

Előzmény: tbando (23347)
tbando Creative Commons License 2013.12.08 0 0 23347

Alkalmazhatod rá a darabteli-t.

 

Ha az A oszlopba kerül a vonakódszám, akkor B1 oszlopba írd ezt: =Ha(darabteli(A$1:A1;A1)>1;"DUPLA";"")

 

Ha bekapcsolod a képletek folytatása opciót, akkor ennyi elég. Ha nem, akkor B oszlopon végighuzod a B1 képletet.

Előzmény: champ1 (23346)
champ1 Creative Commons License 2013.12.07 0 0 23346

Sziasztok,

Mivel tudnám megoldani a következőt?

Vonalkód olvasóval olvasom be a kódokat az excel cellába, és az lenne a feladat, hogy ha már egyszer beolvasott egy számot, és már másodszor szeretném (véletlenül), azt rögtön jelezze...

Előre is köszi az ötleteket

Ro0oBi Creative Commons License 2013.12.07 0 0 23345

Hát ez óriási! Nagyon szépen köszönöm a segítséget és a türelmet, hogy ennyire leegyszerűsítve elmagyaráztad! Így mostmár nem csak a feladat oldódott meg, de meg is értettem a lényeget! Le a kalappal!!!

Előzmény: Fferi50 (23344)
Fferi50 Creative Commons License 2013.12.07 0 0 23344

A bibi a következő: 

Ha az éves 6% kamatrátát elosztod 12-vel és azt írod be, az nagyon jó közelítés, de nem pontos - főleg magasabb kamatlábak esetén - mivel az adott havi kamat tőkésedik (azaz kamatos kamat a számítás).

Ezért ha 12 hónap alatt  a 6% tizenketted részét veszed havonta, akkor az 1 forintod az év végére

        (1+0,06/12)^12-1=6,16778118645 %-os éves kamatnak felel meg.

A MÉ és minden pénzügyi képlet a kamatos kamattal számol.

Ha tehát azt akarod, hogy tényleges éves 6%-os kamattal számoljon a képlet, akkor a rátához

nem 0,06/12-t kell beírnod, hanem (1+0,06)^(1/12) - 1-et, vagyis a 6 %-os kamattényezőnek a tizenkettedik gyökéből számított  - havi - kamatlábat.

 

Ez a képletben néhány forinttal nagyobb összeget fog adni jelenértéknek, mivel a kamatláb alacsonyabb.

(Ajánlom még figyelmedbe a pénz időértékéről szóló írásokat.)

 

Üdv.

Sánta Kutya (SK) Creative Commons License 2013.12.07 0 0 23343

Bocs, de ebbe most nincs kedvem beleásni magam, talán majd valaki más... Ezt a függvényt az életben nem használtam még, és nem ma este fogom teli hassal elkezdeni.

Előzmény: Ro0oBi (23342)
Ro0oBi Creative Commons License 2013.12.07 0 0 23342

Pfú nagyon köszönöm, nagyban elősegítetted a megértést!

Még csak egy olyan kérdés, hogy a vázolt feladatban a MÉ függvényt használva: 23 354, 05 jött ki eredményül.

Most pedig a Te útmutatásod alapján írtam egy ilyen képletet: =((2000*(1+(0.06/12)/(100))^12)-1)*12 és ezzel  24002.4 jön ki akkor most ez lenne a pontos érték? Vagy valamit esetleg elrontottam a képletben?

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

6% az nem 6, hanem 0,06. A 0,005 a 0,5%-nak a tizedestört alakja, de ez nem Excel, hanem számtan. Ha az Excelben ez problémát okoz, akkor nem jó a cella formázása.

 

Az egy elvi kérdés, hogy éves vagy havi kamatlábbal számol a bank. Vagyis mennyi időnként írják jóvá. Ha havonta x% a kamat, akkor egy év alatt nyilván (1+x/100)^12 a szorzó, hiszen a második hónapban már az első havi kamattal megnövelt összeg hízik tovább. Ebből visszafelé ki lehet találni, mi dolga a 12-ik gyöknek. De ez is számtan.

Előzmény: Ro0oBi (23340)
Ro0oBi Creative Commons License 2013.12.07 0 0 23340

Sziasztok! Következő feladatot kaptam a tanáromtól:
Pénzügyileg melyik a kedvezőbb? 12 hónapon keresztül megvásárolni a bérletet minden hónap elején 2000 Ft-ért, vagy éves bérletet venni év elején 23 000 FT-ért? A kamtláb évi 6%)

Adatok:
A1 cella: 12
A2 cella: 0,005
A3 cella: 2000
A4 cellába meghívom az MÉ függvényt és kiszámolja, 23 354,05-t hoz ki eredménynek.
Ráta: A2
Időszakok száma: A1
Részlet: A3
Típus: 1
Ez így rendben is van azt mondta így elfogadja a megoldást. DE! Azt mondta ez így egy kerekítés és aki több pontot szeretne az a 12.-ik gyökkel számoljon.
Nem tudok rájönni mit ért ez alatt már mint hova kellene beírni és melyik számnak a 12.-ik gyökét valaki érti esetleg? Ennél több infót nem adott, pontosan lejegyeztem mindent...Nagyon nagyon örülnék ha valaki megfejtené ezt!

U.I.: Mellesleg már az sem teljesen világos, hogy ha az éves kamatláb 6% akkor a havi miért/hogy lesz 0,005. Mikor 6/12=0,5-el. Akkor honnan jön ez a 0,005!?

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

Törölt nick Creative Commons License 2013.12.05 0 0 23339

Gyere máskor is :)

 

Egyébként te vezettél rá a megoldásra. Ha nem írod be 23315-ben, hogy hogy lehet egzakt módon méretre állítani a képet, én nem biztos, hogy rájövök, és akkor még mindig egy zsákutcának tűnő sikátorban botorkálnék, messze a megoldástól.

 

 

 

Előzmény: JT2 (23336)
Fferi50 Creative Commons License 2013.12.05 0 0 23338

Szia!

 

Select ügyben abszolút egyetértek veled. Vannak azonban olyan esetek - sajnos - amikor a nyavalyás excel csak akkor hajlandó az adott objektumon végrehajtani a kívánt módosításokat, ha az éppen ki van választva. Most éppen nem tudok ilyen példát hirtelen, de szívtam már egy-két esetben emiatt.

 

Talán az application.dialogs(xx).show-val lehetne valamit csinálni, de még nem jutottam el odáig, hogy kipróbáljam, a help és az MSDN pedig ebben a tekintetben abszolut 0-hoz közelít.

 

Üdv.

Előzmény: Törölt nick (23335)
Sánta Kutya (SK) Creative Commons License 2013.12.05 0 0 23337

Köszönöm a válaszokat! Nagyon kellene már egy tudástár. :-(

Előzmény: Törölt nick (23335)
JT2 Creative Commons License 2013.12.05 0 0 23336

Jimmy...... le a kalappal előtted. Köszönöm!

 

Mivel én nem konyítok a makróhoz .....ssssssemmit...már az is teljesítmény részemről, hogy amit küldtél, be tudtam másolni ahova kell, hogy működjön.

És voila....megoldotta a problémámat - még ha szerinted vagy bárki szerint is ez nem szép megoldás. De legalább van!!!

Mellesleg úgy érzem magam ezen az oldalon, mint egy általános elsős az egyetemisták között. Épp, hogy ismerkedem a betükkel. Csak nagyra tárt szemmekkel figyelek. Egy kukkot sem értek az egész oldalból, agyaltam is rajta, hogy merjek-e regisztrálni, ezért ezt megelőzően vagy egy egy hónapon át inkább próbáltam innen-onnan megoldást szerezni a problémámra de sikertelenül. Szóval a szükség hozott ide mielőtt feladnám de sikerrel jártam.

Mégegyszer köszönet. Persze ha ezt még tudod tökéletesíteni, hogy szerinted is "szép megoldás" legyen küldjed csak, kiváncsian várom!

 

Köszönet neked is Fferi50 és mindenki másnak is, aki bármilyen próbálkozást tett a probléma megoldására.

Előzmény: Törölt nick (23331)
Törölt nick Creative Commons License 2013.12.05 0 0 23335

A Select ellen régóta kampányolok itt, mert az esetek döntő többségében fölösleges. Azért Select-álsz valamit, hogy aztán a Selection által hivatkozott objektumon hajts végre valami műveletet. Ennek mi értelme? Az objektumokat direkben kell meghivatkozni, egyértelmű elérési úttal. Ha az objektumokra Selection-nel hivatkozol, akkor a kódod annyira lesz robusztus, mint mondjuk a kártyavár. Ráadásul a kód megírását is bonyolultabbá teszi. Próbáld ki. Másold be a kódmodulra ezeket:

Sub teszt()

   'Select
   Range("A1").Select
   Selection


   'No select
   Range("A1")
End Sub

 

Tegyél a Selection után pontot, mintha pl. az Interior.ColorIndex-et akarnád beállítani. Mit tapasztalsz?

Most tegyél a Range("A1") után pontot, mintha pl. az Interior.ColorIndex-et akarnád beállítani. Mit tapasztalsz?

 

Az intellisense (intelligens kódkiegészítő) nem működik Selection-nel, mert f.ngja nincs, hogy a Selection milyen ojektumot takar. Range("A1") esetében tudja, és ezért csak azokat a tulajdonságokat és műveleteket hozza fel, amelyek a Range típusú objektumra értelmezettek.

 

A SendKeys meg végképp a programozás megcsúfolása. A legbizonytalanabb kimenetelű dolog, amit Excelben el tudok képzelni. A bolygók állásától talán nem függ az eredménye, de minden mástól igen. Vészhelyzetben oké lehet, de minden más esetben kerülendő. Például vegyük azt a kódot, amit beküldtem. Mi van, ha pl. elszámoltam a TAB-okat, és rossz helyen "nyomok" ENTER-t? Vagy mi van, ha az Excelnek idő kell, hogy egy SendKeys-sel indított feladatot végrehajtson, és addig nem tud fogadni új billentyűparancsokat, de a kódom meg rendületlenül küldi őket? A gép sebességétől függő számú lépés kimarad, aztán megy tovább?

Előzmény: Sánta Kutya (SK) (23332)
pimre Creative Commons License 2013.12.05 0 0 23334

Hogy ne kelljen Jimmynek elismételnie a mostanában a témában elhangzottakat, készítettem egy kis összeállítást az elmúlt negyedévben itt született indoklásokról a select utasítás mellőzésének érdekében:

 

Egy munkalap használatához (nyomtatásához) nem kell a select: http://forum.index.hu/Article/viewArticle?a=127139728&t=9009340

 

Másoláshoz sem kell: http://forum.index.hu/Article/viewArticle?a=127141602&t=9009340 és http://forum.index.hu/Article/viewArticle?a=127200457&t=9009340

 

Itt egy kicsit részletesebb indoklás: http://forum.index.hu/Article/viewArticle?a=127561473&t=9009340 és egy másik: http://forum.index.hu/Article/viewArticle?a=127584953&t=9009340. Az utóbbi egyik mondatához „A select utasítás csak az aktív munkalapon működik.” tartozik egy kiegészítés: A képernyőfrissítésnek ezalatt nem szabad tiltva lennie (tehát az Application.ScreenUpdating értéke True kell, hogy legyen), különben nem érvényesül.

 

Ráadásul kompatibilitási problémákat is okozhat a 2003-as és 2007-es verzió között: http://forum.index.hu/Article/viewArticle?a=127842112&t=9009340

 

 

Előzmény: Sánta Kutya (SK) (23332)
enyan Creative Commons License 2013.12.05 0 0 23333

Hibátlan, működik faszán. Kisebb-nagyobb változtatásokat remélhetőleg én is tudok majd eszközölni rajta.

 

Köszi szépen!

Előzmény: Fferi50 (23296)
Sánta Kutya (SK) Creative Commons License 2013.12.05 0 0 23332

Miért kerülendők?

Előzmény: Törölt nick (23330)
Törölt nick Creative Commons License 2013.12.05 0 0 23331

Ha rejtett Comment-ek vannak, azokat előbb meg kell jeleníteni, hogy a Select ne akadjon ki:

 

Sub Megjegyzem()
    Dim sh As Shape, cm As Comment, i As Long
    For i = 1 To 2
        For Each cm In ActiveSheet.Comments
            cm.Visible = True
            Set sh = cm.Shape
            sh.Select
            DoEvents
            Application.SendKeys "^1"
            Application.SendKeys "{TAB}"
            Application.SendKeys "{TAB}"
            Application.SendKeys "{TAB}"
            Application.SendKeys "{TAB}"
            Application.SendKeys "{TAB}"
            Application.SendKeys "{TAB}"
            Application.SendKeys "{TAB}"
            Application.SendKeys "{ENTER}"
            Application.SendKeys "{TAB}"
            Application.SendKeys "{ENTER}"
            cm.Visible = False
        Next
    Next
End Sub

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

Meg fogom kövezni magam ezért a makróért, de nincs jobb ötletem, mint Select és Sendkeys, a két leginkább kerülendő cucc.

 

Sub Megjegyzem()
    Dim sh As Shape, cm As Comment, i As Long
    For i = 1 To 2
        For Each cm In ActiveSheet.Comments
            Set sh = cm.Shape
            sh.Select
            DoEvents
            Application.SendKeys "^1"
            Application.SendKeys "{TAB}"
            Application.SendKeys "{TAB}"
            Application.SendKeys "{TAB}"
            Application.SendKeys "{TAB}"
            Application.SendKeys "{TAB}"
            Application.SendKeys "{TAB}"
            Application.SendKeys "{TAB}"
            Application.SendKeys "{ENTER}"
            Application.SendKeys "{TAB}"
            Application.SendKeys "{ENTER}"
        Next
    Next
End Sub

 

 

És hogy miért kell a For i = 1 To 2 ciklus?

Halvány lila gőzöm sincs. Azt tapasztaltam, hogy ha nincs ismétlés, akkor az első komment képe kimarad a formázásból. Ha kétszer egymás után lefuttatom ugyanazt, akkor az első is átállítódik.

 

Ami feltétlenül szükséges előkészület:

Egy képen csináld meg méret helyreállítását. Ez azért kell, hogy amikor legközelebb feljön a Megjegyzés formázása ablak, akkor a Méret fül legyen felül.

 

A kód működésére nincs garancia. Az egyik gépemen fut, a másikon nem...

 

Előzmény: JT2 (23315)
Sánta Kutya (SK) Creative Commons License 2013.12.04 0 0 23329

Na jó, az Ecel teljes újraindítása megoldotta. Bill Gates-módszer.

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

Hmm, a másikon is részben elromlott. Ha leveszem az érvényesítést, majd visszateszem, az se segít.

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

Nagyon furcsa dolog történt.

Kitöltendő cellákra adatérvényesítést használok, részben szabály nélkül, csak a felirat kedvéért.

Rákattintva a megjelenő szövegre egy vatag keretet láttam körülötte. Ekkor egérrel odébb lehetett húzni.

Na ez az, amit nem kellett volna. Soha többé nem bírtam visszatenni a helyére, mert akárhogy próbálkozom, innentől fogva az ÖSSZES cella érvényesítő szövege azon a helyen jelenik meg, ahova azt az egyet húztam, bármelyik is legyen az. Akár méterekre a cellától, ahova tartozik. És nem lehet visszavonni. Mentést meg nem csináltam közvetlenül előtte.

Szerencsére két hasonló táblázatom van, a rontottat eldobtam, majd visszamentem a másikból.

tbando Creative Commons License 2013.12.04 0 0 23326

A 2007-es excelben is úgy van mint a 2007-ben. A sorvektor hatványozásánál a pontosvessző az elválasztójel, az oszopvektor hatványozásánál pedig a backslash. Nagy meglátásod volt ezt felfedezni, mivel a súgóban erről sehol semmi.

 

És ezzel meg is van a többször visszatért kérdésemre a válasz, hogy mi a fenének kellett transzponálni a LIN.ILL képletben. Mert aki kiokumlálta a képletet, az is annyit tudott, hogy a default elválasztójel csak a sorvektoroknál müködik. Így hát transzponált.  Ahelyett, hogy konzultált volna veled, hogy megmond neki, hogy egyszerűbb lenne backslasht használni :)))))

Előzmény: Fferi50 (23319)
tbando Creative Commons License 2013.12.04 0 0 23325

Szeretnék még megemlíteni neked valamit.  Most hogy megint szóbahoztad hogy dátumok az x változóid, az az érzésem, hogy a trendszámításodhoz a harmadfoku polinomnál sokkal adekvátabb a  Fourier analizís. Az Adatelemzés excelbővítmény tartalmazza.

Előzmény: NPW (23300)
Sánta Kutya (SK) Creative Commons License 2013.12.04 0 0 23324

Igen, köszönöm. Valószínűleg maradok az egy munkalapos verziónál. Ronda, de működni fog. (A probléma egyébként nem bővebb annál, ami le volt itt írva.)

Előzmény: Fferi50 (23314)
Fferi50 Creative Commons License 2013.12.04 0 0 23323

Szia!

 

Valóban, magában a fileban vannak a képek tárolva.

 

Viszont: Mi lenne, ha egyszer rászánnád magad és végigmennél a megjegyzéseken az alábbi makróval:

 

for each cmnt in activesheet.comments

     cmnt.visible=true

     stop

     'itt átmész az adott oldalra és beállítod az alaphelyzetet, utána visszajössz.

    hossz=cmnt.shape.height  ' itt elmentheted a méreteket, ahova akarod, hogy később ne kelljen vele foglalkozni.

    szel=cmnt.shape.width

    cmnt.visible=false

next

 

A méret visszaállítás már a korábban leírt makróval megy, ahova a szélességet, hosszúságot az elmentett helyről veszed.

 

Cserébe még próbálkozom kibányászni az alaphelyzet beállítását - mert a metódus (SetShapesDefaultProperties) meg van rá, csak valamiért nem akarja megenni.

 

Üdv.

Előzmény: JT2 (23322)
JT2 Creative Commons License 2013.12.04 0 0 23322

Szerintem az Excel a megjegyzésekben tárolt képeket nem külön tárolja, hanem a mentett fájlban...ezt a fájl méretéből okoskodtam ki, ami nálam 40Mb körül mozog.

Előzmény: Delila10 (23318)
JT2 Creative Commons License 2013.12.04 0 0 23321

ja, és hátha valakit érdekel e témában ha sok megjegyzéshez lenne kép rendelve és szeretné kibányászni mondjuk az összes képet, elegendő a mentés másként parancsnál weblap-ként menteni. Én is találtam, hasznosnak tartom ezért osztottam meg.

Delila10 Creative Commons License 2013.12.04 0 0 23320

Kipróbáltam, igaz. :)

Előzmény: JT2 (23315)
Fferi50 Creative Commons License 2013.12.04 0 0 23319

Szia!

 

A hivatkozott hozzászólásban láthatod, ha az x adatok sorvektort alkotnak, akkor a hatványvektornak oszlopvektornak kell lennie, azaz nem backslash-sel, hanem pontosvesszővel kell az elemeit elválasztani.

Nálam a 2010-ben működik az alábbi képlet:

=LIN.ILL(G3:K3;G1:K1^{1;2;3})

 

ahol G1:K1 cellák a mai dátum + 4 nap.

 

Kíváncsian várom a Te eredményed!

 

(Hogy a 2007-ben mi a helyzet, talán Tbando tudna valamit mondani)

 

Más: már írtam, statisztikából úgy tanultam (és tanítottam), hogy idősorok trendszámításánál nem a dátumokat használjuk x adatokként, hanem az 1,2,3 ... stb. számokat.

Persze nyilván előfordulhat, hogy a valós számadatokat az excel képes dátumként is értelmezni - aztán számol is velük, mivel egyébként meg számnak tekinti.

 

Üdv.

Előzmény: NPW (23300)
Delila10 Creative Commons License 2013.12.04 0 0 23318

Biztosan tartalmazza a sorokban egy-egy cella a képek útvonalát és nevét.

 

Nagyon zavar, ha egy makró újra betölti a képeket, onnan megjegyzi az eredeti méreteit, és átállítja eszerint a megjegyzés méreteit? A betöltött képet törli. A méreteket el is tárolhatja a saját rekordjába, hogy legközelebb ne kelljen újra betölteni a képet.

Előzmény: JT2 (23315)
JT2 Creative Commons License 2013.12.04 0 0 23317

pontosan

Előzmény: Fferi50 (23316)
Fferi50 Creative Commons License 2013.12.04 0 0 23316

Szia!

 

És akkor visszaáll neked az eredeti méret (a változások előtti)?

 

 

Üdv.

Előzmény: JT2 (23315)
JT2 Creative Commons License 2013.12.04 0 0 23315

megint én!

 

A megjegyzésben tárolt képek eredeti méretének beállítása egyszerű csak automatizálni nem tudom azért kellene a makró.

 

Megjegyzésben tárolt kép eredeti méretre állítása:
- cellára jobb klikk
- megjegyzés szerkesztése
- megjegyzés peremére dupla bal klikk
- méret
- alaphelyzet
- ok

 

ezt a folyamatot viszont nem lehet együtemben megcsinálni akkor, mikor a képet hozzáadtuk a megjegyzéshez.(részemről erre nincs is szükségem)
Tehát előbb le kell okézni, kilépni a szerkesztésből majd a fentebb leírtakkal folytatni.

Fferi50 Creative Commons License 2013.12.04 0 0 23314

Szia!

 

Akkor ennyit tudtam segíteni...

 

Üdv.

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

Ott egy jelszóval levédett Excel-táblázatot fogsz találni, szerintem azzal nem sokra mész...

 

Előzmény: Fferi50 (23312)
Fferi50 Creative Commons License 2013.12.04 0 0 23312

Szia!

 

Adsz egy linket a honlapra?

Ha gondolod lehet priviben is.

 

Üdv.

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

Ja és a makró eleve nem játszik, hiszen a felhasználók egy része eleve nem engedélyezi a külső forrásból származó makrókat. Mindent az Excel alapfunkcióival kell megoldanom.

 

Lehet, hogy az lesz a megoldás, hogy megszüntetem a másik munkalapot, és valahol ugyanazon a munkalapon elrejtett XY oszlopokban sorolom fel az elemeket. Az én életem lesz bonyolultabb tőle, de legalább jól érzi magát valaki Redmondban a bal kettőben...

Előzmény: Fferi50 (23309)
Sánta Kutya (SK) Creative Commons License 2013.12.04 0 0 23310

Ezek nagyon bonyolult megoldások, egyrészt nem is ér ennyi munkát az egész, másrészt ugye itthon szerkesztem a táblázatot Excel 2000-ben, mert az biztos mindenhol megnyílik, elmentem xls-ben, aztán holnap odabent tudom 2010 alatt tesztelni, szóval még csak nem is egy kerületben zajlik a két esemény. :-)

Marad a figyelmeztetés.

Tudtommal a megnyitáskor nem történik verziók közötti konverzió, csak ha másként menti.

Előzmény: Fferi50 (23309)
Fferi50 Creative Commons License 2013.12.04 0 0 23309

Szia!

 

Ha a probléma a mentésnél van, akkor a mentést tedd egy command gombra és a beforesave eseményben makróval mentsd el a megfelelő formátumban a filet.

 

De lehet, hogy már a megnyitáskor van probléma. Ezt lehet kezelni az open eseménybe betett verzió vizsgálattal.

 

De valóban segíthet egy olyan figyelem felhívás is, hogy ne konvertálja, csak kompatibilis módban nyissa meg. Aztán ha nem tartja be, lehet neki hivatkozni a figyelem felhívásra.

(Azt nem tudom, hogy meg lehet-e akadályozni a konvertálást.)

 

Üdv.

Előzmény: Sánta Kutya (SK) (23306)
Fferi50 Creative Commons License 2013.12.04 0 0 23308

Szia!

 

Ahogy én látom, a képek eredeti méretét nem lehet már meghatározni, mert az a tulajdonság nem használható sajnos itt.

Viszont az adott makróval egyrészt ki lehet íratni a jelenlegi méreteket.

Aztán lehet módosítgatni a méreteket tetszés szerint, amíg el nem találod a megfelelőnek látszót.

Azt gondolom, ez is jobb mint a kézzel állítgatás.

Tanulság viszont, hogy mindenképpen el kell tárolni valahova - elővehető módon - az eredeti méreteket.

 

Üdv.

Előzmény: Törölt nick (23298)
tbando Creative Commons License 2013.12.04 0 0 23307

Szerintem tedd fel a 2010-es füzeted a datahura. Feri biztos megnézi, mivel sokat molyoltunk e témán. 

Előzmény: NPW (23300)
Sánta Kutya (SK) Creative Commons License 2013.12.04 0 0 23306

Ez egy olyan űrlap, amit kiteszünk a honlapunkra, ahonnan az emberek letölthetik, és mindenki azzal tölti ki, amije neki van, aztán e-mailben visszaküldi. Ha én nyitogatnám meg, akkor nem lenne ilyen bonyolult...

Esetleg írjam oda, hogy hagyja meg xls-ben, és ne mentse át xlsx-be, mert akkor elromlik? Ez segít?

Előzmény: Fferi50 (23304)
tbando Creative Commons License 2013.12.04 0 0 23305

Hogy én hogy kerestem ezt a worksheet_calculate eseményt!  Mivel a change nem indított a helybenszűrések utáni  részösszeg változásokra.

 

Már megérte ma idelátogatni :))))

Előzmény: Fferi50 (23296)
Fferi50 Creative Commons License 2013.12.04 0 0 23304

Szia!

 

Az egyik megoldás lehet szerintem az, hogy a munkafüzet megnyitásakor figyeled az Excel verziószámát és attól függően végignézed az érvényesítéseket.

Úgy gondolom - de csak gondolom -, hogy konverziónál fordulhat elő a nevek behelyettesítése.

A verzió figyelés azért is lehet hasznos, mert az újabb verziókban vannak olyan lehetőségek/tulajdonságok, amelyek a régiekben nem működnek, ezért azokat a műveleteket ajánlatos elkerülni.

 

Üdv.

 

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

Most esik le a tantusz, hogy ez nagyobb probléma, mint gondoltam!

 

Tud valaki olyan módszert, amivel egy másik munkalapon elhelyezett lista alapján xls munkafüzetben Excel 2000-től 2010-ig megbízható módon működő legördülő listás adatérvényesítést lehet csinálni?

 

Előzmény: Sánta Kutya (SK) (23208)
Törölt nick Creative Commons License 2013.12.04 0 0 23302

Szívesen.

Jobban belegondolva, ha munkafüzetek megnyitása van a ciklusmagban, akkor a DoEvents által okozott lassulás valószínűleg nem is vehető észre.

Én úgy teszteltem, hogy ciklusban felvettem a ListBoxba 2000 UUID-t, és ott a DoEvents kb. kétszeresére növelte a futási időt. De még így is csak 12 másodperc volt, szóval... :-)

 

Előzmény: Pit-bit (23297)
Törölt nick Creative Commons License 2013.12.04 0 0 23301

Azt lehetne, hogy egy mini adatbázist tárolni egy (rejtett) munkalapon, ahol az egyes cellákhoz tartozó képek elérési útvonala van, vagy inkább rögtön a méretadatok. Abból egyszerűen helyre lehetne állítani a méreteket. Persze egyszer meg kell csinálni a listát, ezt nem lehet el/megkerülni, de aztán már csak karban kell tartani, ami talán nem olyan vészes.

Előzmény: JT2 (23288)
NPW Creative Commons License 2013.12.04 0 0 23300

Köszi, ez hasznos!

 

Már csak azt nem értem, hogy az otthoni 2007-es Excel miért tudta eredetileg a negyvenezres dátumokkal is kiszámolni, míg a munkahelyi 2010-es nem; megnéztem, a beállításoknál ugyanúgy (a default) mindkettő.

Előzmény: Fferi50 (23262)
NPW Creative Commons License 2013.12.04 0 0 23299

természetesen nem a 123.-ra emeltem, csak a hozzászólásban nekem is eltűnt a backslash... :-)

Előzmény: Fferi50 (23244)
Törölt nick Creative Commons License 2013.12.04 0 0 23298

Szerintem félreérted a feladatot (vagy én értem félre). Arról van szó, hogy adott egy munkalap, amin már eleve vannak képes megjegyzéssel ellátott cellák.

Tehát nem most teszem be a képet, hanem eleve adva van. Ha most tenném be, akkor gyerekjáték lenne a méreteit meghatározni, és a comment szövegdobozát aszerint formázni. De ha már benne van a kép, akkor hogyan szeded ki belőle? Én erre nem találtam megoldást, kezelőfelületen sem, és programban sem. Erre a kérdésre a te ötleted sem válasz.

Előzmény: Fferi50 (23285)
Pit-bit Creative Commons License 2013.12.04 0 0 23297

Jimmy the Hand , köszönöm a segítséget,

a DoEvents működik, a futásidő megnövekedése pedig nem számít, a lényeg az elvi működés.

Előzmény: Törölt nick (23231)
Fferi50 Creative Commons License 2013.12.04 0 0 23296

Szia!

 

Akkor viszont a worksheet calculate eseményét kell kihasználni:

 

Private Sub Worksheet_Calculate()
If Range("Z1").Value <> Range("H2").Value Then
   Application.EnableEvents = False
   Range("F3").Value = Range("H3").Value
   Range("Z1").Value = Range("H2").Value
   Application.EnableEvents = True
End If
End Sub

 

Ez akkor fut le, amikor a munkalap adatai újraszámolódnak.

Viszont nekünk csak akkor kell a folyamat, ha a H2 cella értéke megváltozik. Ezért ezt el kell tárolnunk valahova, erre szolgál a Z1 cella a példában (de bárhova is teheted).

Ha a Z1 értéke nem egyezik a H2 értékével, akkor lefut a kívánt akció és a Z1 értékét is átállítja.

Legközelebb, ha kiváltódik az esemény - újraszámolja a munkalapot -  de a H2 cella értéke nem változik, nem fut le az akció.

 

Remélem, így már megfelel a céljaidnak.

 

Üdv.

Előzmény: enyan (23295)
enyan Creative Commons License 2013.12.04 0 0 23295

Ez nagyon állat, működik is, viszont csak akkor, ha én írom át a cella értékét. Egyébként ez a cella egy szummázás végösszegét tartalmazza, aminek az értéke változik a többi munkalap adataitól függően. Valahogy el kéne érni, hogy fusson a makró akkor is, ha egy másik munkalap megváltoztatásának hatására változik meg a folyamat beindítására használt cella értéke. Remélem ez sem bonyolítja túl a helyzetet, mert már majdnem tökéletes!!!

 

Köszi mégegyszer!

Előzmény: Fferi50 (23294)
Fferi50 Creative Commons License 2013.12.04 0 0 23294

Szia!

 

Számodra a megoldás egy eseménykezelő eljárás:

 

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Nothing Is Application.Intersect(Target, Range("H2")) Then
   Application.EnableEvents = False
   Range("F3").Value = Range("H3").Value
   Application.EnableEvents = True
End If
End Sub

 

Ezt másold be az adott munkalap kódlapjára.

Ha a bal oldalon kiválasztod a worsheet-et, akkor jobb oldalon megjelennek az események. Itt válaszd ki a Change eseményt.

Ekkor a kódlapon megjelenik a fentiekben nem vastagított 2 sor.

Közéjük másold be a vastagított sorokat.

 

Üdv.

 

Előzmény: enyan (23293)
enyan Creative Commons License 2013.12.04 0 0 23293

Sziasztok!

 

Átrágtam magam az ajánlott könyvön, valamit talán még tanultam is belőle, de hogy új makrót írjak, arra nincs sok esélyem.

Viszont most talán pontosabban meg tudom fogalmazni, hogy mit csináljon a makró. Ha valaki össze tudja dobni, az nagy segítség lenne. Tehát az adott munkafüzet h2-es cella értékének a változására kellene lefutnia és egész egyszerűen a h3-as cella értékét kellene átmásolnia az f3-as cellába. Persze több másolás kell majd, de a többivel talán majd én is tudom bővíteni. Nagy problémám, hogy nem tudom például a kijelöléseket megszűntetni. Valahogy úgy kéne lefuttatni a makrót, hogy ne generáljon smmi más változást beleértve a kijelölések megváltoztatását, egyszerűen csak kerüljön bele a célcellába a másolt cella értéke. Lehet ilyet csinálni?

 

Köszönöm előre is!

Előzmény: tbando (22424)
Delila10 Creative Commons License 2013.12.04 0 0 23292

Most meg rossz helyre tettem, de többször már nem javítok, úgyis tudjátok.

Előzmény: Delila10 (23291)
Delila10 Creative Commons License 2013.12.04 0 0 23291

Nálam is megette. :(

 

ActiveSheet.Pictures.Insert("E\:JpgLóÁtló.jpg").Select

Selection.ShapeRange.Fill.UserPicture "E\:JpgLóÁtló.jpg"

Előzmény: Delila10 (23290)
Delila10 Creative Commons License 2013.12.04 0 0 23290

Rögzítettem egy makrót, majd itt-ott töröltem belőle.

A lényeg, hogy behívom a képet, elteszem a 2 méretét 1-1 változóba, törlöm a képet.

Beszúrok egy megjegyzést, ehhez az előbb tárolt 2 méretet rendelem, majd be(le)szúrom ismét a képet. Itt nem foglakoztam a képernyőfrissítés tiltásával és engedélyezésével. Kicsit kacifántos módszer, de működik.

 

Teheted ciklusba, ha az egyes képek útvonalát és nevét előbb tároltad az egyes sorokban.

 

Sub Rögzítés1()
    Dim magassag As Double, szelesseg As Double
    ActiveSheet.Pictures.Insert("E:JpgLóÁtló.jpg").Select
    Selection.ShapeRange.LockAspectRatio = msoFalse
    magassag = Selection.ShapeRange.Height
    szelesseg = Selection.ShapeRange.Width
    Selection.Delete
    Range("A1").AddComment
    Range("A1").Comment.Shape.Select True
    Selection.ShapeRange.Height = magassag
    Selection.ShapeRange.Width = szelesseg
    Selection.ShapeRange.Fill.UserPicture "E:JpgLóÁtló.jpg"
    Range("A1").Comment.Text Text:=""
End Sub

Előzmény: JT2 (23288)
Delila10 Creative Commons License 2013.12.04 0 0 23289

Nagyobb berendezéseket gyártottunk, amiknek az állapotáról havonta kellett tájékoztatni a vezetőséget. A munkaszámokat tartalmazó cellákhoz megjegyzésben csatoltam a berendezések aktuális állapotáról a felvételeket. Szerintem nagyon hasznos funkció.

 

Arra is jó, hogy pl. az ügyfelek fotóját tegyük a megjegyzésbe. A nevek kiesnek a fejemből, de egy fotó sokat segít az azonosításban.

Előzmény: Sánta Kutya (SK) (23287)
JT2 Creative Commons License 2013.12.04 0 0 23288

"Jelenleg azt gondolom, hogy rövidebb időbe fog telni neked megcsinálni az átméretezéseket manuálisan, mint nekem az, hogy erre programot eszkábáljak össze, úgyhogy átengedem a megoldás lehetőségét."

Sajnálom az elvesztegetett idődet, nem kitolásból tettem fel a kérdést hanem, mert több szem többet lát, hátha valakinek semmiség az ami nekem lehetetlen.

 

Manuálisan átméretezni? Már megfordult a fejemben de visszatart az, hogy valaminek a hatására (más szempont szerinti rendezés, törölt sor, stb...mittudomén) a képek méretei megváltozhatnak (ez már megtörtént, ezért vagyok itt) és akkor oda a belefektetett idő. Ilyenkor jönne jól egy makró, mely néhány másodperc alatt elintézné a problémát. Persze ha lehetetlen, akkor mást kell kitalálnom.

Előzmény: Törölt nick (23280)
Sánta Kutya (SK) Creative Commons License 2013.12.04 0 0 23287

Inkább tenném mellé egy külön cellába, hogy állandóan láthassam. :-)

Az én felfogásom szerint a megjegyzés csak olyasmire való, aminek nincs "üzemszerű" helye a táblázatban, nem funkcionális és csak a cellák kis részénél használjuk. Elég visszafogottan érdemes használni. De persze ez vitatható egyéni állláspont.

Előzmény: Fferi50 (23286)
Fferi50 Creative Commons License 2013.12.04 0 0 23286

Szia!

 

Én sem csináltam még ilyet, de pl. el tudom képzelni, hogy egy címlistában a nevet tartalmazó cella megjegyzésébe beteszed az illető fényképét.

Így amikor a cellán jársz, láthatod az illető mosolyát.:)

 

Üdv.

Előzmény: Sánta Kutya (SK) (23284)
Fferi50 Creative Commons License 2013.12.04 0 0 23285

Szia!

 

Amit írtam ötletet az működik, egy dologra kell vigyázni:

 

A megjegyzés szerkesztésénél a méret fülön levő dolgokat nem szabad piszkálni. (Érdekes módon ott engedi az eredeti méret és a rögzített arány bejelölését is, ezeknek jelöletlennek kell lenni).

 

Egyébként, ha programból szúrod be a képeket, akkor úgyis megtudod a méretet is.

 

 

Üdv.

 

Előzmény: Törölt nick (23282)
Sánta Kutya (SK) Creative Commons License 2013.12.04 0 0 23284

Sőt, még rafináltabban: elmented egyenként a képeket megadott képtípusban, megnyitva a file-okat kinyered a méretet a fejlécből, majd törlöd.

Megér ennyit, hogy a megjegyzésben legyen a kép? Nekem az életben nem támadt még ilyen ötletem.

Előzmény: Fferi50 (23283)
Fferi50 Creative Commons License 2013.12.04 0 0 23283

Szia!

 

Egy ötlet:

 

Beszúrod szép sorban a képeket a munkalapra. Arról le tudod olvasni a méreteket és máris át tudod tenni a megjegyzésre. Utána törlöd a beszúrt képet.

Nyilván for each ciklussal végig kell ballagni a megjegyzéseken. A hozzájuk tartozó képeket pedig csak tudja, honnan szúrta be.

 

Üdv.

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

"Már csak azt kell tudnod, mennyi volt az eredeti méret."

 

Hát ez az. És azt honnan?

Előzmény: Fferi50 (23281)
Fferi50 Creative Commons License 2013.12.04 0 0 23281

Köszi!

 

Cserébe a formázás:

 

With Range("A1").Comment
     .Visible = True
     .Shape.Height = magasság
     .Shape.Width = szélesség
     .Visible = False
End With

 

Már csak azt kell tudnod, mennyi volt az eredeti méret.

Sajnos a scalewidth és scaleheight tulajdonságok itt nem működnek!

 

Üdv.

Előzmény: JT2 (23277)
Törölt nick Creative Commons License 2013.12.04 0 0 23280

Már elcs.sztem vele 4 órát eredmény nélkül. Most nincs több kidobni való időm.

Annyi bizonyosnak tűnik, hogy az objektum nem publikál semmiféle fogódzót, amivel a megjegyzés hátterének beállított kép tulajdonságait le lehetne kérdezni. Talán valami Windows függvénnyel meg lehetne ragadni, de erre sem találtam semmi értelmes tippet.

 

Jelenleg azt gondolom, hogy rövidebb időbe fog telni neked megcsinálni az átméretezéseket manuálisan, mint nekem az, hogy erre programot eszkábáljak össze, úgyhogy átengedem a megoldás lehetőségét.

Előzmény: JT2 (23278)
maciti Creative Commons License 2013.12.04 0 0 23279

Köszi a gyors reagálást! Ezzel a trükkel működik is!!!

Előzmény: Sánta Kutya (SK) (23269)
JT2 Creative Commons License 2013.12.04 0 0 23278

"Szoktam mondani, hogy Excellel bármit meg lehet csinálni, de most kedvem támadt visszavonni."

 

Jó lenne ha ha a fenti mondatodra rácáfolnál! Hajrá!:)

Előzmény: Törölt nick (23271)
JT2 Creative Commons License 2013.12.04 0 0 23277

kattints a cellára jobb billentyűvel

legördülő menü

megjegyzés beszúrása

kattints újra a cellára jobb billentyűvel

legördülő menü

megjegyzés szerkesztése

dupla katt a megjegyzés peremére

színek és vonalak

szín

kitöltési effektusok

kép

képválasztás

beszúrások

ok

ok

Előzmény: Fferi50 (23273)
Sánta Kutya (SK) Creative Commons License 2013.12.04 0 0 23276

Nem tudja előre, mikor melyik lesz az összefűzendő oszlop.

Szerintem sokkal egyszerűbb, amit én írtam, de nem akarok vetélkedni.

Előzmény: Fferi50 (23274)
Törölt nick Creative Commons License 2013.12.04 0 0 23275

Megjegyzés formázása -> Színek és vonalak -> Szín: Kitöltési effektusok -> Kép -> Képválasztás

Előzmény: Fferi50 (23273)
Fferi50 Creative Commons License 2013.12.04 0 0 23274

Szia!

 

A folytatásban fűzd össze az összetartozó oszlopokat és távolítsd el ami ezek után felesleges:

 

Az end sub elé:

Range("A1").entirecolumn.insert

Range("A1:A123").formula="=B1 & "" "" & C1"

Range('A1:A123").value=Range("A1:A123").value

Columns("B:C").delete

 

ugyanezt megcsinálod a C oszlopra:

Range("C1").entirecolumn.insert

Range("C1:C123").formula="=D1 & "" "" & E1"

Range('C1:C123").value=Range("C1:C123").value

Columns("D:E").delete

 

ha van még hasonló oszlop, akkor ugyanígy.

 

Üdv.

Előzmény: maciti (23267)
Fferi50 Creative Commons License 2013.12.04 0 0 23273

Szia!

 

Egyáltalán, hogy kerül a cella megjegyzésébe kép? Mert én eddig csak szöveget tudtam beletenni.

 

Üdv.

Előzmény: Törölt nick (23271)
Fferi50 Creative Commons License 2013.12.04 0 0 23272

Bocs!

 

Ez biztosan nem jó, mert ugyanazt csinálja!

 

Üdv.

Előzmény: Fferi50 (23270)
Törölt nick Creative Commons License 2013.12.04 0 0 23271

"olyan egyszerűnek tűnik"

 

Hát, nem egyszerű.

Szoktam mondani, hogy Excellel bármit meg lehet csinálni, de most kedvem támadt visszavonni.

Előzmény: JT2 (23261)
Fferi50 Creative Commons License 2013.12.04 0 0 23270

Szia!

 

Próbáld így:

 

Range("A1").TextToColumns Destination:=Range("A1"), _
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=True, _
Tab:=False, _
Semicolon:=False, _
Comma:=False, _
Space:=True, _
Other:=False

Üdv.

Előzmény: maciti (23267)
Sánta Kutya (SK) Creative Commons License 2013.12.04 0 0 23269

Ha jól sejtem, ez egy makrórögzítővel felvett makró. Így soha nem fog menni, mert a szövegből oszlopok funkció csak egy határoló karaktert kezel.

De ha ugyanezt elkezded elölről több lépésben, pl. a makrórögzítés közben először csinálsz egy globális cserét (két szóközből valami nem használt karakter, pl. | vagy @, mindent cserél), majd az így bevezetett határolójel szerint bontasz, akkor sikerülni fog.

Lehet még turbózni a felesleges szóközökk törlésével is.

Előzmény: maciti (23267)
Fferi50 Creative Commons License 2013.12.04 0 0 23268

Szia!

 

Köszi, mondanám, hogy ezért írtam oda zárójelben, de sajnos nem így van. (Aztán meg hiába is vettem volna észre, szerkeszteni meg nem lehet a hozzászólást...ja, hogy ezért van az előnézet.)

tehát a kiváltó képlet helyesen

=LIN.ILL(C2:C6;A2:A6^{123})

 

Üdv.

 

Mindig tanul az ember!!!(is)

Előzmény: Sánta Kutya (SK) (23263)
maciti Creative Commons License 2013.12.04 0 0 23267

Sziasztok!

 

Tudna valaki segíteni abban, hogy egy stringből készített oszlop határoló karaktereit hogyan tudnám megváltoztatni. Az a problémám, hogy kettő, vagy több szóköz esetén kellene új oszlop.

 

például:

 

M 8   HIT-V M8*80/65                   8      8.8    HILTI      0.00kg

 

Ezt a lenti kódot próbáltam, de nem sikerül. Mindenképpen egy szóköz, vagy egymásutáni szimplán szereplő szóközök esetén teszi új oszlopba.

 

 

Sub Oszlopbabont8()
'
'

'
Range("A1").TextToColumns Destination:=Range("A1"), _
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=True, _
Tab:=False, _
Semicolon:=False, _
Comma:=False, _
Space:=False, _
Other:=True, _
OtherChar:=" "

End Sub

 

Ez lett belőle:

 

 

Pedig ezt szertném:

 

 

 

Van valakinek ötlete?

 

 

 

Sánta Kutya (SK) Creative Commons License 2013.12.04 0 0 23266

:-)

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

Úgy látom, igen.

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

Ehhez négyszer kellett beírnod?

(próba: \\)

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

És a backslash jele továbbra is \\ a fórumban. :-)

Előzmény: Fferi50 (23262)
Fferi50 Creative Commons License 2013.12.04 0 0 23262

Mindenkinek, akit érdekel a tömbök használata!

 

Tbando-val addig agyaltunk NPW problémáján(ak egy részén), míg az alábbi érdekességre jöttünk rá:

 

Ezt a képletet:

=LIN.ILL(TRANSZPONÁLÁS(D9:R9);TRANSZPONÁLÁS(D$2:R$2)^{1;2;3})

ki lehet váltani ezzel:

=LIN.ILL(D9:R9;D$2:R$2^{1;2;3})

mivel a transzponálás mindkét bemenő tömböt érinti, ezért felesleges.

 

Viszont ha a képletünk oszlopvektorokat tartalmaz:

=LIN.ILL(TRANSZPONÁLÁS(C2:C6);TRANSZPONÁLÁS(A2:A6)^{1;2;3})

akkor a kiváltó képlet így néz ki:

=LIN.ILL(C2:C6;A2:A6^{123})

 

Az Excelben az oszlopvektorok elemeit a   ;   (pontosvessző) választja el, mig

                   a  sorvektorok elemeit a           (backslash) választja el.

 

Tehát transzponálás helyett egyszerűen kicseréljük az elválasztó jeleket, ha direktben adunk meg tömböket valamelyik képletben.

 

Üdv. mindenkinek!

JT2 Creative Commons License 2013.12.03 0 0 23261

Üdv mindenkinek!

 

Kellene egy kis segítség!

 

Már vagy egy hónapja próbálkozom készíteni rögzítéssel vagy szerezni egy olyan makrót, mely MSO 2003 Excelben a kijelölt cellákban a képet tartalmazó megjegyzés esetén beállítja a kép eredeti méretét. Ennyi! Ha ez egyáltalán lehetséges? Korábban találtam egy angol nyelvű topicot, ahol angolul már kérte ugyanezt valaki de ott nem tudták megoldani. írt mindenki mindenfélét de erre nem volt megoldás pedig olyan egyszerűnek tűnik.

tbando Creative Commons License 2013.12.03 0 0 23260

Belátom, igazad van.

 

Most már csak azt nem értem, hogy NPW-nek hogy-hogy nem tűnt fel, hogy a dátumtranszformációja utáni x^123-mal kapott Linill-je nem a harmadfokú polinomé. 

Előzmény: Fferi50 (23252)
wawabagus Creative Commons License 2013.12.03 0 0 23259

Fferi50, Jimmy the Hand!!!!

Zsenik vagytok!!!!!!!

Nagyon köszönöm a segítséget!!!!!

<3

J.

Fferi50 Creative Commons License 2013.12.03 0 0 23258

Szia!

 

Ebben viszont igazad van, ezt benéztem.

 

De még jobb így:

 

if  MsgBox(prompt:="Kér új számolást?", Buttons:=vbYesNo)=vbNo then

    exit sub

end if

loop

 

Változó sem kell, hiszen máshol úgysem használom.

 

A többi marad ugyanaz.

 

Üdv.

Előzmény: Törölt nick (23256)
Fferi50 Creative Commons License 2013.12.03 0 0 23257

Szia!

 

Szerintem belül is megy a dolog.

 

Üdv.

Előzmény: Törölt nick (23254)
Törölt nick Creative Commons License 2013.12.03 0 0 23256

Ja és még valami.

 

A Choose változó tartalmazza a választ, de a Response változót vizsgálod?

 

Előzmény: wawabagus (23253)
Fferi50 Creative Commons License 2013.12.03 0 0 23255

Szia!

 

A macro elejére, ahol az érdemi végrehajtás kezdődik beírod:

 

do while true

 

A feltétel vizsgálatnál pedig:

Choose = MsgBox(prompt:="Kér új számolást?", Buttons:=vbYesNo)
If Response = vbNo Then
    Exit Sub

End if

loop

end sub

 

Üdv.

Előzmény: wawabagus (23253)
Törölt nick Creative Commons License 2013.12.03 0 0 23254

Ezt a kérdést nem a makróban kellene feltenni, hanem azon kívül.

 

Sub Izé()

Dim Wálasz As Long

    Do

        Masodfoku1

        Wálasz = MsgBox("Még egy kört?", vbYesNo)

    Loop Until Wálasz = vbNo

End Sub

Előzmény: wawabagus (23253)
wawabagus Creative Commons License 2013.12.03 0 0 23253

Sziasztok!

Segítséget szeretnék tőletek kérni.

 

Van egy macro...fut fut...majd a végén felteszek egy kérdést. Ha a válasz nem, akkor kilépek a macroból, ha igen, akkor újra kéne magát indítani...

 

Ezzel vagyok gondban. Hogyan tudom újra indítani a macrot a macro végén egy feltételhez kapcsolva?

 

Eddig ezt csináltam....működik a kilépés, de nem tudom elindítani újra önmagát...

 

Tudtok segíteni esetleg?

Előre is köszi!

 

Sub Masodfoku1()

.

.

.

.

Choose = MsgBox(prompt:="Kér új számolást?", Buttons:=vbYesNo)
If Response = vbYes Then
DoCmd.RunMacro "Masodfoku1"
Else
' The no button was selected.
Exit Sub
End If

Fferi50 Creative Commons License 2013.12.03 0 0 23252

Szia ismét!

 

Másrészt, ha csinálsz egy próbát a lin.ill függvénnyel, akkor azt látod, hogy az x a 123-on -ra azt írja ki, hogy #szám, majd az egészre azt, hogy #érték, mert a #szám bemeneti érték nem megfelelő az x értékekre.

 

Tehát még akkor is jön az #érték hibaüzenet, ha tömbképletként van bevive egyébként.

 

Üdv.

 

 

 

 

 

Előzmény: tbando (23248)
tbando Creative Commons License 2013.12.03 0 0 23251

Aha. Erre nem is gondoltam, hogy egy tömbképletet a 2010-n nem tömbképletként akar bevinni. 

Előzmény: Fferi50 (23249)
tbando Creative Commons License 2013.12.03 0 0 23250

A szűrt listából szerintem sehogy se akard eltüntetni a már nem x-ket, mert aki kimaradt belőle, az már nem tud visszakerülni. 

 

Amit te akarsz szerintem, azt egy új szúréssel tudod elérni. Ehhez átírhatod a kritériumtartomány első celláját, ahogy Fferi javasolta, vagy megcsinálod az én indexes oszlopaimat, de az irányított szűrés helyett alkalmazhatod a normál szűrést is az új nap oszlopát választva.

Előzmény: Hellcat86 (23247)
Fferi50 Creative Commons License 2013.12.03 0 0 23249

Szia!

 

Ez a hibaüzenet akkor is, ha nem tömbképletként viszi be...

 

Üdv.

Előzmény: tbando (23248)
tbando Creative Commons License 2013.12.03 0 0 23248

OK. De a hibaüzenete nem érvénytelen számra, hanem érvénytelen argumentumra utal.

Előzmény: Fferi50 (23246)
Hellcat86 Creative Commons License 2013.12.03 0 0 23247

Köszi a segítséget, sikerült kiszűrni őket, meg is van mindenki akinél x van. Már csak az az egyetlen kérdésem lenne, hogy ha változik a beosztás akkor hogyan tudom automatizálni, hogy akinél már nem x van azt eltüntesse a szűrt listából, vagy akinél megjelenik az x azt belevegye; frissítse a listát?

Előzmény: tbando (23243)
Fferi50 Creative Commons License 2013.12.03 0 0 23246

Szia!

 

Nézd meg lsz. amit NPW-nek írtam. Kipróbáltam, a mai dátum a 123-on már nem megy be az Excel agyába!

 

Üdv.

Előzmény: tbando (23242)
tbando Creative Commons License 2013.12.03 0 0 23245

Ha túl nagy a szám, akkor #SZÁM hibát ír ki.  Az #ÉRTÉK a nem megfelelő típúsú argumentumot jelöli. 

Előzmény: NPW (23212)
Fferi50 Creative Commons License 2013.12.03 0 0 23244

Szia!

 

Már ne is haragudj, csak nagyon halkan és csendesen mondom, hogy ez a képlet:

=LIN.ILL(TRANSZPONÁLÁS(D9:R9);TRANSZPONÁLÁS(D$2:R$2)^{123})

nem egyenlő ezzel:

=LIN.ILL(TRANSZPONÁLÁS(D9:R9);TRANSZPONÁLÁS(D$2:R$2)^{1;2;3})

 

Az elsővel a 123-dik hatványra kívánod emelni a dátumokat!!! Ezt nem bírja már el az excel.

 

Szerintem próbálkozz mégis a beállításokat megnézni!

 

Üdv.

Előzmény: NPW (23227)
tbando Creative Commons License 2013.12.03 0 0 23243

A Munka1 táblázatodnak nincs fejléce. úgy elég nehéz szűrni.

 

Meg azt sem írtad meg, hogy melyik napra akarod elvégezni a szűrést.

 

Ha a naponkénti munkavégzőket akarod listázni, akkor azt javaslom, hogy miután megcsináltad a fejlécet, a táblázat mellé tegyél még 2 oszlopot. Az első a névoszlop, a második pedig a vizsgálandó napé lesz. És ezekbeaz index függvénnyel hozd ki a neveket meg az adott napot. Majd erre a 2 oszlopra szűrjél 

Előzmény: Hellcat86 (23241)
tbando Creative Commons License 2013.12.03 0 0 23242

Most támadt egy eszement ötletem. Mint anno SK-nak, aki rájött hogy a magyar excel a magyar abc kettős betűit 1 betűnek látja, szemben a vba-val, amelyik nem.

 

Szóval én el tudom képzelni, hogy a 2010-es excel a dátumfomákból való számolásnál dátumformában akarja kiírni az eredményt, amiknél azonban már értelmezhetetlenek a baszomnagy számok. 

Előzmény: tbando (23240)
Hellcat86 Creative Commons License 2013.12.03 0 0 23241

Köszönöm a segítséget, de lehet rosszul írtam le a problémámat, mert a Speciális Szűrővel nem sikerült megoldanom.

 

Munka1-ről szeretném a Munka2-re kilistázni azokat a neveket, amelyiknek az adott napnak megfelelő oszlopban 'X' van megadva.

 

Csatoltam két képet is, a két munkafüzetről, hogy könnyebb legyen átlátni mi a problémám.

 

    

 

                 Munka 1                                          Munka 2

Előzmény: Fferi50 (23238)
tbando Creative Commons License 2013.12.03 0 0 23240

Lehetséges. Ehhez annyira nem értek. Bár szerintem akkor a 2007-es excelben is átcsúszott volna.

Előzmény: Fferi50 (23237)
tbando Creative Commons License 2013.12.03 0 0 23239

Kösz!. Megjött. Studiroznom kell, ami számomra nem olyan eccerű. Ugyanis ez az én egyik szűk keresztmetszetem. A térlátás.  Egyetlen tantárggyal nem tudtam megbarátkozni a gimis éveim során, az ábrázoló geometriával.  És beugrik a matek érettségim is, amikor a 4 feladatból 3-mal negyedóra alatt végeztem, de a negyedikkel meg még azóta is küszködöm. Mert abban egy forgástest felszínét és volumenét kellett kiszámolni, ami elég bajos, ha az ember a forgástestet nem látja, nem tudja elképzelni.  És így vagyok ezekkel a kurva márixokkal is. A 2 dimenziósak még csak-csak, de a többdimenzósoknál teljes sötétség.  De talán sikerül megértenem :))))

Előzmény: Fferi50 (23234)
Fferi50 Creative Commons License 2013.12.03 0 0 23238

Szia!

A speciális szűrő 2010 előtt irányított szűrő-nek volt nevezve. De ugyanazt és ugyanúgy végzi.

 

Üdv.

Előzmény: Hellcat86 (23229)
Fferi50 Creative Commons License 2013.12.03 0 0 23237

Szia!

 

Viszont a mátrix számolási műveletekben simán átcsúszhat az Excel által már nem értelmezett tartományba...

 

Üdv.

Előzmény: tbando (23235)
Fferi50 Creative Commons License 2013.12.03 0 0 23236

Szia!

 

Az adatok - speciális szűrő a Te barátod.

Az A és B oszlop első cellája legyen cimke, pl. dolgozó és jelen.

Ezután mondjuk a C oszlop első cellájába beírod jelen, a C oszlop második cellájába beírod x.

 

A speciális szűrő párbeszéd panelján bejelölöd a más helyre másolás és a csak egyedi értékek kapcsolókat.

A listatartomány az A:B oszlopod értékekkel bíró része.

A szűrőtartomány C1:C2

A hova másolja helyre egy cellát kijelölsz.

 

Ezután OK gomb.

 

Csak azok a dolgozók jelennek meg az x-el együtt, akiknél a B oszlopban x volt.

 

Ezt alkalmazhatod a többi jelölésre is, ha C2 tartalmát átírod.

 

Üdv. 

Előzmény: Hellcat86 (23229)
tbando Creative Commons License 2013.12.03 0 0 23235

Nézd meg az adatérvényesítést az adott oszlopra. Mert azt kizártnak tartom, hogy a munkalapok alapból korlátoznák 40.000^3-nál nagyobb számok használatát. 

Előzmény: NPW (23232)
Fferi50 Creative Commons License 2013.12.03 0 0 23234

Szia!

 

Privi ment!

 

Üdv.

Előzmény: tbando (23226)
Fferi50 Creative Commons License 2013.12.03 0 0 23233

Szia!

 

Bocsi, de mi értelme van 2013-at, mint dátumot négyzetre és köbre emelni egy regresszió számításnál?

 

Az A megoldás az, amit csináltál (már ha jól értettem, hogy a kezdődátum az adatsor első dátuma).

Ilyenkor simán az 1,2,3,.... értékeket kell  x-nek felvenni, hiszen az y adat nem az évszám nagyságához korrelál, hanem az egymás utáni adatok összefüggését (trendjét) szeretnéd megtudni.

 

Üdv.

Előzmény: NPW (23232)
NPW Creative Commons License 2013.12.03 0 0 23232

Rájöttem, mi volt a probléma a 2010-zel, sajnos elég banális!!!

 

Az x értéksorban dátumok voltak megadva, amit az excel 41-ezeregynéhánynak érzékel.

És úgy tűnik, hogy a munkahelyi 2010-es Excelnek ezek túl nagy számok, hogy a másodikra, harmadikra emelje...

 

Esetleg van valakinek ötlete, hogyan lehetne a beállításoknál átállítani, hogy ezeket is tudja számolni?

 

...

 

Közben rájöttem egy B megoldásra: ha mindegyik dátumból kivonom a kezdődátum értékét, ugyanolyan jól működő lesz a függvény, és ki is tudja számolni.

De ha esetleg valaki tudja az A megoldást, az is jó lenne!

 

 

Előzmény: Fferi50 (23223)
Törölt nick Creative Commons License 2013.12.03 0 0 23231

Tedd be a ciklusba az alábbi utasítások valamelyikét:

 

DoEvents

 

vagy

 

Me.Repaint

 

Azzal azért számolj, hogy ez meg is lassítja a kód futását. Esetleg érdemes lehet a cikluson belül egy számlálót futtatni, és pl. minden tizedik, huszadik, vagy századik ciklusvégrehajtásnál használni a fenti parancsok egyikét.

Előzmény: Pit-bit (23228)
Sánta Kutya (SK) Creative Commons License 2013.12.03 0 0 23230

A legegyszerűbb megoldás, ha ráteszel a fejlécre egy szűrőt, és rászűrsz az x-re, aztán esetleg az eredményt ki is másolhatod egy másik munkalapra, és utána kikapcsolhatod a szűrőt.

Előzmény: Hellcat86 (23229)
Hellcat86 Creative Commons License 2013.12.03 0 0 23229

Sziasztok!

Egy olyan problémával küzdök Excelben, hogy már befonom a hajam tőle kb.

 

A helyzet a következő:

 

Adott az A oszlop: a, b, c, d, e, f, g, h (alkalmazottak nevei)

Adott a B oszlop: x, x, y, z, y, x, z, x (x=munkanap, y=szabadság, z=szabadnap)

 

Szeretném, csak azoknak az alkalmazottaknak a neveit kigyűjteni egy külön oszlopba lista szerűen, akiknek a neve mellett x van, tehát dolgoznak.

 

Előre is köszi a segítséget!

 

Üdv.

Hellcat86

Pit-bit Creative Commons License 2013.12.03 0 0 23228

Üdv.

Visual Basic programozáshoz kérek segítséget.

Megírtam egy makrót EXCELL-ben. A makró tartalmaz egy FORM-ot (listbox, labelek, parancsgombok - commandbuttonok). Az egyik parancsgombra való kattintás után generálok egy DO ... LOOP ciklust, amelyben sorra megnyitok adatfájlokat (.xlsm), néhány adatot elhelyezek a form listboxában és labeljein, az adatfájlt bezárom, majd folytatom a ciklust.

A gondom az, hogy a FORM-on elhelyezett adatok a ciklus folyamán nem jelennek meg folytonosan, csak a ciklus befejezése után egyszerre.

Valamit be kellene állítanom?

A segítségeket köszönöm!

NPW Creative Commons License 2013.12.03 0 0 23227

Sajnos a 2010-es továbbra is kifog rajtam :-(

A kitevő mátrixban ha a -t átírom ;-re, hibát jelez. Viszont a -k közé írt számokat tetszés szerint módosítgathatom, adhatok hozzá újakat, elvehetem, azt nem bánja.

 

=LIN.ILL(TRANSZPONÁLÁS(D9:R9);TRANSZPONÁLÁS(D$2:R$2)^{123})

 

Próbáltam a LIN.ILL függyvány utolsó két argumentumát (igaz/hamis párok) variálni, az sem segít.

 

Amit küldtél példa, abból nem derül ki, hogy tényleg a helyes adatokat számolja-e? (Vagyis azt, amit kiír a grafikonra.)

 

Előzmény: Fferi50 (23223)
tbando Creative Commons License 2013.12.02 0 0 23226

Amennyit én tudok a matrix müveletekről, az sajnos nem magyaráz semmit :(((.

Előzmény: Fferi50 (23225)
Fferi50 Creative Commons License 2013.12.02 0 0 23225

Szia!

 

A mátrix műveletek miatt. Nézz utána a mátrix algebra szabályainak és gondold végig a képlet részeit ennek fényében.

 

Üdv.

 

 

Előzmény: tbando (23224)
tbando Creative Commons License 2013.12.02 0 0 23224

Kösz!

 

Most már nekem is működik. 2007-tel. A kitevők között pontosvesszővel. 

 

De egy valamit nem értek: Mi a fenének kell az xy oszlopokat transzponálni? Mert kell. Van valami ötleted rá?

 

Mivel megcsináltam mezei módon is. Azaz az ABC oszlopokban az x^1, x^2, x^3 hatványokkal, és úgy a tartományokat transzponálás nélkül kell megadni.

Előzmény: Fferi50 (23219)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!