Keresés

Részletes keresés

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)
Fferi50 Creative Commons License 2013.12.02 0 0 23223

Szia!

 

A mátrixban (ill. tömbben) levő értékeket egyedileg nem engedi módosítani.

Megoldás

vagy a tömb törlése és az egyes cellák újraírása,

vagy a tömb kijelölése és a képlet módosítása tömbképletként az egész tömbre (a benne levő összes cellára).

Ha az x, y adatsort definiáltad tömbként, akkor megoldás lehet, hogy a tömböt törlöd és az adatokat tartalmazó tartományt elnevezed.

Akkor engedi a tartományban levő egyes cellák módosítását, a számmolásban viszont mátrixként veszi figyelembe.

 

Üdv.

Előzmény: NPW (23222)
NPW Creative Commons License 2013.12.02 0 0 23222

Biztos, én vagyok a béna, de nem működik...

Úgy tűnik, nem engedi a mátrixműveletben lévő mátrixot módosítani, hiába nyomom a végén a ctrl-shift-entert.

Előzmény: Fferi50 (23218)
Tagore1972 Creative Commons License 2013.12.02 0 0 23221

Szia!

 

köszi a tippet, ez tényleg nem jól működik,

ám ebből is tanultam, mert eddig csak 2 tartományra használtam

a szorzatösszeg függvényt, de többre is működik.

 

üdv Joe

Előzmény: Sánta Kutya (SK) (23193)
Tagore1972 Creative Commons License 2013.12.02 0 0 23220

Szia!

 

Nagyon köszönöm, jól működik :-)

 

üdv Józsi

Előzmény: tbando (23195)
Fferi50 Creative Commons License 2013.12.02 0 0 23219

Csak a képet nem illesztettem be.

 

Üdv.

Előzmény: Fferi50 (23218)
Fferi50 Creative Commons License 2013.12.02 0 0 23218

Szia!

 

A képen láthatod az én képletemet.

 

 

Hát nem túl látható, de ilyen:

 

{=LIN.ILL(TRANSZPONÁLÁS(y_adatsor);TRANSZPONÁLÁS(x_adatsor)^{1;2;3})}

 

Üdv.

Előzmény: tbando (23217)
tbando Creative Commons License 2013.12.02 0 0 23217

Nem sikerült megoldanom. Nálam el se fogadja a becopyzott képletet, a Beirt képlet hibás üzenettel, és a hibakurzor rááll a kapcsoszárójeles  kitevőkre.  ?????

Előzmény: Fferi50 (23215)
Fferi50 Creative Commons License 2013.12.02 0 0 23216

Bocsi-bocsi!

 

"rejtéjét" = rejtélyét

Előzmény: Fferi50 (23215)
Fferi50 Creative Commons License 2013.12.02 0 0 23215

Szia!

 

Bocs, de már nem emlékeztem rá. A kapcsos zárójelek "rejtéjét" ezek szerint már megoldottad azóta.

 

Üdv.

Előzmény: tbando (23214)
tbando Creative Commons License 2013.12.02 0 0 23214

A 23165-ben már megírtam.  A mintapéldában a számok tizedesvesszősök voltak, én meg tizedespontot használok.  Így aztán az excelem stringnek értelmezte a súgópélda tizedeszámait. Amit a LIN.ILL nem fogad el.

Előzmény: Fferi50 (23211)
Fferi50 Creative Commons License 2013.12.02 0 0 23213

Szia!

 

Tömbképletként kell bevinni!

Leírnád ide a képletedet, amire hibát ír ki?

 

Üdv.

Előzmény: NPW (23212)
NPW Creative Commons License 2013.12.02 0 0 23212

Ekkor #érték! hibát ír ki... :-(

Előzmény: Fferi50 (23201)
Fferi50 Creative Commons License 2013.12.02 0 0 23211

Szia!

 

Elárulnád, hogy mi volt a "bibi"?

 

Üdv.

Előzmény: tbando (23210)
tbando Creative Commons License 2013.12.02 0 0 23210

A Lin.ill 2007-es súgója  megegyezik a 2003-aséval. És mivel a 2003-as hálistennek kevésbé okos mint a 2007-es, azon jöttem rá, hogy a súgó péda becopyzása miért nem müködik a 2007-en sem :)))).

Előzmény: Fferi50 (23205)
Törölt nick Creative Commons License 2013.12.02 0 0 23209

Ez kedves, de túlzás. Na jó, makró oldalról talán igaz, de a táblázatkezelő furfangjait szerintem legalább olyan jól tudjátok, mint én. Vagy még jobban.

Előzmény: Sánta Kutya (SK) (23204)
Sánta Kutya (SK) Creative Commons License 2013.12.02 0 0 23208

Stimmel. A táblázatomban névvel volt megadva a tartomány, ez 2007-ben működött is.

Majd amikor megkaptuk ajándékba ezt a csodálatos 2010-est, akkor elromlott az egyik nagyon fontos táblázatom, és kiderült, hogy a 2010 öntevékenyen lecserélte a nevet cellahivatkozásokra, ráadásul $ jel nélkül, tehát csak az oszlop legfelső cellájában működött normálisan, és a kollégák néhány napig nem tudták rendesen használni ezt az alapvető táblázatot. Itt is ez történhetett.

 

Tehát a megoldás két részből áll:

1. A régebbi verzióban létrehozott adatérvényesítésekhez az első megnyitás után újból hozzárendelni a nevet (hátha így már békén hagyja, és nem kell minden alkalommal újra megtenni).

2. Rendkívül csúnyákat gondolni arra a "programozóra" (opcionálisan az édesanyjára), aki ezt a viselkedést beletervezte.

Előzmény: Fferi50 (23207)
Fferi50 Creative Commons License 2013.12.02 0 0 23207

Szia!

 

A KIMETSZ az a TRIM függvény "magyarítása" lett.

 

A 2010-ben konkrétan megadhatsz adatérvényesítést másik munkalapra hivatkozva. 2003-ban ez csak név megadással működött szerintem.

 

Üdv.

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

Mi az a KIMETSZ a 2010-ben? Konkrétan az érdekel, hogy egy régebbi függvény átnevezése-e? Merthogy egyszer csak felbukkant egy táblázatomban a 2010 telepítése után, pedig sose láttam.

 

A másik érdekes az volt, hogy az xls táblázatom mentésekor nyivákolni kezdett a 2010, hogy az egyik munkalapom az adatérvényesítés egy másik munkalapról veszi a megengedett értékeket, és ez funkcióveszteség, mert a 2003 ilyet nem tud. Ami pedig konkrétan hazugság, és a 2007 nem is reklamált érte.

Fferi50 Creative Commons License 2013.12.02 0 0 23205

Szia!

 

Mondanám, hogy tudja a fene!:)

De attól még a területi beállítások bejátszhatnak, hogy mindkettő magyar.

Egyébként lehet, a 2007-es súgóban is meg kellene nézni.

(Nekem csak 2003-as és 2010-es excelem van. 2007-est már nem látok - munkahelyemen volt olyan, de ma már ez nem játszik.)

 

Üdv.

Előzmény: tbando (23202)
Sánta Kutya (SK) Creative Commons License 2013.12.02 0 0 23204

Szerintem mi ketten együtt már egészen jól tudjuk az Excelt. Azt vettem észre, hogy egy csomó mindent tudsz, amit én nem, és fordítva is. Persze Jimmy valószínűleg többet tud, mint mi ketten együtt.

Előzmény: tbando (23203)
tbando Creative Commons License 2013.12.02 0 0 23203

Ilyesmi időnként előfordul :))). Én például jimmy előbbi képletén filóztam vagy 10 percig, míg megértettem :)))

Előzmény: Sánta Kutya (SK) (23197)
tbando Creative Commons License 2013.12.02 0 0 23202

OK, de akkor a 2007-es szintén magyar miért fogadja el ponttal? 

Előzmény: Fferi50 (23201)
Fferi50 Creative Commons License 2013.12.02 0 0 23201

Szia!

 

A magyar képletekben a tagok elválasztójele a pontosvessző. Szerintem így írd a 2010-es Excelbe:

 

=LIN.ILL(TRANSZPONÁLÁS(y adatsor);TRANSZPONÁLÁS(x adatsor)^{1;2;3})

 

Természetesen tömbképlettel.

 

A LIN.ILL még egyéb dolgokat is tud, érdemes elolvasni a súgóját.

 

Üdv.

Előzmény: NPW (23199)
tbando Creative Commons License 2013.12.02 0 0 23200

Sajnos a 2010-es excel problémában nem tudok segíteni. Így a 2010-ben kénytelen leszel a 23121 hsz szerinti polielo udf-függvényt használni, természetesen 9. pont-beli For -jának a javításával, ahogy azt pár hsz-szel később megírtam.

Előzmény: NPW (23198)
NPW Creative Commons License 2013.12.02 0 0 23199

Még annyi, hogy az első fokú tag együtthatójának minden adatsor esetében 0-t számol ki a 2010-es Excel.

NPW Creative Commons License 2013.12.02 0 0 23198

Mind a két helyen magyar Excel van, csak a verziószám 2007/2010 különbözik.

 

Ami a kérdésedet illeti: csak simán kimásoltam az ausztrál oldalról, ahol találtam, és utána továbbmódosítottam (a képlet zárása a szokásos ctrl+shift+enter kombinációval), ezzel nem volt gond.

 

De valahol itt lehet a probléma, mert a 2007-es {1.2.3}-nek írja, és jól működik, míg a 2010 {123}-nek nyitja meg ugyanazt, és nem jó.

Csak nem tudom, ezt hol lehet korrigálni, a beállítások között nem találtam.

 

Előzmény: tbando (23165)
Sánta Kutya (SK) Creative Commons License 2013.12.01 0 0 23197

Na hogy ezek nekem sose jutnak eszembe!

Előzmény: tbando (23195)
tbando Creative Commons License 2013.12.01 0 0 23196

Eltekintve persze attól, hogy nem a CD oszlopok szorzatösszegét számolja, hanem a BC-ét :)))))

Előzmény: tbando (23195)
tbando Creative Commons License 2013.12.01 0 0 23195

Szerintem ez jó lesz (tömbképlet):

 

{=SZUM(HA(A2:A6=1;B2:B6*C2:C6))}

 

Előzmény: Tagore1972 (23192)
Sánta Kutya (SK) Creative Commons License 2013.12.01 0 0 23194

Nem is, úgy értettem, hogy vagy 1, vagy 0 van az A-ban.

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

Hihetetlenül trükkös módon: =SZORZATÖSSZEG(A1:A6;C1:C6;D1:D6)

Előzmény: Tagore1972 (23192)
Tagore1972 Creative Commons License 2013.12.01 0 0 23192

sziasztok!

 

Egy speciális (kritériumos) szorzatösszegre lenne szükségem:

 

=szorzatösszeg2(A2:A6;1;C2:C6;D2:D6)

 

azaz, ha

- az A oszlopban az érték 1, akkor

- szorozza össze rendre a sorában a C és a D oszlopban levő értéket,

- majd ezeket adja össze.

 

Persze megoldható lenne egy segédoszlop bevezetésével

=ha(A2=1;C2*D2;0)

de jó lenne nélküle megoldani.

 

 

köszi

 

üdv Joe

Sanyi0007 Creative Commons License 2013.11.30 0 0 23191

Köszönöm a segítséget.

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

Többféle megoldás lehet, mondjuk itt egy:

=ÉRTÉK(HELYETTE(KÖZÉP(A1;SZÖVEG.KERES("(";A1)+1;10000);")";""))

Előzmény: Sanyi0007 (23189)
Sanyi0007 Creative Commons License 2013.11.30 0 0 23189

Sziasztok!

 

Van-e lehetőség arra az excelben, hogy egy ilyesmi szövegből: "xy termék (10986)", egy képlet

segítségével a zárójelben levő számot másoljam egy adott cellába?

makako6 Creative Commons License 2013.11.29 0 0 23188

Szia,

 

Köszönöm a segítséget, most már működik!

Előzmény: Fferi50 (23168)
makako6 Creative Commons License 2013.11.29 0 0 23187

Kedves TBando,

 

Nagyon szépen Köszönöm a gyors segítséget, ez Fantasztikus! )

 

Előzmény: tbando (23167)
makako6 Creative Commons License 2013.11.29 0 0 23186

"B" oszlop csak szöveg. Képlet, számadat csak C-D-E oszlopra vonatkona. Megtévesztő lehetett, hogy a kérdések mellé az adható pont értékét írtam be, pedig pont az ellenkezője volt a cél, hogy jobban személtessen.

Előzmény: Sánta Kutya (SK) (23166)
tbando Creative Commons License 2013.11.28 0 0 23185

Kösz. Majd emésztem :))))

Előzmény: Sánta Kutya (SK) (23181)
Sánta Kutya (SK) Creative Commons License 2013.11.28 0 0 23184

Szó szerint igazad van, de mégis szokás a "legbaloldalibb bitet" legmagasabb helyiértékűnek nevezni.

Merthogy nem feltétlenül jobbról a 8. (http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Most_significant_bit.html -- a Conventions szakaszt nézd a dupla csavarért), ráadásul nem is helyes 8-iknak nevezni, mert nem csak egybyte-os számokról beszélünk, hanem akármekkorákról.

És a nyolcadik utast sokan hetedik utasnak hívják, mert nullától szokás számolni. Tehát a jobb szélső bit jobbról a nulladik...

 

A legmagasabb helyiértékű bit annyiban helytálló, hogy bármely egészt tekinthetünk előjel nélkülinek, és akkor tényleg az a legmagasabb helyiértékű; az meg nem magában a számban rejtőzik, hogy előjeles vagy sem, hanem az értelmezésen.

Ha egy kupac számot elmentesz és nem mondod meg hozzá az adatszerkezetet, akkor amúgy sem lehet rekonstruálni az értéküket. (Hány bitesek? Big vagy little endianként tárolódnak? Vagy BCD-ben? Előjelesen vagy sem?)

Előzmény: Fferi50 (23183)
Fferi50 Creative Commons License 2013.11.28 0 0 23183

Szia!

 

Ezt azért pontosítsuk: negatív az a szám, amelynek az előjelet jelző bitje 1.

Ez pedig nem lehet a szám legmagasabb helyiértékű bitje, hiszen akkor honnan tudnád, hogy -2 vagy a 3. amit ábrázol.

Az előjelbit pedig a jobbról számított 8. bit (ami annyiban legmagasabb "helyiértékű", hogy nem előjeles ábrázolásnál ezen a biten van a legmagasabb hatványhoz tartozó érték).

 

Üdv.

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

Előjeles esetben negatív az a szám, amelyiknek a legmagasabb helyiértékű bitje 1.

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

Ugyanazt a számot tekintheted előjeles és előjel nélküli egésznek is. Maga az 11111111 nem egyértelmű, ha nem rendeltél típust hozzá. A legtöbb nyelv ismeri a "signed int" és "unsigned int" típusokat ugyanannyi biten (bár ez éppen C-s megnevezés). Viszont ha -1-nek tekinted, az bitszámtól függetlenül minden egész típusra jó lesz, ha meg előjel nélkülinek, az 8 biten 255, 16 biten 65535 stb. A -1 meg örök és megbonthatatlan. :-)

 

Előjeles: -128 - +127

Előjel nélküli: 0 - +255

stb. több biten is.

 

Egyébként az előző hozzászólásomban az az érdekes, hogy beírás közben jöttem rá magam is. :-)

Előzmény: tbando (23180)
tbando Creative Commons License 2013.11.28 0 0 23180

Most nagy tudatlanságról tanuskodó kérdést teszek fel: az 11111111 a basicben miért -1 és miért nem 255?

Előzmény: Sánta Kutya (SK) (23178)
tbando Creative Commons License 2013.11.28 0 0 23179

Hm. Nem tudtam. Igaz, vba-ban sosem használtam. Viszont most esett le a tantusz, hogy retro image miért írt egy régi hozzászólásában  valami ilyesmit: a=-(b=c) *d. Kösz.

 

Előzmény: Fferi50 (23177)
Sánta Kutya (SK) Creative Commons License 2013.11.28 0 0 23178

Régi BASIC-es hagyomány az igaz értéket -1-nek venni. Ennek az az alapja, hogy ha egy byte-ot (szót stb.) feltöltünk csupa egyes bittel, akkor a kapott szám előjeles egészként -1-nek felel meg. Vagyis ez az a szám, amelyiknek minden bitje 1 (és így pl. a bitenkénti logikai műveletekben is feltétlenül igaz értékként viselkedik).

Előzmény: Fferi50 (23177)
Fferi50 Creative Commons License 2013.11.28 0 0 23177

Szia!

 

Annyi igaz, hogy a hamis mindkét helyen = 0.

 

Az igaz viszont a munkalapon = 1, VBA-ban pedig = -1.

 

Próbáld ki a VBA-ban a True * 1 kifejezést. Eredmény: -1.

 

Csak nyilván, nagyon ritkán "számolunk" vele, inkább használjuk a logikai "értéket". Pedig, mint az adott példa mutatta, egyszerűbb is lehet a képlet  esetenként, ha számnak tekintjük.

 

Üdv.

Előzmény: tbando (23176)
tbando Creative Commons License 2013.11.28 0 0 23176

Apropos: Hogy-hogy nem ugyanaz a szám van rendelve az igaz/hamis-hoz a vba-ban és a munkalapon? Én idáig abban a hiszemben voltam, hogy a hozzárendelt számok mindkét helyen 1 és 0.

Előzmény: Fferi50 (23174)
tbando Creative Commons License 2013.11.28 0 0 23175

Ez a legkreatívabb valóban :))))

 

Az előbbi meg a megoldásod elismerése mellett a saját figyelmetlenségemet díjazta :))))). 

Előzmény: Fferi50 (23174)
Fferi50 Creative Commons License 2013.11.28 0 0 23174

Szia!

 

Ez egy szerintem még szebb verzió:

 

E2-be a  képlet  =(D2="igen")*C2

 

Mivel a logikai kifejezéshez (igaz,hamis) is van számérték rendelve (ami a VBA-ban nem ugyanaz a szám, mint a munkalapon!!!)

 

Üdv.

 

ps. Tudom, a C oszlopnak szólt az elismerés.

 

 

Előzmény: tbando (23170)
lucabrazi Creative Commons License 2013.11.28 0 0 23173

Kösz!

 

 

 

Előzmény: tbando (23171)
tbando Creative Commons License 2013.11.28 0 0 23172

Úgy látom, mások se igen értik, hogy mit szeretnél. Ha még aktuális, tedd fel a Data.hu-ra, vagy küldd el priviben. Megnézem.

Előzmény: Tyorotyere (23139)
tbando Creative Commons License 2013.11.28 0 0 23171

Meg lehet. De attól függően, hogy mik az érényesítés feltételei, lehet egyszerű vagy komplikált.  Lehet, hogy simán alkalmazható az excel Adatok/érvényesítés parancsa, de lehet, hogy önmagában nem elég, és makrót kell az érvényesítéshez írni.  Ezért első lépésben nézd át az említett parancsot, és ha az nem elég, akkor írd meg a konkrét előírásaidat. 

Előzmény: lucabrazi (23169)
tbando Creative Commons License 2013.11.28 0 0 23170

:)))))

Előzmény: Fferi50 (23168)
lucabrazi Creative Commons License 2013.11.28 0 0 23169

Sziasztok!

 

Segítséget szeretnék kérni.

Meg lehet-e adni, pl.:hogy egy cellába csak bizonyos számokat és betűket lehessen írni.

Mást ne engedjen.

 

Köszönöm.

Fferi50 Creative Commons License 2013.11.28 0 0 23168

Szia!

 

Ha jól értelmezem a képet, akkor a C oszlopban található a kérdések (az igen válasz) pontértéke. Ekkor az eredmény oszlop E2 be írd be ezt a képletet:

=ha(D2="Igen";C2;0) és húzd végig az oszlopon.

 

Üdv.

Előzmény: makako6 (23164)
tbando Creative Commons License 2013.11.28 0 0 23167

Én is azt hiszem, hogy a legegyszerübb, ha az F-oszlopba beirod, hogy az adott kérdés igenje 1 vagy 2, az eredményoszlopba meg ezt a képletet:

 

=Ha(d2="igen";f2;0)

Előzmény: makako6 (23164)
Sánta Kutya (SK) Creative Commons License 2013.11.27 0 0 23166

Van rá valami nyomós okod, hogy a B oszlopban két adatot zsúfolj egy cellába? Ellenkezik a táblázatkezelés szellemével.

Előzmény: makako6 (23164)
tbando Creative Commons License 2013.11.27 0 0 23165

Fferinek igaza lehet. De nem csak az excel nyelve lehet eltérő a  két gépen, hanem a területi beállítások is. Írtam a korábbi hsz-emben, hogy hiába copy pasteltem be a Lin.ill  súgó mintapéldáját, az én gépemen nem működött. Azóta rájöttem, hogy miért nem. Hát azért, mert a súgó példa magyarított példa volt, tizedesvesszővel. Én meg a saját gépemen tizedespontot használok. Így mintapélda tizedesvesszője miatt az excelem néhány számot stringnek értelmezett, amit a Lin.ill nem akceptál. Nos ilyen banális beállítási hibákra is vadásszál.

 

De hagy kérdezzem meg újra: hogyan kell a kitevőket kapcsos zárójelbe tenni?

Előzmény: NPW (23162)
makako6 Creative Commons License 2013.11.27 0 0 23164

Sziasztok,

 

Segítséget szeretnék kérni, az alábbi dologban:

Van egy kérdőív, ahol a válasz legördülő listából "igen" és "nem" lehet.

Értékelésnél adott válaszoknál az "igen" válasz érhet 1 vagy 2 pontot kérdéstől függően, a "nem" mindenhol 0 pontot ér.

Cél, a listából kiválasztott "igen" választásánál a kérdéshez tartozó 1 vagy 2 ponttal számoljon a táblázat, "nem"-nél 0 ponttal a mellette levő oszlopban.

 

Próbáltam képletek / definiált nevek / kijelölésből új opciót, ahol volt a listában

 

"igen" - "igen." - "nem" , Hozzárendelt számok 1-2-0.

 

Viszont, választás után mégsem tudta számként értelmezni a mellette levő eredmény oszlop. 

Lehetséges ezt kivitelezni valahogyan?

 

A választ előre is köszönöm, képet csatoltam róla.

 

 

 

Fferi50 Creative Commons License 2013.11.27 0 0 23163

Szia!

 

Milyen nyelvű az otthoni Excel 2007-es otthon és milyen nyelvű az Excel 2010 a munkahelyen?

Mert a nyelvi beállítások okozhatnak problémát.

 

Üdv.

 

Előzmény: NPW (23162)
NPW Creative Commons License 2013.11.27 0 0 23162

A transzponálás akkor kell, ha egy sorban (vízszintesen egymás mellett) van az adatsor. Ha függőlegesen, akkor természetesen nem kell.

 

Viszont azt továbbra sem értem, hogy 2010-esben miért nem működik??????????

Előzmény: tbando (23125)
pimre Creative Commons License 2013.11.27 0 0 23161

Szia, köszönöm. Ezeket majd holnap tesztelem.

 

Ami az ékezetes változókat illeti én már beleütköztem a problémába. Idén egy bő fél éven át egy tagnyilvántartó programot írtam. Ez zömmel interaktív, amit userformokkal oldottam meg. Aztán amikor a program egy angol nyelvű office-t használó kollégám kezébe került, előjött, hogy nem fut a progam. Pontosabban Lost Visual Basic project hibát jelzett. És néhány nap kellett, míg kiderítettük, hogy a hibát a Userformok és a rajtuk elhelyezett ékezetes objektumok okozták. Ezeket néhány órás munkával kijavítottam, szerencsére a függvények és változók nevével nem volt gondja az Excelnek.

Szóval igazad van, és rossz szokásom, hogy használom a kódban az ékezeteket. Lám hová vezet a féktelen nacionalizmus:-))) Még szerencse, hogy nem rovásírást használtam:-)

Szóval ebben is egy nagy elhatározásra lenne szükségem, hogy ezentúl leszokjak az ékezetek használatáról a programkódokban.

Előzmény: Fferi50 (23160)
Fferi50 Creative Commons License 2013.11.27 0 0 23160

Szia!

 

Hogy még szebb legyen, egyáltalán nem kell aktívnak lennie a munkafüzetnek sem:

Az előzőekben leírtak akkor is működnek, ha a

 

Workbooks(wbnév).Activate

sort kihagyod.

 

Hiszen  ws.parent.name = wbnév.  (Azaz a ws munkalapod a wbnév nevű munkafüzetben van!)

 

Még egy tanács: én abszolut nem használom az ékezetes változókat, mivel nem hordozható. Nem tudhatod, hogy egy másik gépen milyen windows fut. Ha nem magyar, akkor az ékezetes, pláne a két pontos, vesszős betűk jól bekavarhatnak.

 

Üdv.

 

Előzmény: pimre (23158)
Fferi50 Creative Commons License 2013.11.27 0 0 23159

Szia!

 

Próbáld így:

Set eredm = ws.Range("A:A").Find(what:=kód, After:=Cells(1, 1), LookIn:=xlValues, LookAt:=xlWhole, _ SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)

 

Üdv. 

Előzmény: pimre (23158)
pimre Creative Commons License 2013.11.27 0 0 23158

Ezt valóban nem tudtam. Egyébként amióta többen leírtátok, magam is kerülöm a select használatát, viszont tartományban történő keresésnél egyelőre nem tudom kiváltani:

 

dim eredm as Range

...

Workbooks(wbnév).Activate
ws.Range("A:A").Select 
Set eredm = Selection.Find(what:=kód, After:=Cells(1, 1), LookIn:=xlValues, LookAt:=xlWhole, _
SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)

 

 

Előzmény: Fferi50 (23155)
tbando Creative Commons License 2013.11.27 0 0 23157

Hát akkor erre az listádra csinálj egy egyedi szűrést. Így mindegyik kombiból csak 1 db lesz. Vagy egy Adatok/Adateszközök/Ismétlődések eltávolítását. 

Előzmény: albino combino (23154)
Fferi50 Creative Commons License 2013.11.27 0 0 23156

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

 

Nagyon kevés az olyan művelet, amit csak select után lehet végrehajtani. Általában erre nincs szűkség, "üldözendő" jelenség a kódban. A makrórögzítő utáni kódból ezt kell legelőször kitakarítani. (Meg az olyanokat, mint scroll...)

 

Üdv.

Előzmény: Fferi50 (23155)
Fferi50 Creative Commons License 2013.11.27 0 0 23155

Szia!

 

Sejtettem, hogy valami ilyesmi lehet a dologban.

 

A select pont az a metódus, ami csak az aktív munkalapon/objektumon működik. Bár erre a help-ben nincs utalás, nagyjából logikus, hogy csak azt választhatod ki amit látsz. (A makró rögzítő ugye teleszórja select-tel meg activate-val a kódot, hogy megmutassa, mit is csináltunk, de ezt nem kell utánozni a vba kódjainkban.)

 

Ezért is írtam, hogy az értékadás működik akkor is, ha nem aktív munkalap egyik szereplője sem. A copy is működik így. Tehát azt kell végig gondolni, hogy melyik utasítás az, amelyhez feltétlenül kell az aktív munkalap. Erre vagy van a help-ben utasítás, vagy előbb-utóbb kiderül a gyakorlatban.

 

Üdv.

 

 

Előzmény: pimre (23153)
albino combino Creative Commons License 2013.11.27 0 0 23154

szuper, eddig működik 
már csak azt hogy csinálom meg, hogy úgy listázza ki külön, hogy eltüntesse a "duplikációk"?
tehát most az 500 soromból lett 700 és szépen ott vannak a tulajdonságok, van amelyikből van 100 is. 
Mert most ha beírom a darabtelit és végighúzom, akkor ugye ott van a 100 egymás alatti tulajdonság mellett, hogy x tulajdonságból van 100 darab

Előzmény: tbando (23151)
pimre Creative Commons License 2013.11.27 0 0 23153

Mi sem egyszerűbb: Egy teljeles üres munkafüzetben egy modulon a következőt elindítom:

 

Option Explicit
Sub Ellenőrzés()
Dim ws1 As Worksheet, ws2 As Worksheet
Application.DisplayAlerts = False ' figyelmeztetések kikapcsolása
Set ws1 = Workbooks("teszt.xls").Worksheets("Munka1")
Set ws2 = Workbooks("teszt.xls").Worksheets("Munka2")
ws1.Activate
ws2.Range("A1").Select
End Sub

 

És a ws2.Range("A1").Select soron hibát jelez. 

Előzmény: Fferi50 (23141)
Fferi50 Creative Commons License 2013.11.27 0 0 23152

Szia!

 

Az előbbi hozzászólásomban (23147) adtam útmutatást a B oszlop szétbontására.

 

"

A B oszlop tartalmát az adatok szövegből oszlopok opcióval szétrakhatod a vesszők "mentén" külön oszlopokba. Utána ezeket az oszlopokat egy oszlopba másolod be egymás alá (az üres cellák is maradhatnak). Majd az adatok, ismétlődések eltávolítása opcióval eltünteted az azonosakat.

Vigyázz, mert "lakás" és "lakás " itt sem egyforma!!!"

 

Üdv.

 

Előzmény: albino combino (23150)
tbando Creative Commons License 2013.11.27 0 0 23151

Csinálj egy specialis szűrést a Csak az egyedi rekordok megjelenítése opcióval Így lesz egy listád az összes tulajdonságról.  Amelyben lesznek olyan cellák, amelyek 1 tulajdonságot tartalmaznak, és lesznek olyanok amelyek többet. A többeket átnézed, hogy szerepel-e a bennük levő összes tulajdonság  szólóban is. Amelyik tulajdonság nem, azt önállóan hozzáírod a listádhoz. Ha ezzel kész vagy jöhet Darabteli. Ha mondjuk a tul.listád az A oszlopban van akkor B1-be írod a képletet, majd végighúzod:

 

=Darabteli(Adatoszlop500;"*"&a1&"*")  

 

Tehát a két jokerkaraktert hozzáfűzöd a keresendő tulajdonsághoz.

 

ps. A darabteli keresése nem case sensitive, tehát mindegy, hogy kisbetüt vagy nagybetüt használsz.

Előzmény: albino combino (23146)
albino combino Creative Commons License 2013.11.27 0 0 23150

őőő bocsánat ismét :)
nagy volt a szám, és nem gondolkoztam időben...

 

szóval a darabteli végülis mégse teljesen jó az én esetemben.

 

Megpróbálom megfogalmazni most már pontosan mi a kínom :)

 

tehát - az 500 sornál a tulajdonságok kb össze-vissza vannak emberenként.

Nekem mindenképpen át kéne néznem az egészet ennek a függvénynek a használatakor, de erre ha nem muszáj nem kerítenék sort, mert 10 ilyen táblázatom van.

 

kb így néz ki a dolog (csak táblázatonként 50-100 tulajdonsággal is akár)

 

a ember - kék, zöld, piros

b ember - zöld, fekete, lila

c ember - kék, zöld, lila, piros

stb.

 

A függvény használatakor át kéne néznem az összes sort, hogy van-e valahol új tulajdonság, és mindegyikre be kellene pötyögnöm a függvényt.

 

Van arra esetleg mód, hogy automatikusan kiszedi az összes kifejezést ÉS aztán ezekre a kifejezésekre nyomja rá a darabtelit? Picit még bonyolítja a dolgot, hogy a tulajdonságok között van olyan, ami 2-3 szóból áll, ezzel meg végképp nem tudom hogy boldogulna. 

pl - d ember - kék, zöld, piros, bugyi lila, fehér

 

Ezt is meg kellene néznie, az én drága kis excelemnek, és kilistáznia, hogy kék -10 darab, bugyi lila -11 darab.

Vagy azt se bánom, ha úgy listázza ki, hogy 

kék -10 darab

kék, zöld - 2 darab

kék, zöld, piros - 1 darab

 

Ekkor már az egyértelmű hülyeségeket ki tudnám szúrni, és ami nem kell azt tudnám törölni.

 

Előzmény: Fferi50 (23148)
albino combino Creative Commons License 2013.11.27 0 0 23149

mucsász grásziász  :)

igazad van, figyelmetlenül olvastam már a legelső válaszod, csináltam magamnak 1 óra pluszmunkát. 

köszönöm szépen, így minden megy normálisan

Előzmény: Fferi50 (23148)
Fferi50 Creative Commons License 2013.11.27 0 0 23148

Szia!

 

Közben megírtam neked!

Szerintem ez egy lépésben megy a darabteli általam javasolt formájában!

 

Üdv.

Előzmény: albino combino (23146)
Fferi50 Creative Commons License 2013.11.27 0 0 23147

Szia!

 

Alighenem elkerülte a figyelmedet a * karakter a példa szó elején és végén. Ez azt eredményezi, hogy akárhol van a keresett szó a cellában, mindig megtalálja.

 

Nagyon szívás tud ám lenni, ha szóközök vagy nem látható karakterek is vannak a cella értékében, amit szabad szemmel észre sem veszel!

 

Ezért használom én a joker karaktereket.

 

A B oszlop tartalmát az adatok szövegből oszlopok opcióval szétrakhatod a vesszők "mentén" külön oszlopokba. Utána ezeket az oszlopokat egy oszlopba másolod be egymás alá (az üres cellák is maradhatnak). Majd az adatok, ismétlődések eltávolítása opcióval eltünteted az azonosakat.

Vigyázz, mert "lakás" és "lakás " itt sem egyforma!!!

 

És már jöhet is a darabteli függvény.

 

Remélem segít!

 

Üdv.

Előzmény: albino combino (23145)
albino combino Creative Commons License 2013.11.27 0 0 23146

elnézést, hogy telenyomom a falat...

szóval arra már rájöttem, hogy a darabteli fix, hogy erre nem használható.

Ha rákeresek a lent említett bazaarvoice kifejezésre, akkor azokat a cellákat megszámolja, amiben CSAK ez van benne, viszont azokat már nem, amik így néznek ki "Bazaarvoice, ForeSee"

Tehát, hogy több tulajdonság is meg van adva. 

Na most nekem vagy egy olyan függvény kellene, ami "szétbontja" a cellát és megnézi, hogy adott kifejezés a cellán belül ott van-e, vagy pedig egy olyan megoldás, hogy a vessző utáni dolgot új cellába tegye, és akkor már használható lenne a darabteli.

 

Most már tényleg csendben ülök és várok, hátha van ötlet :)

Előzmény: albino combino (23145)
albino combino Creative Commons License 2013.11.27 0 0 23145

Elkezdtem játszani a darabtelivel.

Na most valami vagy nagyon nem jó, vagy én vagyok hülye

Beírom ezt - =DARABTELI(A1:A500;"bazaarvoice")

Ki is dob rá szépen 252 találatot, nagyjából stimmel a mennyiség

Beírom ezt - =DARABTELI(A1:A500;"Liferay") (kis és nagybetűvel is próbáltam)

Kidob rá 0 találatot, úgy, hogy LÁTOM, hogy ott van közvetlen mellette legalább 3 (meg ki tudja mennyi még az egész doksiban)

 

Ugyanezt megjátszottam több más kifejezéssel is. A bazaarvoicera bárhol próbálom jó, meg még 2 másikra, de aztán megáll a tudomány. Próbáltam minden variációban beírni.

Az meg gondolom a program "helyes" működése, hogy szótöredékre nem keres - beírom, hogy voice, úgy már semmi eredmény.

 

valakinek tipp?

Előzmény: albino combino (23144)
albino combino Creative Commons License 2013.11.27 0 0 23144

Szia

 

Ez azért nem jó, mert nem csak három-négy fajta tulajdonság van, hanem sokkal több. A házas rész csak példa volt. Lehet, hogy az 500 emberhez van 50 fajta tulajdonság is, így meg ugyanott vagyok, ha kereséssel csinálom. Végig kell néznem akkor az összes sort, mert előfordulhat hogy az 500. embernél új tulajdonság van megadva.

 

Már kiszedtem egy külön munkalapra az összes tulajdonságot.

Gyakorlatilag az kellene, hogy kilistázza nekem hogy miből mennyi van, anélkül, hogy én nézegetném hogy milyen tulajdonságok vannak.

Előzmény: Fferi50 (23143)
Fferi50 Creative Commons License 2013.11.27 0 0 23143

Szia!

 

Használd a darabteli függvényt. A keresendő értéknél léteznek a joker karakterek. Pl. "*kertes*" minden olyan cellát beszámol, amelyben a kertes előfordul.

 

Üdv.

Előzmény: albino combino (23142)
albino combino Creative Commons License 2013.11.27 0 0 23142

Sziasztok

 

2010-es excelben kellene a következőt megcsinálnom:

Van 500 sorom, amibe fel vannak sorolva értékek. 

500 ember, és mindegyikhez van 1-1 tulajdonság, DE van akinél több mint egy van.

Azt kellene csinálni, hogy megszámolni hogy x tulajdonság hány embernél van jelen.


Amiatt nem tudtam rendesen megcsinálni, úgy hogy simán sorbarendezem tulajdonság szerint, hogy ugye 1 emberhez több tulajdonság is tartozik és ez felsorolással van a cellába beírva.

 

Pontosítok inkább :)
szóval van 500 ember, mellette pedig hogy milyen típusú háza van.

A1 Kiss Béla B1 Panel

A2 Nagy Béla B2 kertes

A3 Gazdag Elek B3 Kastély, kertes, nyaraló

stb, stb

 

Nekem az kellene, hogy kidobja, hogy kertes - 27 darab, nyaraló - 5 darab stb.

 

Ezt hogy tudom megoldani?

Köszi

Fferi50 Creative Commons License 2013.11.27 0 0 23141

Szia!

 

Pedig elvileg annak működnie kellene. Mutatsz egy kódrészletet?

 

Üdv.

Előzmény: pimre (23140)
pimre Creative Commons License 2013.11.27 0 0 23140

Szia, azért maradt még egy gondom:

 

a ws.range(ws.cells(...),ws.cells(...)) szintaktika működik, ugyanakkor a ws.range("A:B"), vagy ws.range("A1:B1") stb. forma továbbra sem akar nekem összejönni aktiválás nélkül.

 

Ez kivédhető?

Előzmény: pimre (23138)
Tyorotyere Creative Commons License 2013.11.26 0 0 23139

Sziasztok!

 

Szeretném a segítségeteket kérni! Munkám során gazdákhoz járok. Ott adatokat kell kitöltenem a gazdáról. Ezeket összesítenem kell egy táblázatba. Na most egy munkalap egy sor az összesítőbe és ez úgy van megoldva hogy van 150 munkafüzet az embereknek és van egy 151. ami az összesítő.

Az összesítőben ez a képlet van: =INDIREKT("Munka" & SOR()-1 & "!B3") ugye a B3 változik mindig. Fogalmam sincs amúgy mit jelent mert ezt a képletet is itt írták nekem! :D

 

Gond: Nyitottam egy 152. munkafüzetet ahol más jellegű összesítő van a termékek és azok árai, de ugyanúgy kell a gazdák elérhetősége mint az első 151. en találhat össezítőben, de például a 151. összesítőn a névnél lévő első cella képletét =INDIREKT("Munka" & SOR()-1 & "!B3") átmásolom a 152. névhez tartozó első cellába de nem működik. Tudom egyenlőség jellel is éehet de lesznek más cellák is amit így akarok megoldani.

 

Hogyan lehet ezt megoldani, hogy működjön akár melyik cellával és mindegyik munkalappal? Régen csináltam ezt és már fogalmam sincs mit csináltam :D  Ha kell elküldöma  táblázatot is :D  Köszönöm!

pimre Creative Commons License 2013.11.26 0 0 23138

Szia, köszönöm. Így érthető a dolog logikája is.

Előzmény: Fferi50 (23132)
kezdos Creative Commons License 2013.11.26 0 0 23137

Meg lett így, köszönöm szépen a gyors segítséget!

 

Előzmény: kezdos (23136)
kezdos Creative Commons License 2013.11.26 0 0 23136

Szerintem valamit mellé írhattam? 

http://prntscr.com/26rohc

Előzmény: Törölt nick (23134)
Fferi50 Creative Commons License 2013.11.26 0 0 23135

Szia!

 

Vagy A2 cellába =CSERE(A1;1;SZÖVEG.KERES("/";A1);"")

 

Üdv.

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

Elnézést, azt hittem a fórum megfelezi a perjeleket. Helyesen:

 

=RIGHT(A1;LEN(A1)-FIND("/";A1))

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

Szia!

 

Feltéve, hogy a szöveg amire a függvény hivatkozik, az A1 cellában van:

=RIGHT(A1;LEN(A1)-FIND("//";A1))

 

Előzmény: kezdos (23131)
Fferi50 Creative Commons License 2013.11.26 0 0 23132

Szia!

 

Az értékadásoknak attól függetlenül kell múködniük, hogy az adott munkalap aktív-e vagy sem. A leírt formában viszont valóban akkor működik helyesen, ha az a munkalap, amiről adatot kérsz, vagy amire adatot írsz, éppen aktív (erre sajnos nem gondoltam - sorry-). De ezt az akadályt kis módosítással el lehet hárítani.

Hogy miért van így, arra egy kis magyarázat:

Az excel minden olyan tulajdonságot, amihez nincs külön hivatkozás, az aktív munkalapon levőnek tekint. Azaz pl. az összws.range(cells(1,1),cells(1,utolsóoszlop)) kifejezést csak akkor tudja valóban értelmezni, ha az aktív munkalap az összws, mivel itt két tulajdonság van -range és cells - és két különböző hely lenne mivel a cells adatokat az aktív munkalapról szeretné venni és ez nem "fér össze" az össws-el.

 

Ennek elhárítása egyszerű: minden tulajdonsághoz oda kell írni a hivatkozását:

összws.range(összws.cells(1,1),összws.cells(1,utolsóoszlop)).value=fejlec

 

Ha csak egy tulajdonságot használsz, akkor elég az egy hivatkozás természetesen:

 

összws.range("A1:D1").value=fejlec, ez működik változókkal is:

összws.range("A1:" & utolsóoszlopbetűjele & elsősor).value=fejlec

 

De még így is:

cím = ws.range(ws.cells(1,1),ws.cells(1,utolsóoszlop)).address

összws.range(cím).value=fejlec

 

A változatokból nyilván mindig azt használjuk, ami éppen a leghatékonyabbnak tűnik az adott helyzetben.

 

Remélem, ezzel sikerült egy kicsit érthetőbbé tenni a működést és nem összezavarni amit eddig kikutattál.

 

Üdv.

Előzmény: pimre (23129)
kezdos Creative Commons License 2013.11.26 0 0 23131

Sziasztok!

Abban kérném seígtségeteket, hogy lenne egy ilyen formátumom:

 

12/szoveg1

145/szoveg2

189/szoveg3

 

A /-jel sem kellene ill. az előtte lévő számok sem. 

 

Erre milyen függvényt alkalmazhatnék?

 

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

pimre Creative Commons License 2013.11.26 0 0 23130

Még annyit kiegészítésül, hogy a ws és az összws munkalapok nem ugyanabban a munkafüzetben voltak. Most nem próbálgattam, hogy azonos munkafüzetben hogyan viselkedne a range parancs.

Előzmény: pimre (23129)
pimre Creative Commons License 2013.11.26 0 0 23129

Szia!

 

Most volt alkalmam kipróbálni az alábbi javaslatodat:

 

fejlec= ws.Range(Cells(1, 1), Cells(1, utolsóoszl)).value

összws.Range(Cells(1, 1), Cells(1, utolsóoszl)).Value=fejlec

 

Ahol a ws és az összws munkalapok, amelyeket dim ws as worksheet formában deklaráltam és set ws = Workbooks(akármi).Worksheets(másikakármi) módon adtam meg.

 

Az első sor működik, ha egyébként a ws munkalap aktív. A második azonban nálam csak akkor működött, ha kiadtam az összws.Activate parancsot.

 

 

Tehát tapasztalatom szerint a range használatához az adott munkalapnak aktívnak kell lennie. Jól látom? Erre vonatkozóan nem nagyon találtam leírást, így hosszas próbálgatás után akadtam rá a megoldásra.

Előzmény: Fferi50 (23081)
Fferi50 Creative Commons License 2013.11.22 0 0 23128

Szia!

 

Hát igen, ezeket a "trükkös" jellemvonásokat csak a tapasztalat alapján lehet kiszűrni. Még szerencse, hogy ezeken az oldalakon nagyon sok tapasztalat gyűlik össze.

 

További jó munkát!

 

 

Előzmény: tbando (23127)
tbando Creative Commons License 2013.11.22 0 0 23127

Szia!

 

Én az excellel kapcsolatban semmiben  sem vagyok biztos :)))).

 

Ebben az esetben csak annyit tudtam, hogy az ykorrvekt-t a debug a kép szerint listázta. Ami alapján én oszlopvektornak véltem. Pedig mint  most a segítségeddel rájöttem, ha így listázza tömböt, akkor az excel sorvektornak értelmezi. Hát most már ezt is tudom.

Kösz az együttmüködést.

 

A transpose szintaktikát is köszönöm. Ma nálam is müködött. Tegnap ugyanez  nem müködött, de akkor feltehetőleg egyéb hibák miatt.

 

Előzmény: Fferi50 (23126)
Fferi50 Creative Commons License 2013.11.22 0 0 23126

Szia!

 

Tuti biztos vagy az ykorrvekt szerkezetében? Az Excel ilyen esetekben nem szokott tévedni.

Szerintem az ykorrvekt vízszintes, azaz S1O4 alakú, mivel számolod(!) és nem range-ből definiálod.

Ha azt akarod, hogy S4O1 alakúnak látsszon, akkor transzponálnod kell:

Worksheetfunction.Transpose(ykorrvekt)

 

Remélem, így már működik.

 

Üdv.

Előzmény: tbando (23124)
tbando Creative Commons License 2013.11.22 0 0 23125

Érdekes ez a LIN.ILL-es megoldás. De nálam nem működik (2007-es). Nem csak a te polinomialis problémádnál, de már az excel súgó mintapéldájánál sem, pedig azt copy-paste-tal  vittem be. De csak #ÉRTÉK hibákat ereményezett. A te képletedben a kitevők kapcsos zárójelét hogy kell beírni?  Billentyúzéssel?  Meg azt sem értem minek kell transzponálni?

 

Ja és még valami! A felrakott polielo függvényemben maradt egy sajnálatos hiba, ezért a jelenlegi formájában csak a negyedfoku polinomot számolja ki. A javítása elég egyszerű. Az állandó kiszámításánál (9. pont) A For i=1 to 4 helyesen: For i=1 to fok.

 

Előzmény: NPW (23122)
tbando Creative Commons License 2013.11.22 0 0 23124

Hát bár úgy néz ki, hogy igazad van,  de a feltett udf-ben valami speiális probléma lehet Ugyanis a  

 

'bisvekt = Application.WorksheetFunction.MMult(xikorrmtx, ykorrvekt) utasítás S4O1=S4O4*S4O1 szerkezetű aminek müködni kéne, de nem müködik,

 

míg a bisvekt = Application.WorksheetFunction.MMult(ykorrvekt, xikorrmtx) pedig   S4O1=S4O1*S4O4 szerkezet, aminek nem lenne szabad müködnie, és mégis müködik.  ????

 

A matrix is és a vektor is For next-tel lett feltöltve. 

 

***********

 

Javasoltad a tanspose-t. De nem megy. A vba tömbök transponálásának mi a szintaktikája?  

Előzmény: Fferi50 (23123)
Fferi50 Creative Commons License 2013.11.21 0 0 23123

Szia!

 

A titok nyitja a mátrix algebrában van!

"Csak"  annyi a probléma a matrix szorzásnál, hogy a matrix műveleteknél nem mindegy balról vagy jobbról szorzod a mátrixokat!

Hogy ismét az Excel helpet idézzem:

"A tömb1 oszlopai számának egyeznie kell a tömb 2 sorainak számával és mindkét tömb csak számokból állhat."

 

Az első esetben a 4S*4O mátrix szorozható az 4S*1O mátrixxal (eredmény 4S*1O), de az 4S*1O mátrix nem szorozható a 4S*4O matrixxal.

 

A második esetben szintén arról van szó,hogy a két egy oszlopból álló mátrix (azaz vektor) nem szorozható direktben össze. A szorzáshoz a második mátrixot transzponálni kell (Transpose függvény!) és akkor kapsz egy egy elemű mátrixot (skalárt) eredményül.

 

Üdv.

Előzmény: tbando (23121)
NPW Creative Commons License 2013.11.21 0 0 23122

Köszi!

 

Közben kutakodtam én is tovább, és azt hiszem, egy ausztrál honlap meghozta az ihletet.

 

A nyerő képlet:

 

{=LIN.ILL(TRANSZPONÁLÁS(y adatsor);TRANSZPONÁLÁS(x adatsor)^{1.2.3})}

 

Ez kiadja a harmadfokú egyenlet kitevőit, amivel megkereshető az új x-hez tartozó y.

 

Viszont ennek kapcsán 2 további érdekességre bukkantam.

 

1/Ez csak 2007-es Excelnél működött (itthon ilyen van), 2010-essel valamiért nem (munkahelyen olyan van). Tudja valaki, mi lehet az oka? (ja és az utolsó mátrix 2010-ben: {123}

 

2/A képlet csak akkor működik, ha minden x és y érték megvan. Ugyanakkor ha kitörlök néhány x-et vagy y-t, akkor a grafikonon megjelenő egyenlet továbbra is működik. Kiváncsi lennék, ott hogyan számolnak.

Előzmény: tbando (23121)
tbando Creative Commons License 2013.11.21 0 0 23121

Bár Jimmy szenzációs makrójával a diagramról is le tudod venni polinomialis egyenletet, úgy gondoltam, hogy ha már belekezdtem, be is fejezem  a polinomialis illesztes makrósítását. Sokat tanultam közben. Neked meg felteszem  ide a polinomialis összefüggés forecast fuggvényét polielo() néven. 

 

=polielo(a,b,c,d), ahol

 

a: x, aminek a párját keresed

b: x adatok tartománya

c: y adatok tartománya

d: a polinomiális egyenlet foka

 

Fontos: A függvény moduljat Option Base 1-re állitsd.

 

A függvényt az Immediate ablakban ellenőrizheted, mert oda beírja az együtthatókat és az állandót, így azokat összevetheted a diagramon szereplőkkel.

 

A makróban van 2 kikommentelt piros sor is. Matrixmüveletek amik nem müködtek. Hátha lesz itt valaki olyan okos, aki meg tudja magyarázni,  hogy mi velük a probléma.

 

 

**********

Option Explicit
Option Base 1

****************

 

Function polielo(a, b, c, d)

 

Dim wsac&, x#(), y#(), xy(), tmb1(), tmb2(), xkorrmtx(), xikorrmtx(), ykorrvekt(), kovarvekt(), bisvekt(), bivekt(), xavgvekt()
Dim fok%, i%, j%, k&, sumi#, Ykovar#, Yavg#, allando#

 

'1 adatbevitel és Redimek
fok = d
wsac = b.Rows.Count
ReDim x(wsac), y(wsac), xy(wsac, 2), tmb1(wsac), tmb2(wsac), xkorrmtx(fok, fok), xikorrmtx(fok, fok), ykorrvekt(fok), kovarvekt(fok)
ReDim bisvekt(fok), bivekt(fok), xavgvekt(fok)


For i = 1 To wsac ''wsac: adatparok szama
x(i) = b(i)
y(i) = c(i)
Next i

 

''2.xkorrmtx kitoltese
For i = 1 To fok
For j = 1 To fok
For k = 1 To wsac
tmb1(k) = x(k) ^ i
tmb2(k) = x(k) ^ j
Next k
xkorrmtx(i, j) = Application.WorksheetFunction.Correl(tmb1, tmb2)
Next j
Next i

 

''3 xikorrmtx (inverzR) kiszamitasa

 

xikorrmtx = Application.WorksheetFunction.MInverse(xkorrmtx)

 

''4 ykorrvekt kitoltese
For i = 1 To fok
For k = 1 To wsac
tmb1(k) = x(k) ^ i
tmb2(k) = y(k)
Next k
ykorrvekt(i) = Application.WorksheetFunction.Correl(tmb1, tmb2)
Next i

 

''5 bisvekt (bi standardizalt regrkoef) kiszamitasa

 

''bisvekt = Application.WorksheetFunction.MMult(xikorrmtx, ykorrvekt) EZ MIÉRT NEM MÜKÖDIK, ha az alatta levő igen. Az xkorrvekt(4), a xikorrmtx(4,4) dimenzójú

 

bisvekt = Application.WorksheetFunction.MMult(ykorrvekt, xikorrmtx)

 

''5 kovarvekt es Ykovar
For i = 1 To fok
For k = 1 To wsac
tmb1(k) = x(k) ^ i
tmb2(k) = x(k) ^ i
Next k
kovarvekt(i) = Application.WorksheetFunction.Covar(tmb1, tmb2)
Next i

 

For k = 1 To wsac
tmb1(k) = y(k)
tmb2(k) = y(k)
Next k
Ykovar = Application.WorksheetFunction.Covar(tmb1, tmb2)

 

''6 kovarvektor módosítasa
For i = 1 To fok
kovarvekt(i) = (Ykovar / kovarvekt(i)) ^ (1 / 2)
Next i

 

''7 bivektor (polinomialis regr. koeff)
For i = 1 To fok
bivekt(i) = bisvekt(i) * kovarvekt(i)
Debug.Print bivekt(i)
Next i

 

''8 xavgvekt és Yavg

For i = 1 To fok
sumi = 0
For k = 1 To wsac
sumi = sumi + x(k) ^ i
Next k
xavgvekt(i) = sumi / wsac
Next i

 

sumi = 0
For k = 1 To wsac
sumi = sumi + y(k)
Next k
Yavg = sumi / wsac

 

''9 allando
''allando = Application.WorksheetFunction.MMult(xavgvekt, bivekt). MIERT NEM MUXIK ???? Kénytelen voltam For-next-tel kiváltani. Mindkét vektor 4 elemű.
sumi = 0
For i = 1 To 4
sumi = sumi + xavgvekt(i) * bivekt(i)
Next i
allando = Yavg - sumi

Debug.Print allando

 

'' 10 elorejelzes
sumi = 0
For i = 1 To fok
sumi = sumi + bivekt(i) * a ^ i
Next i

 

polielo = sumi + allando

 

End Function

 

Előzmény: NPW (23105)
tbando Creative Commons License 2013.11.21 0 0 23120

Neked is köszönöm Feri! Az ilyen magyarázatok, sokat segítenek. 

Előzmény: Fferi50 (23118)
Fferi50 Creative Commons License 2013.11.21 0 0 23119

Szia!

 

Még egy kiegészítés: Ha hibakezelési részt is írsz bele, akkor megkapod az 1004 Application defined errort.

 

Üdv.

Előzmény: tbando (23115)
Fferi50 Creative Commons License 2013.11.21 0 0 23118

Szia!

 

Amíg az Excel "szerkesztés" üzemmódban van, nem lehet megváltoztatni makróval a munkalap tartalmát. Márpedig a függvény beírásakor szerkesztés  feliratot látsz a statusbaron. Ha csinálsz egy kis próbát a worksheet change eseménnyel, kiderül, hogy az csak akkor kezd lefutni, ha már a függvényed lefutott.

Ilyen esetben még a VBA szerkesztő sem működik. Én már többször jártam úgy, hogy egy munkalapon belekattintottam egy cellába, majd utána átváltottam VBA-ra és az "istennek" sem akarta bevenni, amit írni szerettem volna.

 

Üdv.

Előzmény: tbando (23115)
tbando Creative Commons License 2013.11.21 0 0 23117

Kösz Jimmy! Így utólag belegondolva, logikus. 

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

Vannak dolgok, amiket egy UDF nem hajlandó megcsinálni. Többek közt ilyen a munkalap módosítása. Ne is erőlködj vele.

 

http://www.ozgrid.com/Excel/free-training/ExcelVBA1/excelvba1lesson21.htm

 

Első pár bekezdés.

Előzmény: tbando (23115)
tbando Creative Commons License 2013.11.20 0 0 23115

Tisztára hülyét kaptam excel  udf készítéskor. Segítséget kérnék, mert anélkül hamarosan begolyózok.  Az alábbi 3 makró közül a makro2 a makró1-ből indítva gond nélkül lefut. Azaz a kijelölt Munka1!A11:B28 tartományt szépen másoja.

 

A másolandó tartományt azonban fgv-nyel  kijelölve krach.

A Munka1!B30-ban levő függvény csak az első 3 lépést hajtja végre normálisan, a többit nem

A kikommentelt Copy bekapcsolva sem másol

A bekapcsolt wsaa értékadás sem müködik, ráadásul  a makró futását is leállítja

A kikommentelt wsaa  esetén a makro2-t ugyan  meghívja, de nem hajtja vége  az abban előírt másolást, és nem lép vissza a fgvmakróba.

Hogyan van ez?

 

**************

Option Explicit

Dim wsp As Worksheet, wsa As Worksheet, wsaa As Range, wsaacim$, wsaasor

***********

 

Sub makro1()

makro2 0

End Sub

 

***************

 

Sub makro2(flag)

Set wsa = ActiveSheet: Set wsp = Sheets("Munka2")

If flag = 0 Then Set wsaa = Selection

wsaa.Copy

wsp.Range("d11").PasteSpecial xlPasteValues

wsp.Range("f11").Formula = "=a11 = d11"

End Sub

*************

 

Function fgv(x, adatok)

Set wsaa = adatok

wsaacim = wsaa.Address

wsaasor = wsaa.Rows.Count

''wsaa.Copy ActiveSheet.Range("e11")

''ActiveSheet.Range("e11") = wsaa

makro2  1

fgv = 4

End Function

***************

 

A munkafüzetetet felraktam a Data.hu-ra is.

Letöltőlink :

http://data.hu/get/7145608/excel_makro-vs-fgv.xlsm

 

Előzmény: forzajuve (23114)
forzajuve Creative Commons License 2013.11.20 0 0 23114

Kimásolod, és Irányított beillesztés, értéket.

Előzmény: szgaborgabor (23113)
szgaborgabor Creative Commons License 2013.11.20 0 0 23113

köszi, ez jónak tűnik elsőre, DE az a bajom már csak vele, hogy függvényként menti el. 

ezt a fájlt fel kellene töltenem aztán máshova, viszont így, hogy függvényként van, így nem tudja értelmezni, mert azt látja hogy =A1$B1, nekem meg az kéne hogy 001.JPG legyen.

Ha arra nyomok, hogy szövegként illessze be, akkor viszont leveszi a .JPG-t

Előzmény: forzajuve (23112)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!