Keresés

Részletes keresés

Retro Image Creative Commons License 2013.01.18 0 0 20097

Például ha a szubrutinból függvényt csinálsz :)

 

Vagy:

 

Sub Összeadás(paraméter1, paraméter2, eredményt_ide)

    eredményt_ide = paraméter1 + paraméter2

End Sub

 

Sub Teszt

   Dim összeg As Long

   Összeadás 1, 1, összeg

   MsgBox "Egy meg egy az annyi mint " & összeg

End sub

 

 

Lényeges, hogy az eredményt_ide változó ByRef legyen átadva a szubrutinnak. De mivel ez az alapértelmezés, nem kell feltétlenül odaírni. Csak ne ByVal legyen.

Előzmény: tbando (20095)
Retro Image Creative Commons License 2013.01.18 0 0 20096

Józsi bával kiprobántuk futtatásügyileg is a két sört sort amit bekűdtél felülvizsgálatra.

A két sor - konteksztusból kiemelintvén - ippeg azt tette, amit elvártunk tőlük: megtanáltak minden dátumot.

Nosza, mondá erre Józsi bá, lássuk a teljes kódot, mer' ez így bakfitty. Vagy tán aztat kéne csekkolni, hogy a meg nem tanált dátumok nem-e esetleg-e szövegként vannak-e beírván-e.

Előzmény: Törölt nick (20091)
tbando Creative Commons License 2013.01.18 0 0 20095

Egy pancser kérdés: A subrutinban kiszámított értéket hogy lehet visszaadni a főprogramnak? 

tbando Creative Commons License 2013.01.18 0 0 20094

Nem hinném, hogy a makróval lenne probléma. Akkor nem ismerte volna fel az előző dátumokat sem.

Előzmény: Törölt nick (20091)
tbando Creative Commons License 2013.01.18 0 0 20093

Feltételezem, hogy azért nem lehet vele müveleteket végezni, mert szövegként vannak bevíve, amit valamiért az excel nem tud időként értelmezni. Próbálkozz a szövegfüggvényes felbontásával, majd azok value-sitásával.

 

De ha nem ragaszkodsz az amerikai dátumkijelzéshez, és a 19-07 közötti kezdő időpontokhoz, akkor a pár napja a data.hura feltett megoldásom is megfelelhet. A linkjét valahol lejjebb megtalálhatod.

Előzmény: Numan (20083)
tbando Creative Commons License 2013.01.17 0 0 20092

Tegyél fel ide néhány konvertálást. Hogy  mit mivé konvertált. De ne csak elfuseráltat, de 1-2 helyesen felismertet is. Hátha attól okosabbak leszünk. De küldhetsz priviben is egy kis kollekciót.

 

Ha végleg nem jutunk semmire, akkor csak egy nagyon babrás megoldás marad, hogy nem html-ként másolsz hanem formázatlan szövegként.  Ekkor sajnos a táblázatformának lőttek, de a sorok szövegfüggvényekkel szétszedhető. Ha mindig ugyanazt táblázatszerkezetet másolod az excelbe, akkor még rentábilis is lehet.  

Előzmény: roley (20086)
tbando Creative Commons License 2013.01.17 0 0 20090

Mondd meg neki, hogy erről az oldalról töltsön le.  

 

http://www.mnb.hu/arfolyam-lekerdezes

 

Minden további nélkül lehet számolni a számokkal, a dátumokkal, és grafikon is csinálható belőlük.

Előzmény: pigee (20088)
pimre Creative Commons License 2013.01.17 0 0 20089

Holnap még kísérletezem vele egy kicsit (a dátum és időformátumok kezelésében sajnos teljesen amatőr vagyok), aztán ha nem jön össze, megkérdezem a fórumtársakat. Hátha kapunk valami jó tanácsot.

Előzmény: Numan (20083)
pigee Creative Commons License 2013.01.17 0 0 20088

Nem tudom pontosan, az mnb oldalan valahol van egy olyan lehetoseg, ahol bizonyos idoszakok arfolyamait lehet letolteni excelben.

Allitolag most csak latszolag jo, de amikor a tartalommal szamolni akarnak, vagy grafikont csinalni, akkor sok a hiba.

Előzmény: tbando (20061)
Retro Image Creative Commons License 2013.01.17 0 0 20087

Osztán az 'a' változó méllyen típus? Van-é deklarálva egyáltalán?

Józsi bá szerint Date köllene, az meg bizti, hogy a Long bukta.

 

Előzmény: Törölt nick (20082)
roley Creative Commons License 2013.01.17 0 0 20086

Sajnos így sem sikerült.

Előzmény: tbando (20085)
tbando Creative Commons License 2013.01.17 0 0 20085

Másolj végig a sor2-n egy dátumérték függvényt. Hátha már az sem ismeri fel a 2010.10.10-t.  Eggyel nagyobb számot kell mutatnia mint az előzőnek. 

Előzmény: Törölt nick (20082)
roley Creative Commons License 2013.01.17 0 0 20084

Köszi a választ!

 

 

Az exceles megoldás nekem nem jó, mert makroval akarom behívni külső forrásból, netről, és ott nem tudom megoldani, hogy wordbe másoljam majd úgy. Nem lehet vhogy beállítani, hogy ne változtasson semmit a formátumon?

Előzmény: tbando (20080)
Numan Creative Commons License 2013.01.17 0 0 20083
Nagyon jol mukodik a makro, es nagyon sokat is segitett. Valoban nem lehet vele muveleteket vegezni. Erre nincs esetleg valamilyen megoldas,mert ez lenne az alapja a tobbi szamolasomnak.
Koszi.
Előzmény: pimre (20043)
tbando Creative Commons License 2013.01.17 0 0 20081

De megoldás lehet a dátum és idő függvények használata is.

Előzmény: tbando (20080)
tbando Creative Commons License 2013.01.17 0 0 20080

Először word-be másold, ott cseréld ki a kritikus karaktereket, majd ezt másold be az excelbe. Így minden adatod string lesz amit aztán manipulálhatsz. 

Előzmény: roley (20079)
roley Creative Commons License 2013.01.17 0 0 20079

Sziasztok!

 

 

Hogyan lehet azt megoldani, hogy amikor excelbe beillesztek pl.: egy netről kimásolt táblázatot, akkor az ott lévő adatok változatlan formában maradjanak, azaz például ne váltsa át őket dátumra.  Eddig bármilyen módon próbálkoztam, mindig átvált párat dátumra, vissza viszont már nem tudom őket alakítani, így elvesztem az adatokat.

 

Köszönöm a segítséget előre is.

 

 

üdv, Roley

Sánta Kutya (SK) Creative Commons License 2013.01.17 0 0 20078

Pontosan. De nálam 'a marad, szerintem magyar beállításoknál ez a normális. Az alt gr 3 csak a kalapjelesekhez kell: szövegben betű (amelyikhez megy: î, â, ô, ^u, ^e), Excelben hatvány.

Viszont °a ů °o é (alt gr 9 + e), ő (alt gr ö + o).

Tehát nem az aposztróf (shift 1, '), hanem a ´ (alt gr 9) megy fel az a-ra.

Előzmény: tbando (20077)
tbando Creative Commons License 2013.01.17 0 0 20077

Aha! Így már értem, hogy miért tapasztaltam időnként, hogy 'a = á. Sőt, mint most kiderítettem, az "a = ä,  az "o = ö. De nálam ehhez alt gr+3-ra nincs szűkség.  És megjegyzem, ez nem excel, hanem windows sajátság lehet, mert ezt a posztot írva is így működnek ezek a billentyük

Előzmény: Sánta Kutya (SK) (20074)
tbando Creative Commons License 2013.01.17 0 0 20076

Nocsak.  Én a Kovalcsik könyv alapján azt hittem, hogy az alt gr+3 megoldás csak a vba sajátja. Bár én ott se használom, mivel nekem ^^bs  billentyűsorozat testhezállóbb.

Előzmény: _Nyuszi (20072)
Sánta Kutya (SK) Creative Commons License 2013.01.17 0 0 20075

Bocs, figyelmesebben: a felsoroltak közül ez a kalapnál normális, de van még pár hasonló a felső sorban.

Ha az aposztróf csinálja, akkor valamilyen beállítás el van állítva.

Előzmény: tbando (20071)
Sánta Kutya (SK) Creative Commons License 2013.01.17 0 0 20074

Azoknak a jeleknek szándékosan ilyen a működésük! Úgy működik egyszerűen, ahogy Nyuszi leírta.

Azért van, mert ezek ékezetként felugorhatnak a következő betűre, ezért meg kell várniuk a megjelenéssel, hogy mit nyomsz még meg. Pl. alt gr 3 + a = â.

Előzmény: tbando (20071)
tbando Creative Commons License 2013.01.17 0 0 20073

Még soha életemben nem használtam az excel beépített webquery-jét, sőt még nem is hallottam róla, ezért megkérlek, hogy mutasd be.  Bár nem hiszem, hogy erre az mnb-s lap lenne a legalkalmasabb, mivel ott nem a weblapot vagy a részét töltöd le, hanem a felajánlott excellapokat, amikkel nálam semmi gond sem volt, szemben piquee tapasztalataival.

 

A linket azért felteszem, nézd meg te is:  

 

http://www.mnb.hu/arfolyam-lekerdezes

 

Előzmény: ujszaszy (20065)
_Nyuszi Creative Commons License 2013.01.17 0 0 20072

A kalap nálam is ilyen, úgy szoktam megoldani, hogy folytatom a gépelést. Pl. második hatvány esetén egyszer Alt Gr+3, aztán meg egy kettes, és akkor OK. :)

Előzmény: tbando (20071)
tbando Creative Commons License 2013.01.17 0 0 20071

Ott még nem tartunk, hogy ne hívja be a file-t. Behívja, csak problémát jelez, amit idáig nem csinált. És emiatt aggódom, hogy hátha bekapott valamit.

 

Egyébként van valami zűr a beállításaimmal, mert több furcsasága is van.  Pl. Behívom a filet, látszólag semmi gond vele, aztán kiderül, hogy a nyíl-billentyük süketek. Aztán újra behívom a filet, és akkor minden rendben van.  Amihez viszont alkalmazkodnom kellett, hogy az ' az " és a ^ jeleket 2x kell beírnom, aztán a másodikat kitörülni, mert az elsőre nem hajlandó elfogadni őket, de a második leütésre mindkettőt beviszi.

Előzmény: ujszaszy (20066)
tbando Creative Commons License 2013.01.17 0 0 20070

B+, lemaradt

 

Előzmény: tbando (20069)
tbando Creative Commons License 2013.01.17 0 0 20069

Nagy szerencse, hogy kérted a solver beállításokat. Mert készítve neked elő, újra futtatva a solver talált egy 6 deszkás változatot :)))). Kemény forintokat spórolva ezzel, ha még nem vetted volna meg a 7-t.  Az új futás linkje, magyarázatokkal:

 

http://data.hu/get/6088388/mtibsi-solver5.xlsx

 

Az új futás eredményét ide is kiteszem:

 

 

 

 

Előzmény: mtibsi (20068)
mtibsi Creative Commons License 2013.01.17 0 0 20068

Szívesen megnézném a Solver beállításokat.

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

Előzmény: tbando (20041)
pimre Creative Commons License 2013.01.17 0 0 20067

Így már egy kicsit érthetőbb. Tehát nem a sorszámot akarod szorozni, hanem az adott sorszámhoz, ID-hez (ez utóbbi szerintem pontosabb, hiszen ezzel azonosítod a terméket) tartozó számot (beolvasások száma) kell szorozni az adott termékhez tartozó konstans számmal. Amiről feltételezem, hogy az ID értékből tudható, hogy az adott termék esetén mennyi a szorzószám. És ezt szeretnéd automatizálni, ha jól sejtem.

 

1. Ha a probléma csak technikai, azaz a beszkennelt lapot nem tudja kezelni az Excel, akkor nem tudok mit mondani. Ekkor tbando(#20057) észrevétele szerint karakterfelismeréssel digitalizálni kell a beszkennelt táblázatot. Jelzem, ez életveszélyes, hiszen a karakterfelismerés szinte sosem 100%-ban hibátlan, tehát ellenőrzés nélkül számolni vele hibákra vezet.

 

2. Ha az adatok már digitálisak, és excel táblában számokként állnak rendelkezésre, és a probléma csak az eljárás végrehajtása, akkor Delila #20064-es javaslata lehet jó.

 

Ha viszont az eljárás automatizálása a feladat, tehát hogy egy táblázatban tárolod az egyes ID értékekhez tartozó szorzószámokat, és ezt szeretnéd összeszorozni az éppen beolvasott (digitalizált!) adatlapon szereplő beolvasási értékkel, akkor talán az FKERES függvény lehet jó. De ebben tbando jártasabb nálam, én ezzel nem foglalkoztam.

Előzmény: djmorphy (20060)
ujszaszy Creative Commons License 2013.01.17 0 0 20066

Hello, nem gyakran, de előfordult.

Újraindítás lehet, hogy segít, de azok a fájlok, amiket az istennek sem akar megnyitni az excel, minden gond nélkül megnyithatók open office-ba, ami nem érzékeny a hibákra. Ha abban sikerül megnyitni, változtatás nélkül visszamented xlsx formátumba.

Nekem ez bevált

Előzmény: tbando (20063)
ujszaszy Creative Commons License 2013.01.17 0 0 20065

Próbáltátok az excel beépített web query funkcióját?

ha hozzálinkeled egy weblap egészét, vagy részét az excelhez, ami minden megnyitáskor és mentéskor frissíti magát a weblapról.

 

Ha megmondod melyik nmb oldal, akkor megmutatom, mire gondoltam

Előzmény: tbando (20061)
Delila10 Creative Commons License 2013.01.17 0 0 20064

Beírod a szorzót egy tetszőleges üres cellába. Ctrl+c-vel másolod. Kijelölöd a tartományt, amit fel akarsz vele szorozni. Jobb klikk, irányított beillesztés, szorzás. Törölheted a szorzót.

 

Ha a szorzó 1, ezzel a módszerrel is könnyen számmá alakíthatod a szövegként bevitt értékeket.

Előzmény: djmorphy (20056)
tbando Creative Commons License 2013.01.17 0 0 20063

Tegnap óta az excelem (2007) viszonylag sokszor azt csinálja, hogy a rendben lementett fajljaim behívásakor kíírja, hogy hibát észlel, de azért megpróbálja behívni a munkafüzetet. Miután behívta vagy találok hibát a munkalapon vagy nem. Ha találok, akkor az az, hogy egyes cellaképleteket nem tudja értelmezni. A hibás cellára ráklikkelve, majd F2 + enter után a hibás kijelzés megszűnik.  Találkoztatok már ilyennel? És ha igen, kiderült az oka? 

tbando Creative Commons License 2013.01.17 0 0 20062

Megintcsak rákérdezek melyik mnb-oldalról van szó. Ugyanis megtaláltam a dátumos oldalt, letöltöttem a teljes 2012 évet, meg a 2013-t a mai napig, és minden tökéletesen müködött rajta. 

Előzmény: tbando (20061)
tbando Creative Commons License 2013.01.17 0 0 20061

Melyik oldalról van szó? Én ugyanis találtam egy mnb lapot, arról minden további nélkül átvehetők voltak az árfolyamok, de dátumok sehol.

Előzmény: pigee (20059)
djmorphy Creative Commons License 2013.01.16 0 0 20060
Természetesen konstansra gondoltam. Csak ma agyilag zokni vagyok ezért is fogalmaztam ilyen hülyén. :-)

Szóval a scanner beolvas egy ID számot. Ez egy dobozt jelent amibe ID függően más és más mennyiségű termék van. És ebből csináltam a kimutatás t.
De nem azt szeretném látni a kimutatásban hogy az 12345 sorszámú tételt 2013.01.01 08:00 és 16:00 között 20 olvasták be. Mert ez csak a dobozt jelenti. És ez az amit meg kellene szorozni 40el mert ennyi termék van egy dobozban azaz 20x40dbot gyártottak le aznap

De ugyan ezen feltételekkel az 54321 sorszámú olvastuk be 20szor azt csak 10el kell megszorozni mert csak 10 termék van egy dobozban nem 40
Előzmény: pimre (20058)
pigee Creative Commons License 2013.01.16 0 0 20059

Foglalkozott valaki az mnb arfolyamok letoltesevel? Itt szentsegelt egesz nap egy fiu, hogy valamit valtoztattak rajta, ezert nem lehet excelben hasznalni a datum es szam adatokat, mert szokozok vannak kozbeiktatva es valami masra kell konvertalni, vagy ujra begepelni az egeszet.

pimre Creative Commons License 2013.01.16 0 0 20058

Sorszámokat szorozni statikus számmal? Azt még értem, hogy a statikus szám nyilván konstanst jelent, de mi célja lehet a sorszámmal végzett műveletnek. Az meg tényleg csak hab a tortán, hogy mindezt egy szkennelt dokumentumon:-)))

 

Nem lehetne a problémát egy picit közérthetőbben leírni?

Előzmény: djmorphy (20056)
tbando Creative Commons License 2013.01.16 0 0 20057

De valahogy nem lehet megcsinálni, hogy a bizonyos sorszámokat statikus számmal megszorozzam?

 

Ezek szerint vannak olyan beszkennelt sorszámok, amiket lehet szorozni?  Ezen most nagyon meglepődtem. Nekem még sosem sikerült. Igaz, nem is próbálkoztam vele karakterfelismerő nélkül.

Előzmény: djmorphy (20056)
djmorphy Creative Commons License 2013.01.16 0 0 20056

Megint a segítségetekert kérném.

 

Csináltam egy beszúrás/kimutatást. Ami nagyon jól mutatja napi szinten óra perc mp-re lebontva amit beolvasott a scanner és tök egyszerű is emelett. 

De valahogy nem lehet megcsinálni, hogy a bizonyos sorszámokat statikus számmal megszorozzam?

Teszem azt hogy 2013.01.01-én van 20db "12345" sorzámú tétel amit én 40-el meg akarok szorozni.

Sánta Kutya (SK) Creative Commons License 2013.01.16 0 0 20055

Éppen most használtam adatbázisból exportált, szövegnek látszó egész számok és tizedesponttal jelölt számok felismertetésére is. :-) Már mondtad korábban is, de kiment a fejemből, így jókor jött az ismétlés.

Előzmény: SQLkerdes (20053)
ujszaszy Creative Commons License 2013.01.16 0 0 20054

Tényleg nagy királyság :-)

Köszi SQLkerdes!

Előzmény: SQLkerdes (20053)
SQLkerdes Creative Commons License 2013.01.16 0 0 20053

A logikája pusztán annyi, hogy amikor az excel ezt a parancsot végrehajtja akkor újra értelmezi azt, hogy a cellák milyen tipusú adatot tartalmaznak.  Az extra jóság, hogy nem csak az excel találgatására vagyunk utalva, hanem közvetlenül meg is mondhatjuk, hogy milyen adattipusnak kezelje a létrejövő új cellát.  A trükk, hogy a létrejövő új cella ugyanaz mint a korábbi cella.

 

Ugyanezt a technikát lehet használni abban az esetben amikor az excel nem ismer fel számokat, ez tipikusan txt file-ok beimportálásakor szokott előfordulni.

Előzmény: tbando (20042)
djmorphy Creative Commons License 2013.01.16 0 0 20052

Óóó hogy ez nem jutott eszembe... :)

 

Köszi!  És bocsi, hogy lemaradt az azonosítók! :)

Előzmény: ujszaszy (20051)
ujszaszy Creative Commons License 2013.01.16 0 0 20051

Sziasztok!

 

egyetértek Delila-val. Ha tényleg ennyi a feladat, hogy a 60-nál nagyobb értékeknél automatikusan legyen "raktáron"

viszont azt javasolnám, hogy a táblázat struktúrában gondold ét, hogy nem érdemes-e változtatni.  Pl legyenek egymás alatt a hetek, mert így sokkal könnyebb lesz bármilyen további műveletet, kimutatás készíteni.

Ráadásul lehet, hogy átláthatóbb is lesz, mert ugye most egy év alatt 104 oszloppa bővül a táblázatod.

Előzmény: Delila10 (20050)
Delila10 Creative Commons License 2013.01.16 0 0 20050

Nem vagyok biztos benne, hogy a kép alapján jobban értem a feladatot. Most úgy sejtem, hogy ha a B oszlopba 60, vagy annál nagyobb értéket írsz, az E és H oszlop azonos sorában jelenjen meg a "ratáron" felirat.

 

Bár nincsenek sor-, és oszlopazonosítók a képen, úgy sejtem, hogy az első lehetséges beírás heyle a B4 cella. Az E4 képlete legyen =HA($B4>=60;"raktáron";""), ezt másold át a többi héthez a H4, K4, stb. cellákba.

Előzmény: djmorphy (20049)
djmorphy Creative Commons License 2013.01.16 0 0 20049

Szia!

 

Linkelem hogy néz ki a táblázat. Na most ebből van 100 egységig amihez hozzá lehet fűzni, hogy hanyadik héten történt a bejegyzés és megjegyzést lehet hozzátenni.

És azt szeretném, hogy ha van mondjuk 60 egységgel akkor ne egyessével kelljen kiválasztani, hogy raktáron hanem automatikusan legyen raktáron.

 

 

https://lh3.googleusercontent.com/-Or5_P30S4FE/UPZaQ4eRebI/AAAAAAAAFuw/g4WWt-f0zZU/s1024/excel.jpg

 

 

Előzmény: Delila10 (19986)
Delila10 Creative Commons License 2013.01.16 0 0 20048

Módosítod a sablonodat, és más néven mented. Ez új fájl létrehozásának minősül, vagyis tudod menteni a hálózati mappába.

Előzmény: Redlac (20046)
Numan Creative Commons License 2013.01.16 0 0 20047

Köszönöm ismételten a kódot, még csak most fogom tesztelni, de amint végignéztem írok majd.

 

Előzmény: pimre (20043)
Redlac Creative Commons License 2013.01.15 0 0 20046

Köszönöm az ötletelést, nem belekotyogásnak veszem :-)

 

A helyzet az, hogy de a szerveren van az, amit te is írsz. A gond, hogy ide CSAK másolni tudunk, módosítani, törölni nem...tehát ide csak akkor másolunk fel valamit (Excel, Word dokumentum, fénykép), ha már kész.

 

Előzmény: pimre (20045)
pimre Creative Commons License 2013.01.15 0 0 20045

Bocs, hogy belekotyogok, de nem értem, miért kell mindenkinek a saját gépére menteni a fájlokat. Mert úgy látom, ebből adódik a legtöbb gond. Nincs egy olyan központi szerver, amely mindig rendelkezésre áll? Mert ha van, akkor én ott nyitnék egy könyvtárat. Ebben létrehoznék felhasználónként egy-egy alkönyvtárat. És akkor mindenkinek a saját könyvtárába kerülhetne a mentés. És akkor könnyebb lenne az esetenkénti archiválása is az egész állománynak. És akkor talán a fájlnevek kezelésére is könnyebbb lenne kidolgozni valami egyszerűbb rendszert. És Te nem a pendrájvodra dolgoznál, hanem a szerverre, és ha kell otthon is az anyag, akkor a munka végeztével egyszerűen átmásolod magadnak.

Előzmény: Redlac (20044)
Redlac Creative Commons License 2013.01.15 0 0 20044

Akkor jobbat mondok...

 

A d:\dokumentumok mindegyik gépünkön jelen van (direkt nem a C-n).

Ebben vannak a nevek szerinti mappák (Kis Pista, Nagy Péter stb.)

 

Azt meg tudom oldani (illetve Delila egyik makrója tudja azt), hogy a felhasználó szerinti mappába történjen a mentés.

A mappa készítés makróval, na az jó pofa lehet, illetve, hogy abba mentse azt az Excel fájlt, amin dolgozik a jóember.

Előzmény: ujszaszy (20033)
pimre Creative Commons License 2013.01.15 0 0 20043

Kezdjük az off-al: A 8. sorod hibás, mert az az 1 perc még 7 óra előtt volt, ezért a helyes érték 0, a 10. sorban meg 44.34 a helyes érték.

 

De a lényeg, hogy megcsináltam, amit kértél. Az eredményeket kénytelen voltam stringgé formázni (tehát nem tudsz számolni velük). Ugyanis, nem tudtam olyan formázást találni, hogy idő formátum kerüljön a táblázatba akkor is, ha az órák száma 24 fölé megy. Tehát a 36:01 helyett 12:01-et mutatott, és a szerkesztőlécen pedig 1900.01.02 12:01 jelent meg. Ha valaki tudna segíteni, hogyan lehetne ezt kiküszöbölni, az jó lenne.

 

A program végigmegy a táblázaton. Az esetleges üres sorokat kihagyja (üresnek tekinti azt, ahol a kezdő és a befejező dátum üres)

 

Ha csak a kezdő, vagy a befejező dátum hiányzik, akkor erre a program figyelmeztet, és az adott sort átugorja. Ugyancsak figyelmeztet, ha a kezdő és befejező dátum azonos.

Ha a kezdő és befejező dátum fel lett cserélve, akkor a figyelmeztetésen kívül be is írja ezt a tényt az adott sorban a munkaidő (C) oszlopba

 

Igyekeztem tesztelni a programot szélsőséges esetekkel is, egyelőre nem találtam hibát, de azért egy darabig ellenőrizd magad is, nem maradt-e benne véletlenül poloska.

 

Végül mindenkitől elnézést kérek, hogy ilyen hosszú programot másolok be ide. Ha még módosulna, azt majd a data.hu-oldalra másolom. És akkor a program:

 

Sub munkaórák()

Const forrásoszlop1 As String = "A", forrásoszlop2 As String = "B", céloszlop As String = "C"

Const kezdőóra As Integer = 7, végóra As Integer = 19

Dim üresdátum As Date, dátum1 As Date, év1 As Integer, hó1 As Integer, nap1 As Integer, óra1 As Integer, perc1 As Integer

Dim dátum2 As Date, év2 As Integer, hó2 As Integer, nap2 As Integer, óra2 As Integer, perc2 As Integer

Dim aktsor As Integer, céloszlopszám As Integer

Dim elsőnapióra As Integer, utolsónapióra As Integer, elsőnapiperc As Integer, utolsónapiperc As Integer, _

                            köztesnapióra As Integer, összesóra As Integer, összesperc As Integer, eredmstring As String

Dim utolsósor As Long

utolsósor = ActiveCell.SpecialCells(xlLastCell).Row

For aktsor = 1 To utolsósor

    céloszlopszám = oszlopszám(céloszlop)

    Cells(aktsor, céloszlopszám).Select

    dátum1 = Cells(aktsor, oszlopszám(forrásoszlop1))

    dátum2 = Cells(aktsor, oszlopszám(forrásoszlop2))

    If dátum1 = üresdátum And dátum2 = üresdátum Then ' ha üres mindkét dátum

        GoTo ciklusvége ' akkor tovább

    ElseIf dátum1 = üresdátum Or dátum2 = üresdátum Then ' ha csak az egyik üres

        If dátum1 = üresdátum Then

            MsgBox "A kezdő időpont hiányzik!"

        Else

            MsgBox "A befejező időpont hiányzik!"

        End If

        GoTo ciklusvége

    ElseIf dátum2 < dátum1 Then ' némi védelem hibás adat ellen

        MsgBox "Hibás dátumok. A második kisebb, mint az első!"

        Cells(aktsor, céloszlopszám) = "Hibás dátumok. A második kisebb, mint az első"

        GoTo ciklusvége

    ElseIf dátum2 = dátum1 Then ' Ha azonosak, akkor 0 óra telt el

        Cells(aktsor, céloszlopszám) = 0

        MsgBox "A kezdő és befejező időpont azonos!"

        GoTo ciklusvége

    End If

    év1 = Year(dátum1)

    hó1 = Month(dátum1)

    nap1 = Day(dátum1)

    óra1 = Hour(dátum1)

    perc1 = Minute(dátum1)

    elsőnapióra = 0

    elsőnapiperc = 0

    If óra1 < kezdőóra Then

        elsőnapióra = végóra - kezdőóra ' Ha 7 előtt kezdett, akkor ez teljes napnak számít

    Else

        If óra1 < végóra Then

            elsőnapióra = végóra - óra1 ' Ha 19 óra előtt kezdett, akkor ennyi az értékes órák száma, egyébként 0

            If perc1 > 0 Then

             elsőnapióra = elsőnapióra - 1

             elsőnapiperc = 60 - perc1

            End If

        End If

    End If

    óra1 = 0

    perc1 = 0

    dátum1 = CDate(Str(év1) + "." + Str(hó1) + "." + Str(nap1) + Str(óra1) + ":" + Str(perc1)) + 1 ' A következő nap

    év2 = Year(dátum2)

    hó2 = Month(dátum2)

    nap2 = Day(dátum2)

    óra2 = Hour(dátum2)

    perc2 = Minute(dátum2)

    utolsónapióra = 0

    utolsónapiperc = 0

    If óra2 > végóra Then

        utolsónapióra = végóra - kezdőóra ' Ha 19 óra után végzett, akkor ez teljes napnak számít

    Else

        If óra2 > kezdőóra Then

            utolsónapióra = óra2 - kezdőóra ' Ha 7 után végzett, akkor ennyi az értékes órák száma, egyébként 0

            If perc2 > 0 Then

                utolsónapiperc = perc2

            End If

        End If

    End If

    óra2 = 0

    perc2 = 0

    dátum2 = CDate(Str(év2) + "." + Str(hó2) + "." + Str(nap2) + Str(óra2) + ":" + Str(perc2)) ' Ez az előző nap végének felel meg

    köztesnapióra = (dátum2 - dátum1) * (végóra - kezdőóra)

    összesóra = elsőnapióra + utolsónapióra + köztesnapióra

    összesperc = elsőnapiperc + utolsónapiperc

    If összesperc > 60 Then

        összesperc = összesperc - 60

        összesóra = összesóra + 1

    End If

    eredmstring = Format(LTrim(Str(összesóra)), "0") + ":" + Format(LTrim(Str(összesperc)), "00")

    Cells(aktsor, céloszlopszám).NumberFormat = "@" ' ezzel lesz string a cellaformátum, másképp elrontja a kiírási formátumot

    Cells(aktsor, céloszlopszám).HorizontalAlignment = xlRight ' és jobbra pozícionáljuk

    Cells(aktsor, céloszlopszám) = eredmstring

ciklusvége:

Next

Cells(aktsor, céloszlopszám).Select ' Végül az első üres sorra állunk

End Sub

 

Function oszlopszám(oszlopnév As String) As Integer ' Oszlopnévből oszlopszám kiírás

Dim első As Integer

Dim második As Integer

oszlopszám = 0

If Len(oszlopnév) = 1 Then

    oszlopszám = InStr(1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", oszlopnév)

ElseIf Len(oszlopnév) = 2 Then

    első = InStr(1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", Left(oszlopnév, 1))

    második = InStr(1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", Mid(oszlopnév, 2, 1))

    If első > 0 And második > 0 Then ' Csak ha mindkettő érvényes

       oszlopszám = első * 26 + második

    End If

End If

If oszlopszám = 0 Then

    MsgBox "Programhiba: Hibás konstans oszlopnév: " + oszlopnév

End If

End Function

 

 

Előzmény: Numan (20024)
tbando Creative Commons License 2013.01.15 0 0 20042

Csak ámulok, hogy mik vannak az excelben.  Az igaz, hogy a cellatartalomból, le kellett vágni az óra perceket, mert velük a kijelölt 10 cellából csak az elsőt konvertálta, ráadásul azt is rosszul. De a csak dátumot mutató stringeket már prímán átalakította.  Mondjuk a logikáját nem értem, szívesen megbeszélném veled.

 

És persze kösz.  

Előzmény: SQLkerdes (20036)
tbando Creative Commons License 2013.01.15 0 0 20041

Solverrel optimalizáltam. Ha sok ehhez hasonló feladatod van, érdemes kitanulnod. Ha érdekelnek a feladatod solver beállításai, felrakhatom a data.hu-ra.

Előzmény: mtibsi (20038)
mtibsi Creative Commons License 2013.01.15 0 0 20040

Talán így jobban látható.

Előzmény: tbando (20025)
mtibsi Creative Commons License 2013.01.15 0 0 20039

Előzmény: tbando (20025)
mtibsi Creative Commons License 2013.01.15 0 0 20038

Kedves tbando!

Köszönöm, de milyen képletekkel számol a táblázat?

Valahogy ez a táblázat fogant meg a fejemben, már "csak" kék részeit kellene kitöltetni a géppel:)

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

Tibi

Előzmény: tbando (20025)
_Nyuszi Creative Commons License 2013.01.15 0 0 20037

"Szövegből oszlopok...", vagy valami hasonló.

Előzmény: SQLkerdes (20036)
SQLkerdes Creative Commons License 2013.01.15 0 0 20036

Ennél van egyszerűbb módszer.  Használd az adott cellán/oszlopon a Text-To-Column-ot (Adat fülön van, nem tudom mi magyarul).

Válaszd a Delimited opciót, adj meg egy olyan karaktert ami tuti NEM szerepel az adataid között, pld |

Utána kiválaszthatod, hogy milyen tipusú adatnak gondolod a cellaszétválasztás eredményét itt kell a Dátum formátumot választani és beállítani, hogy az év-hó-nap adat milyen sorrendben van.

 

A trükk az benne, hogy ez a módszer a cellatartalmak szétszedésére szolgál, de pont nem arra használjuk, csak rákényszerítjük az excelt, hogy átértékelje a cella tartalmat.

Előzmény: tbando (20035)
tbando Creative Commons License 2013.01.15 0 0 20035

Most rájöttem egy módszerre, amivel mégis rá lehet bírni a magyar excelt a balra igazított angol dátumok felismerésére. Sajnos inkább csak érdekesség, mint praktikus. Átmásolod wordba, majd visszamásolod html-ként. Kétségtelenül kevébé babrásabb mint a vezérlőpultos állítgatás, de úgy néz ki, hogy csak a nn.hh.éé formátumként hajlandó értelmezni, az egyéb értelmezésekre nem ad lehetőséget.   

Előzmény: tbando (20034)
tbando Creative Commons License 2013.01.15 0 0 20034

Na ja, ha az excel felismeri, akkor semmi baj. De épp az a probléma, hogy a magyar excel nem ismeri fel, és ezért balra igazítja. De kösz, hogy válaszoltál, mert így legalább kiderült, hogy nem én vagyok béna. Annyit azért hozzáfűznék, hogyha szövegként viszed be a dátumot, akkor azt az excel szövegként értelmezve  balra igazítja. De ettől még a dátumfüggvények felismerik, ha megfelelnek a verzió dátumformátum követelményeinek.

 

Előzmény: Sánta Kutya (SK) (20031)
ujszaszy Creative Commons License 2013.01.15 0 0 20033

Szia!

 

az a gond, hogy az eltérő oprendszerek eltérő helyen tárolják az asztal elérését és az asztal a userekhez van linkelve, azaz minden usernek van asztala, és ezen kívül van egy közös asztal is.

 

De a VBE -ben van egy CurrentDirectory parancs, amit be lehet állítani egy változónak

Előzmény: Redlac (20032)
Redlac Creative Commons License 2013.01.15 0 0 20032

Sziasztok!

 

Az alábbi "mentés" makrót használom:

 

Sub macro()

Application.DisplayAlerts = False

    Dim fldlg As FileDialog

    Set fldlg = Application.FileDialog(msoFileDialogSaveAs)

    With fldlg

        .Title = "Mentés másként"

        .InitialFileName = Range("Z32") & "_" & Range("E39") & "_" & Range("D40")

        If Application.Version = "14.0" Then

            .FilterIndex = 1

        ElseIf Application.Version = "12.0" Then

            .FilterIndex = 4

        ElseIf Application.Version = "11.0" Then

            .FilterIndex = 1

        End If

    End With

    rv = fldlg.Show

    If rv Then

        ActiveWorkbook.SaveAs fldlg.SelectedItems(fldlg.FilterIndex)

    End If

Application.DisplayAlerts = True

End Sub

 

Ez, a meghatározott cellák adataiból hozza létre a fájl nevét, de nem elmenti automatikusan, hanem feldobja a "mentés másként" párbeszédpanelt, és a felhasználónak csak azt kell eldöntenie, hogy hová menti a fájlt.

 

Na, most a kérdés az, hogy meg lehet-e oldani, hogy a makró az asztalon hozzon létre egy a fájl nevével egyező nevű mappát, majd abba mentse a fájlt? 

 

Köszi előre is

Sánta Kutya (SK) Creative Commons License 2013.01.15 0 0 20031

Bocsánat: amit írtam annak az alapja, hogy a furcsa formátumú dátum egy szöveg. Viszont a képen jobbra van igazítva, tehát valószínűleg dátum. Ebben az esetben viszont ugyanúgy lehet kezelni, mint a rendes magyar dátumokat, csak másképp van megjelenítve. Tehát ha  az Excel felismerte, hogy dátum, akkor a dátumfüggvényeknek működniük kell rá.

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

Csúnyán.

 

Az a) változat, hogy szövegkezelő függvényekkel szétszeded. Keresed az első pontot, és az attól balra eső részt; keresed a pontot az első pont utáni részben (ilyet tud egy összetett BAL vagy KÖZÉP), majd a második ponttól a szóközig. A végén, ha jól szétszedted, a DÁTUM függvénnyel (ha jól emlékszem) összerakod.

A b) változat egy felhasználói függvény ugyanerre.

Ilyenkor teszem mindig hozzá, hogy a kulturált megoldás rég fel van találva reguláris kifejezések néven, csak az Excel nem tudja. :-(

Előzmény: tbando (20029)
tbando Creative Commons License 2013.01.15 0 0 20029

Az lenne a kérdésem, hogy a 20024 postban levő dátum-számformátumok kezelésére, hogyan lehet rávenni a magyar nyelvű excelt a vezérlőpultos állítási lehetőségen kívúl?

tbando Creative Commons License 2013.01.15 0 0 20028

Ha már itt tartasz, akkor már tök egyszerű a dolgod:

 

A J-oszlopba: =HA(I1=0;D1;I1) tehát mindenhova az uj arat irod be, kivéve, ahol a Nagyker nem adott árat, ott marad a régi

A K-oszopba pedig:D1=I1, ezt csak a manualis ellenőrzesre, ahol HAMIS, ott volt változás, egy párat megnézel, hogy jól dolgozott-e az excel.

Előzmény: bringas1 (20027)
bringas1 Creative Commons License 2013.01.15 0 0 20027

Köszönöm válaszod!

 

 

Elképzelésem szerint innen kellene indulni.

A képletbe nem kell beírni még adatokat.

Pl.: A2 ....

Előzmény: tbando (19974)
bringas1 Creative Commons License 2013.01.15 0 0 20026

Köszönöm válaszod!

 

Az árlista a kpen látható oszlopokból áll.

 

A rendelési kód jellemzően nem változik.

Ha mégis arról értesítést kapunk, ha ez elkerüli a figyelmet akkor a cella ott üres marad.

Itt nem a készletnyilvántartás a lényeg.

Minden évben 1-2* van árváltozás.

Jelen esetben kb. 20 000 termékről van szó, amit egyesével párosítani kicsit időigényes.

Ki kellene szűrni a nem egyező sorokat ( pl. megváltozik az azonosító cikkszám, új termék kerül bele, illetve megszűnő termékek is lehetnek).

 

Előzmény: pimre (19977)
tbando Creative Commons License 2013.01.15 0 0 20025

A  20016 postban felrakott megosztásnál nem vettem figyelembe a fűrészlap+4 mm-t. Emiatt néhány szétvágási javaslat pár cm-rel hibádzik. Ezért újra lefuttattam a teljes btto hosszakkal. Természetesen ugyanúgy 7 párkányalap kell. de a szétvágásukhoz inkább ezt a javaslatot vedd alapul. Az 1-5 számúakat érdemes megfogadni, a No6-7 nél viszont variálhatsz.

 

Előzmény: mtibsi (20003)
Numan Creative Commons License 2013.01.14 0 0 20024

Kiszámoltam a megoldásokat percekkel együtt, a cél az lenne, hogy így számoljon a makró:

 

 

Előzmény: pimre (20022)
Numan Creative Commons License 2013.01.14 0 0 20023

Így van a munkalap első cellájától a legutolsó cellájának soráig kell kitöltenie a megoldásokat a makrónak.

A perceket előre is köszi.

Előzmény: pimre (20021)
pimre Creative Commons License 2013.01.14 0 0 20022

Ja és majd elfelejtettem: A példa táblázatot nem egészen értem. Hogyan lesz a 2012.12.31 5:58 és 2012.12.31 12:22 közt eltelt idő eredménye 5? Ha az 5.58 helyett 7 órát veszek, akkor 12.22-ig eltelik 5 óra 22 perc. A 22 percet levágom? Vagy kerekítek? Mert a példák közt olyat nem láttam, ahol felfelé kellett volna kerekíteni. Szóval melyek a kerekítés szempontjai?

Előzmény: Numan (20020)
pimre Creative Commons License 2013.01.14 0 0 20021

Az automatikus végigfuttatás egyáltalán nem gond. Egy kis ciklusszervezés néhány többletsor beiktatásával könnyű, pár perc. Gondolom, hogy a munkalap első cellájától a legutolsó cellájának soráig kell, ugye? Ha más a szempont, írd meg, hogy mettől meddig!

 

A percekkel szándékosan nem foglalkoztam, azt hittem a példádból, ahol kerek órák voltak, hogy nem szempont, esetleg felvételre sem kerül. Na meg így könnyebb volt a dolgom. Nem kellett számolgatnom vele. De majd megnézem holnap, hogy mit tudok tenni. 

Előzmény: Numan (20020)
Numan Creative Commons License 2013.01.14 0 0 20020

Előzmény: Numan (20019)
Numan Creative Commons License 2013.01.14 0 0 20019

Teszek fel képet példa megoldásról:

Ez így jó is, csak a percek hiányoznak onnan. 

 

Előzmény: Numan (20018)
Numan Creative Commons License 2013.01.14 0 0 20018

RESPECT!!!

Nagyon jó kis makrót dobtál össze, Nagyon Szépen Köszönöm!!!!!!

Használható is, már csak két kérdésem lenne ezzel kapcsolatban.

  • Meg lehet azt oldani, hogy az egész oszlopon végig fusson a program és ne kelljen soronként kiszámítani? Néha 1000-nél is több sorral kell dolgozni és az elég hosszadalmas lenne
  • Úgy látom, hogy egész órákat mutat az eredményben, ezt lehet percre is alakítani?

Köszi.

 

 

Előzmény: pimre (20013)
tbando Creative Commons License 2013.01.14 0 0 20017

Nem is egyszer :)))). Még jó hogy nem 100x

Előzmény: tbando (20016)
tbando Creative Commons License 2013.01.14 0 0 20016

Na felteszem áttekinthetőbben is. Ha sikerül

Előzmény: tbando (20014)
tbando Creative Commons License 2013.01.14 0 0 20015

Hát nem modndom, jól megkutyulta :((((.  De azért ki lehet silabizálni.

Előzmény: tbando (20014)
tbando Creative Commons License 2013.01.14 0 0 20014

Sajna 115 mm miátt 7 kell.  Itt egy lehetséges kiosztás

 

864 915 1226 1590

1 1 2 1 5821

1 - 4 - 5768

- 6 - - 5490

- - 1 3 5996

1 - 3 5685

1 4 - 1 6114  Emiatt kell 7

 

 

 

Előzmény: mtibsi (20003)
pimre Creative Commons License 2013.01.14 0 0 20013

Hát jött már egy megoldás RHCPgergo #19983 számú hozzászólásában. Ezt egy picit pontosítottam a #20009-ben. Ha csak a munkanapokat kell figyelembe venni, akkor ez elegánsabb, mint az én elképzelésem szerinti.

 

De azért ha belekezdtem, akkor már csak megírtam a makrót, igaz kicsit több kellett, mint 1 óra (volt az 3 is, de ez az én bénázásaim, meg a gyakorlatlanságom miatt). Ez nem hagyja ki a hétvégéket. Amúgy nem túl elegáns program, de hát VBA-ban nem vagyok profi:-(((

 

Az alapelrendezésnél arra gondoltam, hogy a legjobb, ha a kezdési és a befejezési időpont egymás mellett van (A és B oszlop). Az eredmény, azaz a munkaórák száma pedig a C oszlopba kerül. De ha ez nem jó, akkor a program elején lévő konstansok értékadásával tudod ezeket módosítani.

 

A kezdő és a befejező időpontot is paramétereztem, azaz ha változik valamelyik, vagy mindkettő, azt is a konstansoknál tudod módosítani.

 

A program futtatás feltétele, hogy abban a sorban állj, amelyiknél a munkaórák számát ki akarod számítani. Hogy melyik oszlopban vagy, az mindegy!

 

Ha a két időpont fel lett cserélve, akkor a céloszlopba azt írja, hogy Hibás dátumok. A második kisebb, mint az első. Ha a két dátum azonos, akkor 0-t ír, de téged figyelmeztet a hibára.

 

És akkor a program: (Ha nem tudod betenni Visual Basic modulként, akkor segítek)

 

Sub munkaórák()

Const forrásoszlop1 As String = "A", forrásoszlop2 As String = "B", céloszlop As String = "C"

Const kezdőóra As Integer = 7, végóra As Integer = 19

Dim dátum1 As Date, év1 As Integer, hó1 As Integer, nap1 As Integer, óra1 As Integer, perc1 As Integer

Dim dátum2 As Date, év2 As Integer, hó2 As Integer, nap2 As Integer, óra2 As Integer, perc2 As Integer

Dim aktsor As Integer, elsőnapióra As Integer, utolsónapióra As Integer, köztesnapióra As Integer, összesóra As Integer

aktsor = ActiveCell.Row

' dátum1 = Cells(aktsor - 1, oszlopszám(forrásoszlop))

dátum1 = Cells(aktsor, oszlopszám(forrásoszlop1))

dátum2 = Cells(aktsor, oszlopszám(forrásoszlop2))

If dátum2 < dátum1 Then ' némi védelem hibás adat ellen

    Cells(aktsor, oszlopszám(céloszlop)) = "Hibás dátumok. A második kisebb, mint az első"

    Exit Sub

ElseIf dátum2 = dátum1 Then ' Ha azonosak, akkor 0 óra telt el

    Cells(aktsor, oszlopszám(céloszlop)) = 0

    MsgBox "A kezdő és befejező időpont azonos!"

    Exit Sub

End If

év1 = Year(dátum1)

hó1 = Month(dátum1)

nap1 = Day(dátum1)

óra1 = Hour(dátum1)

perc1 = 0 ' Minute(dátum1) helyett

elsőnapióra = 0

If óra1 < kezdőóra Then

    elsőnapióra = végóra - kezdőóra ' Ha 7 előtt kezdett, akkor ez teljes napnak számít

Else

    If óra1 < végóra Then

        elsőnapióra = végóra - óra1 ' Ha 19 óra előtt kezdett, akkor ennyi az értékes órák száma, egyébként 0

    End If

End If

óra1 = 0

dátum1 = CDate(Str(év1) + "." + Str(hó1) + "." + Str(nap1) + Str(óra1) + ":" + Str(perc1)) + 1 ' A következő nap

év2 = Year(dátum2)

hó2 = Month(dátum2)

nap2 = Day(dátum2)

óra2 = Hour(dátum2)

perc2 = 0 ' Minute(dátum2) helyett

utolsónapióra = 0

If óra2 > végóra Then

    utolsónapióra = végóra - kezdőóra ' Ha 19 óra után végzett, akkor ez teljes napnak számít

Else

    If óra2 > kezdőóra Then

        utolsónapióra = óra2 - kezdőóra ' Ha 7 után végzett, akkor ennyi az értékes órák száma, egyébként 0

    End If

End If

óra2 = 0

dátum2 = CDate(Str(év2) + "." + Str(hó2) + "." + Str(nap2) + Str(óra2) + ":" + Str(perc2)) ' Ez az előző nap végének felel meg

köztesnapióra = (dátum2 - dátum1) * (végóra - kezdőóra)

összesóra = elsőnapióra + utolsónapióra + köztesnapióra

Cells(aktsor, oszlopszám(céloszlop)) = összesóra

End Sub

 

Function oszlopszám(oszlopnév As String) As Integer ' Oszlopnévből oszlopszám kiírás

Dim első As Integer

Dim második As Integer

oszlopszám = 0

If Len(oszlopnév) = 1 Then

    oszlopszám = InStr(1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", oszlopnév)

ElseIf Len(oszlopnév) = 2 Then

    első = InStr(1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", Left(oszlopnév, 1))

    második = InStr(1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", Mid(oszlopnév, 2, 1))

    If első > 0 And második > 0 Then ' Csak ha mindkettő érvényes

       oszlopszám = első * 26 + második

    End If

End If

If oszlopszám = 0 Then

    MsgBox "Programhiba: Hibás konstans oszlopnév: " + oszlopnév

End If

End Function

 

Előzmény: Numan (19978)
ujszaszy Creative Commons License 2013.01.14 0 0 20012

Szólj, hátha tudok segíteni :-)

Előzmény: Redlac (20008)
_Nyuszi Creative Commons License 2013.01.14 0 0 20011

Tudtam én, hogy menni fog ez! ;-)

Előzmény: kalotailaszlo (20010)
kalotailaszlo Creative Commons License 2013.01.14 0 0 20010

köszönöm szépen, rájöttem :)

 

mindenkinek minden segítséget hálásan köszönök!

Előzmény: kalotailaszlo (20007)
pimre Creative Commons License 2013.01.14 0 0 20009

Úgy néz ki, hogy mégiscsak meg lehetett oldani függvénnyel. Igaz, ezt a networkdays függvényt nem ismertem.

 

A használatához le kell tölteni az Analyzis ToolPak-ot (ehhez kell az installáló lemez), a konkrét parancssort pedig át kell írni Numan adataira: 

=(NETWORKDAYS(A2;B2)-1)*("19:00"-"7:00")+MARADÉK(B2;1)-MEDIÁN(NETWORKDAYS(A2;A2)*MARADÉK(A2;1);"7:00";"19:00")

 

Ha numannak ez megfelel, akkor nem is erőlködöm tovább:-))), bár abban a feltételben nem vagyok biztos, hogy jó, mely szerint "csak akkor működik tökéletesen, ha a kezdő és a vég időpont is beleesik a" 7-19-es intervallumba.

Előzmény: Törölt nick (19983)
Redlac Creative Commons License 2013.01.14 0 0 20008

Ez a formos hóka-móka tűnt kissé ázsiainak...pedig a piros pöttyöket nem láttam :-)

 

Most nagyon belemerültem, órákat veszek formokból...alakul a dolog

Előzmény: ujszaszy (19938)
kalotailaszlo Creative Commons License 2013.01.14 0 0 20007

köszönöm szépen, de , hogy a manóba kell megcsinálni?

Előzmény: _Nyuszi (20005)
Delila10 Creative Commons License 2013.01.14 0 0 20006

A kérdést nem én tettem fel, az eredeti a 19982-ben van, djmorphy kérdezte. :)

Előzmény: ujszaszy (20001)
_Nyuszi Creative Commons License 2013.01.14 0 0 20005

Feltételes formázás a válasz a kérdésedre. :)

Előzmény: kalotailaszlo (20004)
kalotailaszlo Creative Commons License 2013.01.14 0 0 20004

Mindkettő jó, de a Tieddel kezdtem el, úgyhogy azzal is fejeztem be.

 

Még egy kérdés:

 

lehetséges az, hogy ha "GY" az eredmény, akkor a háttere zöld

                                 ha "D" ,akkor sárga

                                 ha "V" , akkor piros legyen  ?

 

vagy ez már kivitelezhetetlen?

 

 

 

Köszönöm Mesterek ;)

Előzmény: Törölt nick (20002)
mtibsi Creative Commons License 2013.01.14 0 0 20003

Sziasztok!

 

Tudna valaki segíteni abban, hogy szálban kapható termék optimális méretreszabását, hogyan lehet kiszámítani?

Az alábbiakról van szó:

- adott egy alapanyag, ami "X" méter hosszú

- szükségünk van ebből az alapanyagból "A" méretű "V" darab, "B" méretű "Z" darab, "C" méretű "ZS" darab, és így tovább

- szükséges változó még a "Vágás vastagsága" és a "ráhagyás"

Végeredményként ki kellene írni a gépnek, hogy az adott méretű alapanyagokat, hogyan lehet minél kevesebb hulladékal felszabni?

 

Pl.:

Párkány felvágása:

- szükségem van 3db 854 mm, 12db 905 mm, 7db 1216 mm, 8db 1580 mm hosszúságú párkányra

- az alapanyag 6000 mm hosszú

- a vágási vastagság (fűrészlap): 4 mm

- biztonsági ráhagyás a tiszta méretekre: +10mm/párkány

 

Hány db 6000 mm-es párkány alapanyagra van szükségem?

Azokat mekkora darabokra kell felvágnom úgy, hogy a legkevesebb hulladék keletkezzen?

 

Előre is köszönöm, ha tudja és közli valaki a megoldást!

 

Tibor

Törölt nick Creative Commons License 2013.01.14 0 0 20002

A te megoldásod jobb, grat. :)

(Ha szám helyett szöveget ír az eredmény mezőkbe, nem számol.)

Előzmény: ujszaszy (19993)
ujszaszy Creative Commons License 2013.01.14 0 0 20001

???

Előzmény: Delila10 (19988)
kalotailaszlo Creative Commons License 2013.01.14 0 0 20000

hááát ez óriási

 

 

Mindenkinek hálásan köszönök mindent

 

 

minden MŰKÖDIK

 

 

Köszönöm!!

Kalotai

Előzmény: ujszaszy (19995)
_Nyuszi Creative Commons License 2013.01.14 0 0 19999

Megelőztél.. :)

Előzmény: ujszaszy (19995)
ujszaszy Creative Commons License 2013.01.14 0 0 19998

nincsmit.

jó szórakozást!

Előzmény: kalotailaszlo (19996)
_Nyuszi Creative Commons License 2013.01.14 0 0 19997

V4-be:

=DARABTELI($D4:$U5;V$3)

 

Ezt húzd jobbra, és le.

Előzmény: kalotailaszlo (19989)
kalotailaszlo Creative Commons License 2013.01.14 0 0 19996

ezeket a meccseket orbitális PS bajnokságokon játszuk le mi.

Szóval a legelején ez teljesen üres táblázat.

 

csak az alsó táblázatba írom az eredményeket, hála Nektek, a felső meg számol mindent ami nekem kell.

 

:)

 

Köszönöm

Előzmény: ujszaszy (19993)
ujszaszy Creative Commons License 2013.01.14 0 0 19995

A V4 Cellába pedig:

 

=DARABTELI($D4:$S4;"GY")

Előzmény: ujszaszy (19993)
kalotailaszlo Creative Commons License 2013.01.14 0 0 19994

EGY ISTEN VAAAGY! (vagy csak nagyon értesz hozzá) :)

 

Akárhogyis van ... én ropp ant hálás vagyok érte.

Miután az"or"-t átkereszteltem"vagy"-ra ... már működött is

 

=HA(vagy(ÜRES(M18);ÜRES(R18));"";HA(M18>R18;"GY";HA(M18=R18;"D";"V")))

 

nagyon szépen közönöm ... becsuktam az ablakot . . .

 

 

és azt tudod, hogyan számoltassam ki , hogy hány db "GY" vagy "V" vagy "D" van abban a 6db cellában összesen? mindegy melyikkel példáznád le, helyettesítem a megfelelő helyre.

 

 

Nagyon köszönöm!

 

Kalotai

Előzmény: Törölt nick (19991)
ujszaszy Creative Commons License 2013.01.14 0 0 19993

hali, bocs, csak egy football analfabéta kérdés:

honnan tudod, hogy idegen, vagy otthon?

 

Különben a D4 képlete:

=HA(DARAB(M18;R18)>0;HA(M18>R18;"GY";HA(M18<R18;"V";HA(M18=R18;"D";"")));"")

Előzmény: kalotailaszlo (19990)
Törölt nick Creative Commons License 2013.01.14 0 0 19992

A függvénynél a magyar verzióban értelemszerűen OR helyett VAGY a helyes.

 

Miért nincs szerkesztés gomb? És miért olyan lassan tölt be a fórum? (Ez valszeg a céges proxy miatt...) Őrjítő. :(

 

 

 

Létezik más magyar exceles fórum egyébként?

 

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

Legyen ez a D4-ben:

=IF(OR(ISBLANK(M18);ISBLANK(R18));"";IF(M18>R18;"GY";IF(M18=R18;"D";"V")))

 

Magyarul valahogy így nézhet ki:

=HA(OR(ÜRES(M18);ÜRES(R18));"";HA(M18>R18;"GY";HA(M18=R18;"D";"V")))

 

Ha M18 vagy R18 üres, akkor D4 is üres. Egyébként meg számol, tehát ha szöveg van valamelyik cellában, akkor is (a szöveget nullának veszi).

Előzmény: kalotailaszlo (19989)
kalotailaszlo Creative Commons License 2013.01.14 0 0 19990

Vááá ... kihagytam a lényeget

 

letöltőlink és kép  a táblázatomhoz

 

 

http://data.hu/get/6075690/Munkafuzet1.xlsx

kalotailaszlo Creative Commons License 2013.01.14 0 0 19989

Sziasztok!


Meglehetősen egyszerű megoldása lehet a problémámnak én mégis vagyok olyan hülye, hogy ne tudjam megoldani.

Szeretném, hogy a képen látható D4-es cella megjelenítsen egy db! eredményt a 3db variáció közül (GY;D;V), az M18;R18-as cellák értékétől függően.

 

pl.: M18 > R18  (2-5)  ,akkor  D4-nek "V"-nek (vereség) kell lennie, hiszen kevesebb gólt lőtt, mint az ellenfele.   

ha  M18 < R18  (5-2)  ,akkor  D4-nek "GY"-nek (győzelem) kell lennie, hiszen több gólt lőtt, mint az ellenfele.
ha  M18 = R18  (2-2)  ,akkor  D4-nek "D"-nek (döntetlen) kell lennie, hiszen nem lőtt többet sem, kevesebbet sem az ellenfelénél.
  
Addig egyszer már eljutottam, h jól számolt mindent, csak sajnos "D"-nek számolta az üres cellákat (amennyiben M18 és R18 is üresen állt) - és ez a baj


Szeretném ha az üres cellák értéktelenek maradnának, teljesen üresek, "0" sem jó, szóval "D" CSAK akkor kell, amennyiben az eredmények 0-0,1-1,2-2,3-3, ... 99-99 stb., a teljesen üres cellékat nem tudom kihagyatni vele a "HA" függvénnyel - pedig ez lenne a cél , nem is értek a többihez - sem :)
Mondjuk logikus, h az "üres" az "0" , de ha valaki nem tud nagyon gyorsan segíteni, akkor kiugrok a 4.ről(már nyitva az ablak)


Amint ez megoldódik, ki kellene számoltatni V4 - cellával, hogy D4:S4-ig Mennyiszer szerepel a "GY" - ennyi (egszerűen a "GY"-k dbszáma kell ide. ennyi)

a többit már én is megoldom (nagy vagyok, mi?! :D) SZUM - az nekem is megy...

bi-bi-bi-bi-biii-bííííííí

köszönöm a segítségeket előre is

Excell 2010


Üdv, Kalotai

Delila10 Creative Commons License 2013.01.14 0 0 19988

Eltévesztetted a házszámot. :))

Előzmény: ujszaszy (19987)
ujszaszy Creative Commons License 2013.01.14 0 0 19987

Köszi.

 

a visszahozottnak mindig 60 a sorszáma?

vagy azt szeretnéd, ha automatikusan kitöltené 1-59 között "raktáron"-ra?

Előzmény: Delila10 (19986)
Delila10 Creative Commons License 2013.01.14 0 0 19986

Előzmény: djmorphy (19982)
tbando Creative Commons License 2013.01.14 0 0 19985

Jól hitted. Ha kedved van, leellenőrízheted.

 

http://data.hu/get/6075347/numan.xlsx

 

Előzmény: Sánta Kutya (SK) (19976)
ujszaszy Creative Commons License 2013.01.14 0 0 19984

Tudnál esetleg egy mintát küldeni pár rekorddal?

 

Köszi

Előzmény: djmorphy (19982)
Törölt nick Creative Commons License 2013.01.14 0 0 19983

Itt egy lehetséges megoldás, sajnos csak ennyire jutottam. Feltöltöttem data.hu-ra egy .xls-t, ahol működik.

A képlet hétvégéket kihagyja a képlet és csak akkor működik tökéletesen, ha a kezdő és a vég időpont is beleesik a 9-17-es intervallumba.

http://data.hu/get/6075235/subtract_dates_working_hours.xls

 

=(NETWORKDAYS(A2;B2)-1)*("17:00"-"9:00")+MOD(B2;1)-MEDIAN(NETWORKDAYS(A2;A2)*MOD(A2;1);"9:00";"17:00")

 

Nem a saját kútfőmből szedtem, itt a forrás:

http://www.mrexcel.com/forum/excel-questions/426101-calculate-only-working-hours-between-two-dates-excluding-weekends-2.html#post2877693

 

 

 

Előzmény: Numan (19957)
djmorphy Creative Commons License 2013.01.14 0 0 19982

Sziasztok!

 

 

Van valami egyszerű makro mentes megoldás a következő problémámra?:

 

A helyzet leírása:

Vannak termékek amik egyedi ID-vel rendelkeznek. Ez vagy "raktáron" van vagy "visszahozva" (nekem az ID-s papírja).

Ezt úgy oldottam meg, hogy egy legördülő listából kiválasztom, hogy "raktáron" akkor 1-et ír a felette lévő cellába ha "visszahozva" akkor 0-t amit szummázok és tudom is mennyi van raktáron így. 

És itt jönne a kérdés:

Meg lehet-e oldani valahogy ha még nincs visszahozott ID-s papírja -most kezdtem el ezt az egészet tervezni- ami mondjuk a 60 sorszámú azt ne nekem kelljen egyesével 60-ig kiválasztani a listából, hogy raktáron hanem "automatikusan" billenjen be 59-ig a "rakáron" szóra és nekem csak a 60 kelljen beállítani, hogy visszahozva.

ujszaszy Creative Commons License 2013.01.14 0 0 19981

Sziasztok!

 

én is azt javaslom, hogy első lépésben mindkét fájlban kell, hogy legyen egy termékazonosító.

Utána, ha ettől függetlenül a két adatbázis struktúrája azonos, akkor egymás alá lehet tenni úgy hogy jelöljük, melyik rekord melyik adatbázisból jött.

 

Pl az A öszlop a terméktörzs, B hogy melyik adatbázisból jött, C oszlop pedig, hogy mikori adatról van szó.

A többi oszlopba mehetnek az adatok.

 

Így nem kell semmilyen kereső függvény (egyébként is az index-et javasolnám az fkeres helyett), hanem egyszerű darabteli függvénnyel ki ki lehet számolni, melyik termékből mennyi van.

 

Utána minden kimutatás mehet akár képlettel, akár pivot táblával

 

Ráadásul, ha 2007 vagy 2010-est használsz, akkor kiaknáznám az adattábla funkciót is, ami drasztikusan csökkenti a fájl méretét és a memória igényt

Előzmény: pimre (19977)
pimre Creative Commons License 2013.01.14 0 0 19980

Egyetértek, ezekre én is gondoltam. Este nekilátok.

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

MÉg azt az esetet is meg kell különböztetni azt az esetet is, amikor a két dátum azonos, pl. ma 9-től 13 óráig.

És persze ha rendesen akarjuk csinálni, belemegítésül ellenőrizni, hogy nincsenek fordítva.

Előzmény: pimre (19966)
Numan Creative Commons License 2013.01.14 0 0 19978

Tetszik a gondolatmenet, ahogy megoldanád makróval.

Nagyon megköszönném, ha összedobnál rá egy kódot.

 

Köszi.

Előzmény: pimre (19966)
pimre Creative Commons License 2013.01.14 0 0 19977

Én azért ezt a feladatot kicsit összetettebbnek gondolom. Azt hiszem jogos volt az a gondolatod, hogy „makróírásban jártas szakembert keresel”. Ugyanis szerintem itt nem egyszerűen két táblázat egyesítéséről van szó, hanem egy készletnyilvántartásról kismillió buktatóval. (Például a legelső kérdés, hogy miképp kapcsolod össze a nagyker és a webáruház adatait. A termék nevével életveszélyes, hiszen elég egyetlen elütés, és máris nem találnak egymásra az azonos termékek. Ilyenkor szoktak cikkszámmal, vagy termékkóddal operálni a név helyett. Ahol a név csak egy "tulajdonsága" a terméknek, de nem azonosítója.).

Én először megnéznék néhány - a kereskedelemben kapható – készletnyilvántartó programot. Lehet, hogy már megvan, ami kell, és nem kell most kitalálnia valakinek újonnan.

 

Előzmény: bringas1 (19972)
Sánta Kutya (SK) Creative Commons License 2013.01.14 0 0 19976

Én azt hittem, tbando már megoldotta, de csak átfutottam.

 

Teljes komplexitásában biztosan megoldható függvényekkel, de nem egyszerűen. Ki lehet használni a részekre bontó függvényeken kívül az egész- és törtérészt is. Pl. az =A1-INT(A1)>7/24 megadja, hogy a kezdő időpont reggel 7 utáni-e. De az biztos, hogy elég nehezen átlátható és javítható képlet lesz, makróval biztosan elegánsabb.

Előzmény: pimre (19975)
pimre Creative Commons License 2013.01.14 0 0 19975

Inkább arra helyezném a hangsúlyt, hogy szerintem függvénnyel nem oldható meg a dolog. Nem tudok elképzelni olyan bonyolult képletet, amely kezelni tudja az első és az utolsó nap adatainak a többitől, de egymástól is eltérő kezelését, majd kiszámolja az első és utolsó nap közt eltelt napok számát, és ezeket szorozza 12-vel.

 

Előzmény: Sánta Kutya (SK) (19971)
tbando Creative Commons License 2013.01.14 0 0 19974

Hát hogy a Nagykertől kikerültek cikkek az nem gond, azoknál a webáruház Fkeres-e hibaüzenettel áll le, amik lekezelhetők a =Hahiba(Fkeres(webcikklista;Nagykertab;x;0);"Nincs"), képlet-tel. A fordított helyzet egy csöppet macerásabb. Az új cikkeket úgy találod meg, hogy most a Nagykertab-ra csinászl egy Fkeresést a webáruház listáján, és amit nem talál meg azokat kell copypastelni a webáruház listájára. Ehhez a másolás elött érdemes sorbarendezni a listát a kereső oszlopra, hogy a hibák egymás alá kerüljenek. Így egy ctrl c ctrl v elegendő hozzá a másoláshoz.  Nem árt még elötte a Nagykerlista sorait sorszámozni, hogy a táblázat visszarendezhető legyen. És persze nem árt ha procedura elött a Nagykerlistáról csinálsz egy biztonsági másolatot. Mindez 5 perc alatt megvan.

 

Ha persze rhcp megcsinálja hozzá a makrót, akkor 1 sec.  

Előzmény: bringas1 (19972)
bringas1 Creative Commons License 2013.01.14 0 0 19973

Igazad van.

Elnézést szeretnék kérni mindenkitől... annyira belemerültem, hogy elfelejtettem.

Nagyon köszönöm mindenkinek a segítséget.

Közben kiderült, hogy nem olyan egyszerű amit szeretnék ezért lenne szükség a lent írt megoldásra.

Előzmény: pimre (19963)
bringas1 Creative Commons License 2013.01.14 0 0 19972

Van egy webáruház ahol fent vannak a termékek abból lementünk egy excellt vagy cvs.-t a nagykertől ugyancsak kapunk egy ilyen excellt az árváltozásról.Idáig nem is lenne gond mert a két táblázatot simán össze lehetne dolgozni.Az a gond, hogy a nagykertől kapott táblázatban lehetnek változások kikerültek termékek vagy újak kerültek be.Ezért nem teljesen egyezik meg a két táblázat.

Előzmény: Törölt nick (19959)
Sánta Kutya (SK) Creative Commons License 2013.01.14 0 0 19971

Függvénnyel túl bonyolult, de a makróra elmegy egy jó óra? Némi ellentmondást érzek. :-)

Előzmény: pimre (19966)
tbando Creative Commons License 2013.01.14 0 0 19970

Meg tudná azt valaki mondani, hogy miért van, hogy amikor írom a makrót, akkor van amikor felajánlja az opciókat, és van amikor nem. Pl. ennél a sornál 

 

b = Application.WorksheetFunction.CountIf(ActiveSheet.Range("j11:j30"), "alma") 

 

az első makrónál se az application után, se a worksheetfunction után nem ajánlotta fel az opciókat, míg ugyanabban a modulban a közvetlenül alatta kezdett másikban már igen.  Egyébként mindkét makró jól számolt.

Törölt nick Creative Commons License 2013.01.13 0 0 19969

Szívesen!

Előzmény: tbando (19968)
tbando Creative Commons License 2013.01.13 0 0 19968

Nagyon köszönöm!

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

Option Explicit

Sub UserInputRange()

Dim MyRange1 As Range
Dim MyRange2 As Range

Set MyRange1 = Application.InputBox(Prompt:="Jelöld ki az 1. sz tartományt", Type:=8)
Set MyRange2 = Application.InputBox(Prompt:="Jelöld ki az 2. sz tartományt", Type:=8)

'innentől lehet használni a változókat, pl. erre:
MsgBox MyRange1.Address & ", " & MyRange2.Address
End Sub

Előzmény: tbando (19965)
pimre Creative Commons License 2013.01.13 0 0 19966

Én erre makrót írnék, mert függvénnyel túl bonyolult lenne, ha egyáltalán megoldható. A lényeg, hogy a kezdőnapon ha 7-óránál kevesebb van, akkor 7-től számolok, tehát 12 órát veszek, ha 19 óránál több, akkor 0-t, ha közte van, akkor kiszámolom, hogy hány óra volt a kezdettől 19 óráig ezen a napon. A befejező napon fordítva nézem. Ha a vége 7 óránál kisebb, akkor erre a napra 0 az érték, ha 19 óránál több, akkor egész a nap, tehát 12 óra, egyébként számolok.

 

Ezután a közbeeső napok számát szorzom 12-vel, és összeadom a 3 számot.

 

Nem egy nagy munka, most csak azért nem vágok bele, mert egy jó óra biztos elmenne vele, és erre most nincs időm, de ha gondolod, holnap, vagy inkább kedden, összedobok rá egy rövid kis programot.

 

 

Előzmény: Numan (19957)
tbando Creative Commons License 2013.01.13 0 0 19965

Azt hogyan kell csinálni?

 

Messagebox: Jelöld ki az 1. sz tartományt

 

user kijelöli, okézza, makró továbbmegy

 

Messagebox: Jelöld ki a 2. sz tartományt

 

user kijelöli okézza, makró végigmegy

 

 

 

tbando Creative Commons License 2013.01.13 0 0 19964

Melyik képlet?

Előzmény: Numan (19962)
pimre Creative Commons License 2013.01.13 0 0 19963

Itt zömmel ilyenek segítenek a kérdezőknek, tehát jó helyen jársz. A Te 5 nappal ezelőtti kérdésedre is érkezett 2 megoldási javaslat (igaz, nem makróra), de annyit sem válaszoltál, hogy kösz, vagy hogy nem erre gondoltam, vagy ilyesmi.

Előzmény: bringas1 (19954)
Numan Creative Commons License 2013.01.13 0 0 19962

Sajnos a képlet olyan eredményt hozott, mint amikor a b1-ből kivonom az a1-et.

 

Előzmény: tbando (19958)
tbando Creative Commons License 2013.01.13 0 0 19961

B+! csak elszúrtam :))))  Szóval a napokat 12-vel kell szorozni nem 10-zel.

 

=NAP(C1)*12+ÓRA(C1)-HA(ÓRA(B1)<ÓRA(A1);12;0)+PERC(C1)/60

Előzmény: tbando (19960)
tbando Creative Commons License 2013.01.13 0 0 19960

Az előzőben nem számoltam a percekkel. Ez a változat már a perceket is figyelembe veszi. Meg egyszerübb is.  De kell hozzá még a c1 cella is, b1-a1 különbsége napokban, amit aztán ezzel a képlettel alakíthatsz órákká:

 

=NAP(C1)*10+ÓRA(C1)-HA(ÓRA(B1)<ÓRA(A1);12;0)+PERC(C1)/60

 

Azért ellenőrizd le :)))

 

 

Előzmény: tbando (19958)
Törölt nick Creative Commons License 2013.01.13 0 0 19959

Halljuk a feladatot! :)

Előzmény: bringas1 (19954)
tbando Creative Commons License 2013.01.13 0 0 19958

Ha a1-ben van az első időpont  és b1-ben a második, akkor ez a képlet  megfelelhet

 

=HA(ÓRA(A1)<ÓRA(B1);NAP(B1-A1)*12+ÓRA(B1)-ÓRA(A1);NAP(B1-A1)*12+(19-ÓRA(A1))+(ÓRA(B1)-7))

 

A képlet első fele azt számítja ki, ha reggel kezd és délutáni fejezi be, a második fele, meg ha délután kezd, és a déli órákban már fejezi be

Előzmény: Numan (19957)
Numan Creative Commons License 2013.01.13 0 0 19957

Pont az a lényeg, hogy csak 07:00 - 19:00 közötti időket akarom számolni, a kívűl eső időpontokat nem szeretném hozzászámolni.

Lényegében olyan, mintha 1 nap csak 7-től 19-ig tartana és többi időpontban megáll az idő, vagyis 1 nap 12órából áll.

 

Tehát, ha 

Pl. Kezdő dátum: 2013.01.02 08:00

     Végdátum:     2013.01.04 10:00

     Eredmény:     26 óra

 

Mert 01.02. --> 11 óra (08-tól 19-ig)

        01.03. --> 12 óra (07-től 19-ig)

        01.04. --> 3 óra (07-től 10-ig)

Összesen: 26 óra

 

Remélem így már érthetőbb a problémám.

Köszi, a segítséget!

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

Nem egészen értelek, a két jelzett időpont között nem 26, hanem 50 óra a különbség. Vond ki őket egymásból, és az eredményt állítsd  az egyéni formátumnál [ó]:pp formátumúra, akkor kijön. Vagy nem ez a kérdés?

Előzmény: Numan (19953)
Sánta Kutya (SK) Creative Commons License 2013.01.13 0 0 19955

Próbálj konkrétabb lenni.

Előzmény: bringas1 (19954)
bringas1 Creative Commons License 2013.01.13 0 0 19954

Sziasztok!

 

Makróírásban jártas embert keresek.

Numan Creative Commons License 2013.01.13 0 0 19953

Sziasztok

 

A következő lenne a problémám:

Szeretnék adatokat feldolgozni, amihez konkrét dátumok tartoznak, pl. 2013.01.03 17:48. Van egy kezdő dátum és egy végdátum soronként. Szeretnék különbséget számolni  a vég és kezdő dátum között, ez eddig nem is okozott gondot, mert egyszerűen csak kivontam a végdátumból a kezdő dátumot. De az időt nekem 07:00 - 19:00 között kellene számolnom, az ezen kívűl eső résznél "megáll az idő".

Pl. Kezdő dátum: 2013.01.02 08:00

     Végdátum:     2013.01.04 10:00

     Eredmény:     26 óra

 

Van valakinek ötlete, hogy hogyan lehetne ezt megvalósítani? 

Köszi előre is.

artv Creative Commons License 2013.01.13 0 0 19952

Szia SQLkerdes!

 

Légyszí írd meg nekem a mail címedet a forewn@index.hu-ra, mert lenne egy magánjellegű dolog amit szeretnék megosztani veled.

 

köszi

 

artv

Előzmény: SQLkerdes (19895)
tbando Creative Commons License 2013.01.12 0 0 19951

Na sikerült. Persze úgy egy kicsit babrás a magamfajtának, ha még a demoban is hiba van. (illetőleg nem biztos hogy hiba volt, lehet hogy csak egy más excel verzióra készült). Akárhogy is, de köszönöm rhcp gergonek, hogy felkutatta a linket. 

Előzmény: tbando (19950)
tbando Creative Commons License 2013.01.12 0 0 19950

Kösz. Annyira azonban én még nem értek VB szerkesztéshez, hogy be tudtam volna üzemelni. Egyelőre vagy meg se nyikkan a ctrl+shift-es indításra, vagy többféle hiba üzenetet ír ki. Még kísérletezem vele. Ha végleg befuccsolok vele, majd megkérlek, hogy küldj el priviben egy beélesített füzetet. 

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

Google segített:

http://support.microsoft.com/kb/555263

 

Ha le van nyomva a Workbooks.Open parancs közben a Shift, akkor leáll (kilép) a makró. Pár plusz sor hozzáadsával megoldható, hogy várjon a makró amíg elengeded a shiftet (lásd fenti link).

Előzmény: tbando (19945)
artv Creative Commons License 2013.01.11 0 0 19948

Urak-Hölgyek!

 

Bár ez nem fórum téma, de muszáj itt is megemlítenem, hogy Hatalmas Köszönet mindenkinek aki foglalkozott 'artv' kérdéseivel.

Jelentem sikerült megoldani makró nélkül ezt az igen nehéz mutatványt. /És ebben nem az enyém az érdem :)/

 

SQL és a többiek is gratula...

Különös köszönet tbando-nak ötleteiért és a rengeteg időért amit eltöltött a megoldásával.

 

Szép tiszta munka...! :)

 

Üdv

artv

 

 

 

 

tbando Creative Commons License 2013.01.11 0 0 19947

Kösz. Így most már ezt is tudom :)))

Előzmény: Redlac (19944)
tbando Creative Commons License 2013.01.11 0 0 19946

Na nézzük: Workbooks.Open ("C:\aaaa.xlsx")

Előzmény: Redlac (19944)
tbando Creative Commons License 2013.01.11 0 0 19945

A leáll alatt azt értem, hogy behívja a filet és befejezi a futást. Mintha a végére ért volna. Nem ír ki semmit, hibaüzenetet sem, a tesztszöveget sem. Se a behívottba, se a behívóba. Abban a makróban, ahol élesben bukkant fel ez a probléma, minden utasítás sor elé beírtam egy "debug.print x"  számot, hogy tudjam hol akad ki. Nos, a Workbooks.openig számolta a sorokat, az utána levőket már nem.

 

Egyébként azért írtam azt kis teszt-makrót, hogy hátha valaki megnézi a saját gépén, és beszámol az eredményről.  Mert így kiderülne, hogy generrális bugról van-e szó, vagy az csak az én gépemen jelentkezőről.

Előzmény: Törölt nick (19943)
Redlac Creative Commons License 2013.01.11 0 0 19944

Én úgy tudom, hogy ha a visszaperjeleket duplán írjuk, akkor csak az egyiket szedi le

 

C:\valami\mégvalami

Törölt nick Creative Commons License 2013.01.11 0 0 19943

1. Mit értesz az alatt, hogy "leáll"? Hibaüzenetet dob?

2. (Amennyiben lefut error nélkül:) Nem lehet, hogy kiírja a D1 cellába amit akarsz, csak nem abba a munkafüzetbe amibe gondolod?

Előzmény: tbando (19939)
tbando Creative Commons License 2013.01.11 0 0 19942

Na ennyi kellett hogy kapcsoljak, hogy nem én vagyok abszolut hülye, hanem a forummotor zabrálja el a visszaper jeleket :)))))

Előzmény: tbando (19941)
tbando Creative Commons License 2013.01.11 0 0 19941

B+ :(((((((((

 

Workbooks.Open ("C:aaaa.xlsx")

 

 

 

Előzmény: tbando (19940)
tbando Creative Commons License 2013.01.11 0 0 19940

Az excelfüzetben természetesen így volt:     Workbooks.Open ("C:aaaa.xlsx")  

 

:((((

Előzmény: tbando (19939)
tbando Creative Commons License 2013.01.11 0 0 19939

Tudja-e valaki, hogy miért van az, hogy excel 2007-ben az alábbi „shiftopen” nevű makró makrólapról, makróablakból és ctrl+n-nel indítva minden további nélkül végigmegy, de a ctrl+shift+B indításnál az aaaa.xlsx behívása után leáll?

 

A „shiftsima” nevű makró viszont minden további nélkül lefut a ctrl+shift-es inditásra is. Tehát úgy néz ki, hogy a ctrl+shift és az open azok, akik nem lájkolják egymást.  Miért? És tapasztalt-e valaki egyéb ctrl+shift-es indítási zavart?

 

Sub shiftopen()

Workbooks.Open ("C:aaaa.xlsx")

Range("D1") = "CTRL+SHIFT open-nel"

End Sub

 

Sub shiftsima()

ActiveSheet.Range("D1") = "CTRL+SHIFT open nélkül"

End Sub

 

ujszaszy Creative Commons License 2013.01.11 0 0 19938

ha majd lesz időd, súgd meg, melyik része a kínai :-)

kellemes hétvégét

Előzmény: Redlac (19937)
Redlac Creative Commons License 2013.01.11 0 0 19937

Az utolsó mondatod egy része számomra kínaiul hangzik.

 

 

Köszi az ötletelést, de egyelőre az adatérvényesítéssel a megfelelő műveletek elvégezhetőek...meg egyébként is szabadidőből fejlesztgetek...és most hétvégén gyerekes programjaim lesznek :-)

Előzmény: ujszaszy (19936)
ujszaszy Creative Commons License 2013.01.11 0 0 19936

nagyon szívesen.

örülök, hogy segíthettem.

 

ELgondolkodtam viszont, lehet hogy érdemes átsrtukturálni a két excelt, esetleg beépített beviteli formokkal operálni, mert akkor nem is tud máshova beírni a user

Előzmény: Redlac (19935)
Redlac Creative Commons License 2013.01.11 0 0 19935

Úgy néz ki, hogy most az xlsx-ben mentettet meg tudja nyitni a 2003-is.

 

Köszi a segítséget :-)

Előzmény: ujszaszy (19933)
Redlac Creative Commons License 2013.01.11 0 0 19934

No, próbálgatom nagyon.

 

A makróban ugye csak akkor kell megadni a lapvédelem jelszavát, ha a védelemmel ellátott részben turkál a makró. Ha nem, akkor simán maradhat a jelszavas védelem, csak ennek feloldását kell mellőzni a makróban.

 

...és tadam :-)

Előzmény: Delila10 (19929)
ujszaszy Creative Commons License 2013.01.11 0 0 19933

Formázatlan, de az az exceleld, amibe úgyis be szeretnéd tenni, gond nélkül behúzza. Vedd fel makróval azt a pár lépést, hogy megnyitott a csv-t

Előzmény: Redlac (19932)
Redlac Creative Commons License 2013.01.11 0 0 19932

Hát a csv érdekesen néz ki...kicsit formázatlan :-)

Előzmény: ujszaszy (19931)
ujszaszy Creative Commons License 2013.01.11 0 0 19931

azt már én is tapasztaltam, hogy összeakadnak a verziók. Még a 2007 és 2010 is, nem beszélve a 2008-as mac excelben készített cuccokról.

Valahogy másképp generálja le az xls formátumot minden verzió. (elég, ha csak megnézed a méretét egy 2010-ben és egy 2003-ben csinált xlsnek, vagy csak nyisd meg 2003-ban a korábban 2010ben csináltat, és minden változtatás néklül ments rá).

 

Külön idegesítőek a verziónként eltérő függvénynevek, de nem ez a lényeg.

 

Próbáld meg csv-be menteni, mert azt native felismeri minden verzió, és könnyen ír és olvas is.

Előzmény: Redlac (19927)
Redlac Creative Commons License 2013.01.11 0 0 19930

Ebben igazad van, de jelen esetben a lapvédelem csak a véletlen módosítás ellen van.

 

Kipróbáltam jelszó nélküli lapvédelemnél és működnek a makrók.

 

Közössé téve, működnek a makrók, és pont a közös használat miatt a lapvédelmet sem tudja levenni.

 

Bár azon lehetne gondolkodni, hogy a jelszavas-lapvédelmes-makrós-közös megosztás kombó működőképes-e...

Előzmény: Delila10 (19929)
Delila10 Creative Commons License 2013.01.11 0 0 19929

Ezt elég nagy hibának tartom, mert pontosan akkor lenne szükség a lapvédelemre, ha többen használják.

Előzmény: Redlac (19928)
Redlac Creative Commons License 2013.01.11 0 0 19928

Ez a sor volt benne...

 

amikor ezt töröltem, akkor működött

Előzmény: Delila10 (19926)
Redlac Creative Commons License 2013.01.11 0 0 19927

Na, akkor még egy kérdés...biztos tudod a választ :-)

 

Sub macro()

Application.DisplayAlerts = False

    Dim fldlg As FileDialog

    Set fldlg = Application.FileDialog(msoFileDialogSaveAs)

    With fldlg

        .Title = "Mentés VLK módra"

        .InitialFileName = Range("Z32") & "_" & Range("E39") & "_" & Range("D40")

        If Application.Version = "14.0" Then

            .FilterIndex = 2

        ElseIf Application.Version = "12.0" Then

            .FilterIndex = 4

        ElseIf Application.Version = "11.0" Then

            .FilterIndex = 1

        End If

    End With

    rv = fldlg.Show

    If rv Then

        ActiveWorkbook.SaveAs fldlg.SelectedItems(fldlg.FilterIndex)

    End If

Application.DisplayAlerts = True

End Sub

 

 

A filterindex azért kell, mert különböző verziók alatt használjuk, és a mentésnél 2007 és 2010 alatt xlsm legyen, míg 2003 alatt xls.

 

Ez a makró tegnap még működött a különböző verziók alatt, de ma nem (vagy csak h*lye vagyok.

 

Most a 2010 alatti mentésnél hibát dob a makró, de 2003 alatt remek.

 

Ha a 2007-es, 2010-es esetében a mentett fájlformátumnál xls-t választok ki, akkor működik, de a mentett fájlt nem lehet megnyitni.

Delila10 Creative Commons License 2013.01.11 0 0 19926

Meg lehetne próbálni a védett lap felszabadítását a makró számára.

 

ActiveSheet.Protect Password:="Titkosjelszó", UserInterfaceOnly:=True 

Előzmény: ujszaszy (19924)
Redlac Creative Commons License 2013.01.11 0 0 19925

Köszi???

 

Én köszönöm jó ember :-)

 

Levettem a lapvédelmes dolgot és működik.

 

Király vagy :-)

Előzmény: ujszaszy (19924)
ujszaszy Creative Commons License 2013.01.11 0 0 19924

Köszi.

 

asszem rájöttem, mi lehet a hiba.

A nem működik xls makrója a füzetvédelmet is beállíja, ami közös munkafüzetek esetében nem lehetséges, ezért  akad ki a makró.

MIvel közös, ezért nem látod, hogy hol akad ki

Előzmény: Redlac (19922)
ujszaszy Creative Commons License 2013.01.11 0 0 19923

Nem tudom levenni, mert inaktív a pipa :-(

bocs, csak angol 2003-as van ezért elnézést az esetleges melléfordításért

 

Adatérvényesítéssel

 

Az Adatok > Érvényesítés > Beállítás fülön válaszd ki előszor a dátumokat, és ott több opció között választhatsz.

ugyanígy az időpontnál.

 

vagy két sort beírsz a makróba:

 

ActiveCell=Date

ActiveCell.Offset(0,1)=Now

 

persze az activecell helyett bármilyen range-ra hivatkozhatsz

Előzmény: Redlac (19921)
Redlac Creative Commons License 2013.01.11 0 0 19922
Előzmény: ujszaszy (19920)
Redlac Creative Commons License 2013.01.11 0 0 19921

A közössé tételt meg tudod szüntetni te is.

 

A dátum, idő bevitelt hogyan lehetne érvényesítéssel megoldani?

Előzmény: ujszaszy (19920)
ujszaszy Creative Commons License 2013.01.11 0 0 19920

RedLac!

 

megtennéd, hogy felteszed a működik munkafüzetet úgy. hogy nincs közössé téve, mert így nem látom, mit csinál.

Köszi

 

Ahogy láttam a nem működik makro nem vészes, lehet, hogy érdemesebb lenne csak adatérvényesítéssel megoldani :-)

Előzmény: Redlac (19918)
ujszaszy Creative Commons License 2013.01.11 0 0 19919

Nagyon köszönöm

Előzmény: Sánta Kutya (SK) (19916)
Redlac Creative Commons License 2013.01.11 0 0 19918

Ezt az oldalt már végig olvastam, de nem lettem okosabb...

 

Ráadásul el is tudnám fogadni, hogy bizonyos makrók nem tudnak futni, ha ugyanazok egy másik munkafüzetben meg ne futnának tökéletesen - a közös használat ellenére.

 

Felrakom a data-ra a két (egyik működik, másik nem) táblázatot adatok nélkül, megköszönném, ha valaki rákukkantana...

 

 

http://data.hu/get/6059797/nem_mukodik.xls

 

http://data.hu/get/6059798/mukodik.xls

Előzmény: pimre (19915)
Sánta Kutya (SK) Creative Commons License 2013.01.10 0 0 19917

Majdnem azt mondtam, hogy ez már nem rendeltetésszerű használat, de én pl. tizenéve gyűjtöm a túranaplómat egy egyre nagyobb táblázatban, és ott a többször látogatott teljesítménytúrák áttekintése végett érdemes autószűrőt használni a nevekre, és szeretném még átlépni majd az ezret. :-) Lehet, hogy addigra már adatbázissá kellene konvertálni, de sokszor túl fésületlenek bizonyos adatok, és ki tudom használni az Excel toleranciáját a slendriánsággal szemben.

Előzmény: SQLkerdes (19895)
Sánta Kutya (SK) Creative Commons License 2013.01.10 0 0 19916

Welcome! Itt nincsenek nagyok, se ugatás, csak hasznos észrevételek. :-)

Előzmény: ujszaszy (19892)
pimre Creative Commons License 2013.01.10 0 0 19915

Sajnos az Excel kapcsán még sosem futottam bele a multi user editing kérdéskörbe, más szóval a shared workbook használatába. De ősrégi emlékeim szerint (80-as évek, Clipper nyelven) egészen speciális szabályokat kellett alkalmazni az ilyen közös alkalmazásnál. Voltak várakoztató parancsok a beolvasásnál, és a kiírásnál, hiszen vigyázni kellett arra, hogy véletlenül se tudja két felhasználó ugyanazt az adatot egyidejűleg szerkeszteni. Ha például a felhasználó beolvasott egy adatot, akkor a programnak azt zárolnia kellett arra az időre, amíg nem érvényesítette a felhasználó a módosítást, vagy el nem vetette azt. És hasonlók.

 

Nem lehet, hogy itt is valami hasonló meggondolások létezhetnek? Találtam is olyan oldalakatt, amelyek erről szólnak, pl: http://office.microsoft.com/en-us/excel-help/use-a-shared-workbook-to-collaborate-HP010096833.aspx

 

Most nem volt időm, és szakmai hozzáértésem sem ezt végigolvasni, de nem lehetséges, hogy ilyen jellegű korlátok miatt vannak a zavarok?

 

Bocs, ha szamárságokat, vagy teljesen evidens felvetéseket írok.

Előzmény: Redlac (19914)
Redlac Creative Commons License 2013.01.10 0 0 19914

Úgy képzeld el, mintha két diszpécser ülne egymás mellett hasonló feladatokkal. A bejövő hívások információtartalmát kell rögzíteni, de aki éppen felveszi a telefont, az fogja beírni a következő üres sorba.

 

Nem lehet, hogy külön fájlt vezessenek, és azt se nagyon lehet, hoyg adott személy csak az egyik féle táblázatot töltse. De a beírás gyorsítása is cél lenne, ezért lennének jók a makrók.

Előzmény: tbando (19911)
Redlac Creative Commons License 2013.01.10 0 0 19913

A saját asztalomon tettem közös használatúvá mindkettő fájlt, és még szintén csak a saját gépemen próbáltam ki, és az egyiken futottak a makrók, a másikon nem.

 

Nincsenek egymásra hivatkozások.

Előzmény: ujszaszy (19904)
ujszaszy Creative Commons License 2013.01.10 0 0 19912

jajajaja, énis, pláne, hogy úgyis van benne makro, ami frissítheti a master adatbázist az inputfájlok alapján

Előzmény: tbando (19911)
tbando Creative Commons License 2013.01.10 0 0 19911

Többféle táblázatot használnánk de egyszerre 2 külön gépen vannak megnyitva és adott sort hol az egyik, hol a másik felhasználó tölti ki.

 

Én ezt kizárt, hogy engedélyezném. Nálam mindenki csak a saját inputfile-ját tölthetné ki, amit egy központi szoftver egyesítene. 

Előzmény: Redlac (19903)
tbando Creative Commons License 2013.01.10 0 0 19910

Igen. Én is azt tartom valószinűbbnek, hogy máshol sem müxik. De mivel az excelem elég sok furcsaságot produkál, sosem zárható ki, hogy nálam van valamilyen rejtélyes hiba.

Előzmény: ujszaszy (19909)
ujszaszy Creative Commons License 2013.01.10 0 0 19909

nálam még egyik excel verzióban sem működött :-(

Előzmény: tbando (19908)
tbando Creative Commons License 2013.01.10 0 0 19908

Az excel 2007 súgója azt írja, hogy a kettős egyenlöségjel (==) ekvivalens az AZONOS fgv-vel. De nálam az excel nem fogadja el a ==-t. Nálatok?

tbando Creative Commons License 2013.01.10 0 0 19907

A szűrő egyik paraméterrel sem látja az utolsó sort.

Előzmény: ujszaszy (19906)
ujszaszy Creative Commons License 2013.01.10 0 0 19906

És a részösszeg függvény paraméterébe a látható cellákat állítod?

lehet, hogy akkor megoldódik, nem?

Előzmény: tbando (19905)
tbando Creative Commons License 2013.01.10 0 0 19905

Itt nem ez okozta a galibát. Hanem egy egészen meglepő dolog. Nem kis futam, volt rájönni a hiba okára. Kb. 2 órám ment rá a hibavadászatra. Az azt megelőző félnapos teljes tanácstalanságról már nem is beszélve :))). B+

 

A táblázatomban van egy részösszeges értékeket tartalmazó oszlop.  Nos, ha elvben az is szűrhető, akkor nem látja a táblázat utolsó sorát a szűrő. Függetlenül attól, hogy szűrök-e erre a részösszeges  oszlopra, vagy sem. Ha nincs kijelölve szűrésre az oszlop, akkor viszont minden oké. Na most mivel az autószűrőnél a szűrőre kattintás az összes oszlopnál felkinálja szűrhetőséget, a hiba előjön, ha erre nem ügyelünk. A megoldás, hogy a szűrő bekapcsolása elött, a részösszeges oszlopot el kell különíteni a táblázattól. Aztán utána visszailleszthető, de tulajdonképpen erre nincs is szűkség. 

 

 

Előzmény: _Nyuszi (19896)
ujszaszy Creative Commons License 2013.01.10 0 0 19904

Nem tudom, mi lehet a gond.

Esetleg az a tény, hogy ki tette közössé a fájlokat?

 

mert ugye aki előszök kattint a "munkafüzet megosztására", az lesz a tulajdonos, és neki több joga van, mint a többi felhasználónak.

 

Amásik amire gondoltam, hogy lehet, hogy két olyan munkafüzet hivatkozik egymásra, ami mindkettő közös, és ezért akad össze.

 

Nem lehet az összes adatot egybe tenni?

Előzmény: Redlac (19903)
Redlac Creative Commons License 2013.01.10 0 0 19903

Többféle táblázatot használnánk de egyszerre 2 külön gépen vannak megnyitva és adott sort hol az egyik, hol a másik felhasználó tölti ki.

 

Eddig sima kockás papírnak megfelelő táblázatokat töltöttek, maximum legördülő listák voltak az egyszerűsítés céljából. 

 

Arra gondoltam, hogy lehetne jó pár állandó adatot (dátum, időpont, beíró neve) mondjuk dupla klikkre beíratni. Ezek a makrók megvannak, már használom őket jó ideje, és ezekbe a táblázatokba (illetve teljesen újakat hoztam létre) is beleírtam őket. Majd, amikro közös használatúvá tettem a fájlt, a makrók nem működtek egyáltalán.

 

De van olyan táblázatom, amiben ugyanezek a makrók, valamint pár másmilyen is benne van, és azok a közössé tétel után működnek.

 

Mitől működik ebben, és mitől nem a másikban?

 

Szerintem mindenféle variációt már kipróbáltam :-)

Előzmény: ujszaszy (19902)
ujszaszy Creative Commons License 2013.01.10 0 0 19902

Mire szeretnéd használni?

Előzmény: Redlac (19898)
Redlac Creative Commons License 2013.01.10 0 0 19901

Mégsem oldódott meg :-(

 

Az egyik makrókkal ellátott munkafüzet működik a közössé tétel után, a másik nem.

 

Próbáltam ugyanolyan fájltípusban a nem működőt, mint a működőt, de semmi.

 

Próbáltam úgy, hogy a közös használatúnak a műkődő makróit átmásoltam egy új munkafüzetne, de úgy is semmi.

 

Mi a szöszt tudhat a működő, amit a többi nem?

Előzmény: Redlac (19891)
ujszaszy Creative Commons License 2013.01.10 0 0 19900

Pl felveszed egy változóba, és a procedúra végén valami eldugott cellába kiíratod, ha kell.

Viszont a userek jobb, ha nem tudnak róla, mert személyes adatnak tekinthetik :-)

Előzmény: Redlac (19898)
ujszaszy Creative Commons License 2013.01.10 0 0 19899

Sziasztok, ezt már én is tapasztaltam. Azt szoktam csinálni, hogy a szűrőt kikapcsolao, makjd újra be, így frissül.

HA excel 2007, vagy 2010-est használtok, érdemes az adatokat "adattáblává" átkonvertálni. Kijelölve az adatokat, Beszúrás >> Tábázat.

Ilyenkor automatikusan megjelennek a szűrők, és mindig frissül, ha új sor kerül a tábla aljára.

 

Ráadásul úgy emlékszem, hogy ezeknél  a verzióknál már 10000 rekorot lehet megjeleníteni a szűrő legördülőjében

Előzmény: _Nyuszi (19897)
Redlac Creative Commons License 2013.01.10 0 0 19898

Üdv itt!

 

és ezt a sort hová kellene írni?

Előzmény: ujszaszy (19892)
_Nyuszi Creative Commons License 2013.01.10 0 0 19897

Persze, hogy csak a legördülő listára vonatkozik. :)

Meglepett, amikor kerestem valamit, hogy még nem vittem fel, hiszen a listának nem eleme. Aztán kiderült, hogy de. :(

Valamint érdekes, hogy (a XL 2003-ban) a lista mérete nem állítható. Ha kétszer ilyen hosszú lenne, felőlem 2000 tételt is tudhatna. :) (Ez gondolom másnak nem lenne megfelelő, de hát nem vagyunk egyformák.)

Előzmény: SQLkerdes (19895)
_Nyuszi Creative Commons License 2013.01.10 0 0 19896

Közben eszembejutott egy tipp: nálam, ha új rekord került a táblába, azt - amíg a sorszámot tartalamzó ID oszlopot nem húzom le odáig - nem veszi figyelembe, tehát csak a felette lévő sorokkal dolgozik, az új sorok mindig megjelennek (nem a szűrő algoritmus szűri hozzá, hanem egyszerűen nem vesz róla tudomást, és mintegy táblán kívüli adatsort kezeli). Mondom: nálam a sorszámot kell lehúzni, Ctrl+S, aztán szokott működni. :)

Előzmény: tbando (19888)
SQLkerdes Creative Commons License 2013.01.10 0 0 19895

Igen, de az 1000 tétel csak az autofilter drop-down-jára vonatkozik (nem is logikátlanul, mert ki akarna egy olyan drop-down menüből válogatni, ami több mint 1000 tételt tartalmaz).  Maga a szűrendő tábla az excel saját limitációin belül akármekkora lehet.

 

Nekem akkor voltak ilyen problémáim, amikor a tábla valamiért megszakadni látszott az excel számára, ezért kérdeztem az üres sort.

Érdemes megnézni az első olyan sort, amit az excel nem vesz figyelembe a szűrésnél, ott kell lennie valaminek...

Előzmény: _Nyuszi (19893)
SQLkerdes Creative Commons License 2013.01.10 0 0 19894

Azt nézd meg van-e üres sor a táblázatban.  Milyen verziójú excel-t használsz?

Előzmény: tbando (19889)
_Nyuszi Creative Commons License 2013.01.10 0 0 19893

Érdekes. Én eddig csak abba futottam bele, hogy csak az első 1000 eltérő értéket veszi figyelembe, többet nem. Amit te mondasz, azzal még nem találkoztam.

Előzmény: tbando (19888)
ujszaszy Creative Commons License 2013.01.10 0 0 19892

Sziasztok!

 

elég új vagyok a fórumon, és elnézést, hogy beleugatok a nagyok dolgába, de

 

a rutin helyett elég lehet egy sor is, amely kiszedi a bejelentkezett user nevet:

 

Application.UserName

 

 

Előzmény: Delila10 (19877)
Redlac Creative Commons License 2013.01.10 0 0 19891

Na, úgy tűnik megoldódott, bár teljesen nem értem...

 

Más felhasználónál a 2010-es alatt lett közössé téve, és most működnek a makrók.

 

Köszönöm az együttgondolkodást :-)

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

Ilyennel nem volt tapasztalatom, sőt ebben a témában csak 2007-est használtam (mert a munkahelyemen nem válogathatok). Azt tudom, hogy a közössé tételkor bizonyos dolgok üzemszerűen elromlanak, és ez ki is van írva: makró nem jeleníthető meg és nem szerkeszthető, munkalap nem törölhető és nem adható hozzá stb.

Előzmény: Redlac (19885)
tbando Creative Commons License 2013.01.10 0 0 19889

Úgy néz ki, hogy az utosó sort már nem veszi bele a szűrési táblázatba, mert míg a többi szűrt cellasor számozása kék, ezé fekete. Na de miért nem? Elvileg muszájna neki.

Előzmény: tbando (19888)
tbando Creative Commons License 2013.01.10 0 0 19888

Idáig nem igen használtam az autószűrőt, tehát gyakorlatilag semmilyen tapasztalatom nincs vele. Most azonban, amikor egy feladat kapcsán elővettem, meglepve látom, hogy az adattábla utolsó rekordját, mindegyik kategóriához hozzászűri. Miért lehet ez? Hogyan lehet leellenőrizni, hogy a az excel a szűrésnél mekkora táblázatot vesz figyelembe?

 

Redlac Creative Commons License 2013.01.10 0 0 19887

Akár...

 

ma délelőtt beszélek a rendszergizdákkal, talán tudnak valami bíztatót mondani.

Előzmény: tbando (19886)
tbando Creative Commons License 2013.01.09 0 0 19886

Nem képzelhető el, hogy a szerver biztonsági beállítasai kavarnak be? 

Előzmény: Redlac (19885)
Redlac Creative Commons License 2013.01.09 0 0 19885

Közben próbálkozom, de semmi...

 

1. A makrók futtathatóak. A közössé tétel előtt működek tökéletesen
Ha közössé teszem a fájlt:
- A makrók hibát dobnak
- Berak a munkafüzet közepére egy "leválasztó" vonalat, mintha ablaktáblát rögzítettem volna
- A makrók nem érhetőek el, nem is lehet látni őket
2. Mind xls-sel, mind xlsm-mel megpróbáltam és ugyanaz a hiba
3. Ha a közössé tételt megszüntetem:
- az ablaktábla rögzítés marad
- a makrók továbbra sem működnek
- a Visual Basicben a makrókat továbbra sem lehet látni

Előzmény: Redlac (19884)
Redlac Creative Commons License 2013.01.09 0 0 19884

Nem is működnek...

 

Dupla klikkre beírósok vannak benne (idő, dátum, felhasználónév), de dupla klikre csak belelépnek a cellába, és nem írnak bele semmit.

Előzmény: Sánta Kutya (SK) (19882)
Redlac Creative Commons License 2013.01.09 0 0 19883

Nem. Felraktam az xls-t, közössé tettem, és saját magára mentettem rá.

Előzmény: Törölt nick (19881)
Sánta Kutya (SK) Creative Commons License 2013.01.09 0 0 19882

Nur nicht beßarren, mondta a papagáj a macska szájában!

Amikor közössé tetted, ki is írta, hogy ez fog történni.

Most vedd le a megosztást, és visszajönnek.

A közös munkafüzetben nem jeleníthetők meg, de működnek. Kivéve, amelyiket csak a makróablakból tudod kézzel elindítani, és nincs neki indítógombja.

Előzmény: Redlac (19880)
Törölt nick Creative Commons License 2013.01.09 0 0 19881

valaki rámentett az filenév.xlsm-re filenév.xls(x)-et?

Előzmény: Redlac (19880)
Redlac Creative Commons License 2013.01.09 0 0 19880

Ááááá, segítség!

 

Egy szerveren tárolt, makrókkal ellátott munkafüzetet közössé tettünk és a makrók eltüntek...az egész projekt nem jeleníthető meg

 

 

Redlac Creative Commons License 2013.01.09 0 0 19879

Ez a verziószámos függvény tegnap is jól jött volna :-) 2010 alatt adja a 14.0 eredményt

 

Az alkalmás neve jobb használatra, mivel azt az Excelben át tudom szükség esetén írni akármire is.

Előzmény: Delila10 (19877)
Delila10 Creative Commons License 2013.01.09 0 0 19878

A felülírásra (és egyéb kérdésekre) vonatkozó kérdést a Application.DisplayAlerts=False sorral tudod letiltani. A makró végén feltétlenül állítsd vissza True értékkel!

Előzmény: tbando (19874)
Delila10 Creative Commons License 2013.01.09 0 0 19877

A felhasználó nevét megkapod az alábbi makróval:

 

Sub KiVagy()

    Set wsn = CreateObject("WScript.Network")

    MsgBox wsn.UserName

End Sub

 

A verziószámot lekérdezheted az INFÓ függvénnyel: =INFÓ("verzió")

Érdemes megnézni a súgóban ezt a függvényt, bár az INFÓ("fileszám"), ami a súgó szerint a füzetben lévő lapok számát adja, az 1 lapot tartalmazó füzetben 11-es eredménnyel-, a hármat tartalmazóban 13-mal tért vissza. Eszerint az eredményből le kell vonni 10-et. Próbáltam bővíteni, szűkíteni a lapok számát, és mind a 2003-ban, mind a 2007-ben következetesen 10-zel többet ír ki. :)

Előzmény: Redlac (19876)
Redlac Creative Commons License 2013.01.09 0 0 19876

Köszönöm, hogy időt szántál rá...

 

Nem tűnik rossznak az ötleted, de az egyénenkénti mentés sem egyértelmű.

Mert a táblázat adattartalma 3 féleképpen tölthető fel. A kitöltéstől függ, hogy milyen típusba (a munkánk szerint) lesz a fájl besorolása, így ha megadjuk, hogy egyénenként de EGYETLEN helyre mentsen, az nem lenne jó.

 

Elgondolkodtam azon, hogy a mentés helyét a táblázat adattartalma alapján határozzam meg, és ezek alapján generáljak egy mentési útvonalat. Ez a következőképpen nézne ki:

 

- A szerveren mindenkinek van egy saját nevére szóló mappája, abban a 3 különböző almappa (mondjuk 1, 2, 3 néven)

- A dátum beírására egy rejtett cellába beírná a felhasználó nevét (ami megegyezik a szerveren lévő mappa nevével)

- a táblázat adattartalmától függően egy szintén rejtett cellában (sima ha függvénnyel) meghatározom, hogy melyik alcsoportba tartozna a fájl

- És a fentiekből egy összefűz segítségével határoznám meg a mentés helyét

 

=összefűz(z:\Táblázatok\A1\B1\C1\"_"\D1\"_"\E1\F1

 

A1= felhasználó neve

B1= az adott táblázat típusa

C1= egy iktató szám (a felhasználó írja be)

D1= dátum (ami valójában nem mai dátum, hanem a táblázat szempontjából releváns/bekövetkezési dátum)

E1= helyszín (azt szintén a felhasználó írja be

F1= a fájl kiterjesztés magadása (mivel különböző Office verzióban használjuk, így vizsgálnám, hogy milyen verzió alatt használjuk a fájlt, és ennek megfelelően adná meg a fájl kiterjesztést)

 

Ezt raknám össze Delila által korábban megadott makrójával, ami elvileg remekül működik, ha a mentés helye és a fájlnév meg van adva.

 

Most a tegnapi csiszolgatott (csak nevet megadó makró) jól működik. A sok (?) felhasználó miatt a teljesen automatikus mentés jónak tűnik, mert nincsen hibalehetőség.

 

De ezt még rágom...

Előzmény: tbando (19869)
_Nyuszi Creative Commons License 2013.01.08 0 0 19875

A Googléval most nem találom, a könyv meg nincs kéznél. :(

(Megjegyzem, ha te nem tudsz róla, valószínűleg félreértettem valamit és amit tudnék mondani, nem vinne előrébb, vagy rosszul emlékszem és nincs is ilyen.)

Előzmény: tbando (19874)
tbando Creative Commons License 2013.01.08 0 0 19874

Tudtommal nincs. És mit kéne False-ra állítani? Nem írnád be ide, hogy szerinted, hogy kéne kinéznie?

Előzmény: _Nyuszi (19871)
Sánta Kutya (SK) Creative Commons License 2013.01.08 0 0 19873

Szét lehet bontani egy oszlopot, ha megvannak a feltételei (egyértelmű elválasztó karakter vagy állandó szélességű részek), csak nem derül ki az előzményekből, hogy itt megvannak-e.

Előzmény: _Nyuszi (19870)
tbando Creative Commons License 2013.01.08 0 0 19872

Szerintem ehhez az  FKERES fgv kell. Nézz utána a súgóban. 

Előzmény: bringas1 (19860)
_Nyuszi Creative Commons License 2013.01.08 0 0 19871

Van arra valami változó, hogy történt-e módosítás a megnyitás óta, azaz felkínálja-e a mentést... Ha False-ra állítja az ember, kérdés nélkül kilép. :)

Erre gondolsz?

Előzmény: tbando (19869)
_Nyuszi Creative Commons License 2013.01.08 0 0 19870

"Egy oszlopot nem tudok két részre osztani?"

Nem. Olyat tudsz csinálni, hogy két szomszédos (most speciálisan: egymás melletti) cellát összevonsz.

Tehát nem a C oszlopból csinálsz C1 és C2 aloszlopot, mert olyat nem tudsz, hanem beszúrsz egy új oszlopot (D-t), majd a C-t és a D-t összevonod (szaknyelven: egyesíted) ott, ahol nincs szükséged "aloszlopra". A maradék helyen pedig marad egy C és egy D oszlopod egymás mellett.

Ilyen adatbázis jellegű dolgokat egyébként célszerű nem cellaegyesítésekkel megoldani, mert a képletek másolásakor gond lehet. Praktikusan úgy érdemes, hogy csinálsz egy adat munkalapot, ahol formázás nélkül a nyers adatok vannak (akár áthaladásokkal), és csinálsz egy színes-szagos megjelenítő munkalapot, ahová csak azokat az adatokat viszed át, amire szükséged van. Pl. az adat munkalapon van az összes viszonylat indulása úgy, hogy 1. megálló, 2. megálló stb., illetve viszonylatonként a megállók neve, a megjelenítő munkalapon pedig beütöd a viszonylatszámot egy kijelölt cellába, meg a megálló sorszámát, és ő a szükséges adatokat (indulásokat stb.) összevadássza az adat munkalapról.

Előzmény: <Tycoon> (19868)
tbando Creative Commons License 2013.01.08 0 0 19869

Örömmel látom, hogy alakulnak a dolgaid, de azért felteszem ide a 19568-ban igért megoldás.  Sajnos még annál is kevésbé pöpecebb, mint reméltem,  mert  olyat csinál amivel még az életemben nem találkoztam, és hiába kínlódtam vele, nem tudtam jobb belátásra bírni. Nevezetesen, hogy míg makróablakból indítva simán lefut, gyorsbillentyüt rendelve hozzá viszont kiakad Nem mindig, de általában :((. Lehet hogy csak az én excelem hülyéskedik, és a tied nem fog, de valószínűbbnek tartom, hogy a makróban hibás valami. Talán egy okos topiktárs meg tudja reparálni.  Amire én is nagyon kiváncsi lennék hogy hogyan.

 

Szóval ez egy elég bosszantó hiányosság, de mivel mégiscsak működik, hát leírom. Az alapelve az, hogy minden résztvevő, akinek ki kell majd töltenie sablonodat, letölt a gépére egy saját beállítású füzetet, mindenki ugyanazon a néven, ugyanazon az útvonalon elérhetően. Praktikusan tehát leginkább a C: könyvtárba. Aztán ebbe a fileba egységes módon ki-ki maga beleírja, hogy hova és milyen néven szeretné majd lementeni az általa kitöltött sablonfilet. Hogy hogyan, arra felteszek egy példát  a data.hura  redla.xls néven.  Az alábbi  filementő makró, e füzet beállításaihoz igazodik. (Ez az a makró, ami nálam csak a makróablakból indul). Még annyit, hogy úgy van elképzelve, hogy a makró a sablonnal érkezik. Persze úgy is lehet, hogy már eleve rajta van mindenkinek a gépén bővítményként. A makró így néz ki:

 

Sub redlament()

Dim a$, b$

Workbooks.Open ("C:redla.xlsx")

a = Workbooks("redla").Worksheets("Munka1").Range("a6") ''fuzetnev

b = Workbooks("redla").Worksheets("Munka1").Range("a7") ''path+fuzetnev

Workbooks("redla.xlsx").Close

Workbooks("sablon").SaveAs Filename:=b, FileFormat:= _

        xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

Workbooks(a).Close

End Sub

 

A makró mindenkinél az általa kijelölt könyvtárba menti le a kitöltött sablont. Mindig ugyanabba. Ha megváltozik a szitu és ezentúl máshova akarja menteni, egyszerűen átírja a redla.xlsx-ben.  Ha azonban a tartalomtól függően, hol ide kéne tölteni, hol oda, akkor ki kell iktatni a makró utolsó utasítását, a workboks(a).close-t egy eléje írt apostróffal, akkor a stabilhelyre történő mentés után nyítva marad a file, és most már egy normális  Filementés máskénttel, odamenthető, ahova tetszik. Tehát ilyenkor 2 példányban lesz a gépen file,  a stabilra kijelölt helyén, és a másodszorra  tetszőlegesen választotton. Ugyanazon a néven.  Na erre gondoltam, amikor azt mondtam lehetne pöpecebb is.  

 

A makró csinál még 2 furcsaságot, amit színtén nem értek, és nem tudtam kiiktatni: Ezektől müködik ugyan, de jelzi, hogy nem perfekt.  Az egyik, hogy mielőtt végrehajtaná a „Workbooks("redla.xlsx").Close” utasítást, rákérdez, hogy akarom-e a redla.xlsx változásait menteni. Mivel elvileg nem történik semmi változás a redla.xlsx-ben, mert abból csak adatot olvasunk ki, a fene se érti ezt. Kattints rá bármelyik opcióra, és innen már végigmegy.

 

A másik furcsaságot sokkal súlyosabbnak érzem. Ha úgy alakul, hogy egy már létező filenéven akarsz lementeni új filet, akkor rendben rákérdez, hogy felülírható-e az előző. Ha engedélyezed, akkor felülírja. Ha nem, akkor viszont kiakad. Mondjuk, ez a szerencsésebb változat, sokkal bosszantóbb lenne, ha a szükséges változattal kéne manuálisan veszkődni. De mindenképpen hiba, valszeg a filementő sor, amit feltétlenül érdemes volna kijavítani. Én sajnos kevés vagyok hozzá.

 

A redla.xls letöltőlinkje:  

http://data.hu/get/6050161/redla.xlsx

 

 

Előzmény: Redlac (19858)
<Tycoon> Creative Commons License 2013.01.08 0 0 19868

Egy oszlopot nem tudok két részre osztani?

 

Ill másik kérdés, egymás mellé írom a menetrendi adatokat (betétjáratokkal) és mindig kiírja hogy hiba a képletben (jól számolja de oda bumszlizik egy zöld pacát) miért?

Előzmény: _Nyuszi (19867)
_Nyuszi Creative Commons License 2013.01.08 0 0 19867

Nem kellő cellákat kitörlöd, a többit pedig kijelölöd, szélénél fogva arrébbhúzod.

Vagy külön munkalap.

 

"egy új járat vagy törölnék egy sort, akkor a felső cellasorból is törlődik / vagy elcsúszik az adat."

Oszlopot törölsz.

Előzmény: <Tycoon> (19864)
GL-SW Creative Commons License 2013.01.08 0 0 19866

Úgy látszik nem tudok nem hibázni:

............küldött formátummal megoldódott kérdésem. megoldódott.

Előzmény: GL-SW (19865)
GL-SW Creative Commons License 2013.01.08 0 0 19865

Köszönök minden Hsz-t.

Végigolvastam a válaszokat. Retro Image által a 19850 hsz-ben küldött formátummal megoldódott kérdésem megoldódott.

<Tycoon> Creative Commons License 2013.01.08 0 0 19864

Sziasztok!

 

Egy menetrendet szerkesztgetek excellben, és az a problémám hogy megcsinálom az "oda" irányt  és vissza iránynál nagyon szöszögős hogy törölnék egy oszlopot akkor kitöri a felette lévő "oda " irány időadatát.

 

 

Hogy lehet megoldani hogy egy táblázatban de két külön főcellába kezelje az adatokat.

 

pl:

 

oda

Bécsi út          05     10   15

Árpád híd        08     13   18 

 

 

 

vissza:

Árpád híd      10    15  *  20

Bécsi út        13    18  *  23 

 

*

ha az időadatok közé bejönne egy új járat vagy törölnék egy sort, akkor a felső cellasorból is törlődik / vagy elcsúszik az adat.    Nem lehetne valahogy úgy külön kezelni az oda és vissza irányt?

 

 

Redlac Creative Commons License 2013.01.08 0 0 19863

If Application.Version = "14.0" Then

            .FilterIndex = 9

 

A 2010-es 14-es számú, és 9-es a xlsm :-)

 

by Micu 

Előzmény: Delila10 (19859)
Retro Image Creative Commons License 2013.01.08 0 0 19862

Ha angol megy, akkor ez segíthet:

http://www.rondebruin.nl/saveas.htm

Előzmény: Redlac (19858)
_Nyuszi Creative Commons License 2013.01.08 0 0 19861

Fkeres? Ha a rendelési kód megvan a másikban is, akkor térjen vissza mondjuk az árral.

 

Előzmény: bringas1 (19860)
bringas1 Creative Commons License 2013.01.08 0 0 19860

Sziasztok!

 

Előre is elnézést kérek ha nem jó kifejezéseket használok.

Két árlistát kellene összehasonlítani.

Mindkét listában adott a termék rendelési kódja.

Eltérés az lehet, hogy a két lista nem teljesen egyezik meg.

A két listát egymás mellé teszem és mondjuk az "A" oszlop adatait kellene hasonlítani az "E" oszlop adataihoz.

Köszönöm segítségeteket.

Delila10 Creative Commons License 2013.01.08 0 0 19859

2003-as és 2007-es verzióban működik, csak a 2010-eshez kell segítség.

Előzmény: Redlac (19858)
Redlac Creative Commons License 2013.01.08 0 0 19858

Sziasztok!

 

Tegnap feltettem a kérdést, hogy olyan mentést szeretnék, aminél az előzőleg meghatározott cellákban lévő szöveget teszi névnek, de nem menti el a meghatározott helyre, csak feldobja a "mentés másként" párbeszédpanelt.

Nos, több segítséggel elkészült...

 

Sub macro()
    Dim fldlg As FileDialog

    Set fldlg = Application.FileDialog(msoFileDialogSaveAs)

    With fldlg

        .Title = "Mentés másként"

        .InitialFileName = Range("E39") & "_" & Range("D40")

        If Application.Version = "13.0" Then

            .FilterIndex = 0

        ElseIf Application.Version = "12.0" Then

            .FilterIndex = 4

        ElseIf Application.Version = "11.0" Then

            .FilterIndex = 1

        End If

    End With

    rv = fldlg.Show

    If rv Then

        ActiveWorkbook.SaveAs fldlg.SelectedItems(fldlg.FilterIndex)

    End If
End Sub

 

Az Ifek azért kellettek, mert nem azonos verziójú Excelről használjuk, de a mentés lehetőség szerint xls legyen. Illetve, közben rájöttem, hogy 2010-es esetében akár lehet xlsm is.

 

A fenti kód Delilának működik, nekem 2010-es verziójú Excelnél is csak xlsx-ként akarja menteni a fájlt. Próbálgattam a filterindexeket állítani más számra, de nem akarja...

Elvileg nem lenne olyan nagy gond a mentés panelon kiválasztani a megfelelő fájlt, de olyan felhasználók is vannak, akiknek ez már bonyolult lehet :-(

 

Van-e valakinek ötlete, hogy miért nem működthet?

pimre Creative Commons License 2013.01.08 0 0 19857

Nyilván kénytelenek voltak meghagyni, hiszen biztosítani kell a felülről kompatibilitást. Azaz, hogy a 2003-as verzióben készült állományok ne adjanak hibát a későbbi verziókban. 

Az egy más kérdés, hogy szükséges-e ilyen módon magyarítani. Szerencsére nem találkoztam még ezzel a problémával, mert konzervatív lévén (legalábbis a számítástechnikában) még mindig a 2003-as verziót használom.

Előzmény: Törölt nick (19855)
tbando Creative Commons License 2013.01.08 0 0 19856

No, akkor a biztonság kedvéért, estig felteszek neked ide egy elég pöpec megoldást. Két apró probléma van vele még jelenleg. 1.  Most még nem elég biztonságos :))). Hol müködik, hol kiakad. Na ezen dolgozom jelenleg. Remélem sikerül megoldanom. De ha nem, akkor majd kérjük Delila segítségét :))).   2. Bár elég pöpec, de kétségtelen, hogy lehetne pöpecebb is. Ehhez azonban az én tudásom biztosan kevés. De talán itt valaki besegít majd, ha nem felelne meg neked.    

Előzmény: Redlac (19849)
Delila10 Creative Commons License 2013.01.08 0 0 19854

Az "elvetés" Redlac-nak szólt, bocsi. 

Előzmény: Delila10 (19853)
Delila10 Creative Commons License 2013.01.08 0 0 19853

Ehhez egy userformot kell beépítened, amibe beviszed a lehetséges mentési útvonalakat. Ezt javasoltam korábban, csak nem userformmal, hanem érvényesítéssel, de elvetetted. :)

Előzmény: Retro Image (19833)
Retro Image Creative Commons License 2013.01.08 0 0 19852

Jajjj. Ezt nem vettem észre.

 

Előzmény: tbando (19848)
Sánta Kutya (SK) Creative Commons License 2013.01.08 0 0 19851

Akkor most kérlek, olvasd el a topikcím alatti útmutatót. A "Nem csinálta" nem támpont.

Előzmény: GL-SW (19846)
Retro Image Creative Commons License 2013.01.08 0 0 19850

Így próbáltad már?

=KEREK.FEL(A1/A2;0)

 

Ha ez sem jó, van még pár ötletem! :o)

Előzmény: GL-SW (19843)
Redlac Creative Commons License 2013.01.08 0 0 19849

Na, ilyenkor nem értek semmit...

este működött, most meg nekem se. Áááá

Előzmény: tbando (19838)
tbando Creative Commons License 2013.01.07 0 0 19848

Bocs hogy közbe szólok, de én nem azt írtam, hogy hibás a képlet, hanem hogy hibás a (magyar) súgó. Mert azt hitte, hogy ha a normál kerekités az kerekítés, akkor a felkerekítés az kerekítés.fel. Pedig nem :))). Hanem kerek.fel, ahogy sk írta.  És emiatt a =kerek.fel(9999/117;0) az bizony 86, úgy ahogy szeretnéd.

 

 

 

 

Előzmény: GL-SW (19846)
GL-SW Creative Commons License 2013.01.07 0 0 19847

bocs, lépek én is szundi. Talán holnap folytatjuk?

Előzmény: Sánta Kutya (SK) (19845)
GL-SW Creative Commons License 2013.01.07 0 0 19846

Igen, oké, nem a / jelet használtam. Az Excel súgóban lévő KEREK.FEL függvényt próbáltam, de nem csinálta.

tbandó írja a 19840-ben, hibás a képlet

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

Bocs, már álmos vagyok, figyelmetlen voltam, de akkor sem értelek. Ha felfelé akarod kerekíteni, akkor használd a kerek.fel függvényt, amit már többször megírtunk.

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

Az osztásjel az Excelben a /

Ha felfelé akarod kerekíteni, akkor miért írod, hogy a 85,4615384615 helyett 85 legyen?

Ne haragudj, de zavaros, amit mondasz.

Előzmény: GL-SW (19843)
GL-SW Creative Commons License 2013.01.07 0 0 19843

A példaként írt műveletben a 9999-t el akarom osztani 117-el. Ezért írtam az osztás ( : ) jelet.

 

A következő sorban viszont hibáztam:  9999 : 117 = 86  elnézést az elírásért!

 

Felfelé akarom a kerekítést ( az általános kerekítési szabálytól függetlenül!)

 

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

Ebben az esetben a szorzásjelet értelemszerűen osztásjellel kell helyettesíteni, a kerek.fel függvényt pedig KEREK.LE-vel, hiszen lefelé akarsz kerekíteni.

Előzmény: GL-SW (19841)
GL-SW Creative Commons License 2013.01.07 0 0 19841

Ne haragudj (haragudjatok) nem vagyok toppon az Excel belső szisztematikus felépítében. Abszolút felhasználó vagyok, akinek megmutatták annó ezt a formátumot (lehet ezt sem szakszerűen írom le, elnézést)

Azt szeretném elérni:

A1cella A2cella A3cella

       9999    : 117 =85,4615384615  Ne ez legyen az eredmény, hanem

 

 9999    : 117 =85

 

Nem tudom mennyire sikerült leírnom kérdésemet?

Ha megtennétek, leírnátok mit írjak az A3cellába? Itt megint nem tudom a megfelelő kifeljzést, talán így jó lesz: hogy néz ki a függvény, amit az A3cellába kell írni?

Előzmény: Sánta Kutya (SK) (19839)
tbando Creative Commons License 2013.01.07 0 0 19840

Benne van a súgóban....

 

Basszuskulcs, csak rosszul. Én kérek elnézést.

Előzmény: tbando (19835)
Sánta Kutya (SK) Creative Commons License 2013.01.07 0 0 19839

Tehát a konkrét esetben =kerek.fel($A1*$A2;2)

Azonban  a $ jel nem a képlet immanens része, csak akkor kell, ha jobbra folytatni akarod a soroatot az egér húzásával.

Előzmény: GL-SW (19836)
tbando Creative Commons License 2013.01.07 0 0 19838

Ez hogy működik? Mert nálam sehogy.

Előzmény: Redlac (19834)
Sánta Kutya (SK) Creative Commons License 2013.01.07 0 0 19837

Mindent zárójelbe kell foglalni, ahogy tbando írta is. Általában minden függvénynek minden argumanetumát a zárójelbe kell írni és pontosvesszővel elválasztani. (Másképp nehéz is lenne egyértelmű képletet alkotni.)

Előzmény: GL-SW (19836)
GL-SW Creative Commons License 2013.01.07 0 0 19836

Igen, néztem a súgót, de ezzel az a gondom, hogy az konkrét számra vonatkozik. Esetemben pedig az eredményt kell kerekíteni. Tehát nem elvégzem a műveletet és utánna kerekíttetek, hanem már a művelet eredményét írja kerekítve. A $ és a ; jel biztos szerepelt a képletben, a műveletbe bevont cellákat meg ha jól emlékszem zárójelbe kellett foglalni.

Előzmény: tbando (19835)
tbando Creative Commons License 2013.01.07 0 0 19835

Benne van a súgóban

 

KEREKÍTÉS.FEL(szám;hány_számjegy)

Előzmény: GL-SW (19832)
Redlac Creative Commons License 2013.01.07 0 0 19834

Elnézést, de feldobtam máshová is a kérdést...

 

Sub Macro1()
SendKeys Range("E39") & " " & Range("D40") & ".xlsm"

fnev = Application.GetSaveAs

FilenameActiveWorkbook.SaveAs fnev

End Sub

 

:-)

Előzmény: Redlac (19831)
Retro Image Creative Commons License 2013.01.07 0 0 19833

Próbáld ezt beépíteni:

 

With Application.FileDialog(msoFileDialogFolderPicker)
   .AllowMultiSelect = False
   .Show
   MsgBox .SelectedItems(1)
End With

 

:o)

Előzmény: Delila10 (19829)
GL-SW Creative Commons License 2013.01.07 0 0 19832

Nagyon régen ( talán több mnt 10 éve!) használtam egy formátumot, elfelejtettem és most szükségem lenne rá.

Több cellában lévő számokkal történő műveletek végén (összeadás, szorzás, osztás) az összeg kiszámítása flefelé kerekített értékkel jelent meg. Ha jól emlékszem így nézhetett ki a formátum: pl:   =kerek.fel($A1*$A2);2

A végén a 2  az két tizedesre kerekítést adott, ha itt 0 volt, akkor egész szám volt az eredmény. A zárójelben több cella is lehetett

Az írt formátum nem jó, valszleg nem jól emlékezem, de valami ilyesmi volt. Ha nem jól írtam le gondom, elnézést. Már több kombinációt kipróbáltam, sajnos nem akar eszembejutni.

Köszönök minden segítséget!

Redlac Creative Commons License 2013.01.07 0 0 19831

Találtam egy ilyet:

 

Sub Macro1()

Dim strFolder, name, xls As String

strFolder = ThisWorkbook.Path
name = ActiveSheet.Cells(1, 1).Value 'ez a cella
ActiveWorkbook.SaveAs Filename:=strFolder & "" & name & ".xls", FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False

End Sub

 

Ez kérdezés nélkül ugyanoda menti, ahol az eredeti fájl van...ezzel nem vagyunk esetleg előrébb?

Előzmény: Redlac (19830)
Redlac Creative Commons License 2013.01.07 0 0 19830

Igen, pontosan ezt szeretném :-)

Előzmény: Delila10 (19829)
Delila10 Creative Commons License 2013.01.07 0 0 19829

Azt szeretnéd, hogy mentéskor kapj egy tallózót, ahol választhatsz magadnak mappát, a mentési név meg már ott csücsüljön?

Na ez az (többek között), amit nem tudok megoldani. De hátha valaki...

Előzmény: Redlac (19828)
Redlac Creative Commons License 2013.01.07 0 0 19828

DD!

 

Drága Delila :-)!

 

Útvonalra nincs szükség, mert nem lehet meghatározni, hogy ki hová menti. Én speciel a pendrive-omra, de ott sem egy helyre, mert a táblázat egyéb tartalmától függ, hogy melyik mappába kerül.

 

Csak a fájlnév megoldható?

Előzmény: Delila10 (19827)
Delila10 Creative Commons License 2013.01.07 0 0 19827

Ez a makró feltételezi, hogy a C oszlopba beírtad a felhasználók neveit, mellé a D-be mindenki mentési útvonalát, ügyelve a \ jelekre, pl. D:\Józsi\2013\. Mindenki a saját nevén lép be, ennek alapján a felhasználói nevet vettem figyelembe az útvonal megadásánál. Egyszerűbb lenne, amit már előbb is írtam, hogy a lehetséges útvonalakat adod meg egy érvényesítésben, de ha tényleg saját névvel lépnek be, így is jó lesz.

 

A1 -> Dátum, B1 -> Fájlnév

 

Sub Auto_Close()
    Dim nev$, utvonal$, WSN
    Set WSN = CreateObject("WScript.Network")

    utvonal$ = Application.WorksheetFunction.VLookup(WSN.UserName, Range("C:D"), 2, 0)
    nev$ = Format(Sheets("Munka1").Range("A1"), "yyyy.mm.dd") _
        & " " & Range("B1") & ".xls"
    ActiveWorkbook.SaveAs Filename:=utvonal & nev$
End Sub

Előzmény: Redlac (19825)
Redlac Creative Commons License 2013.01.07 0 0 19826

Köszönöm, hogy dolgoztál vele, és próbálgattam is volna, de nincs a data-n...

Előzmény: tbando (19817)
Redlac Creative Commons License 2013.01.07 0 0 19825

Ez így működik, de...

 

1. Mivel fordítva kell (elől legyen a dátum és után a hely), ezért megfordítottam a makróban a két range-t, de a a dárum formátum előtti vessző miatt hibát jelzett. Ha kivettem a veszőt, úgy sem volt jó neki.

 

2. A mentés helye egyáltalán nem biztos, nem egységes (mindenki a saját helyére menti és onnan csak nyomtatja), ezért lenne jó, ha csak a párbeszédpanel jönne fel, hogy ugyanmár hova is szeretnéd menteni?

 

3. Próbáltam, hogy az útvonalra vonatkozó részeket leszedtem, de a bezáráskor szintén hibát jelzett

 

 

Előzmény: Delila10 (19820)
tbando Creative Commons License 2013.01.07 0 0 19824

Mivel teljesen egyetértek veled, nagyon sajnálom, hogy a problémázó hozzászólásaim krakékelesre sikeredtek. Ezentúl majd jobban vigyázok. 

Előzmény: pimre (19823)
pimre Creative Commons License 2013.01.07 0 0 19823

Kapásból válaszolok: Halvány fogalmam sincs, ugyanis megmaradtam az excel 2003-nál, továbbá eddig nem akadt olyan feladatom (amúgy sem sokat programozok), ahol szögfüggvényekkel lett volna teendőm.

 

Egyébként nem az excelt védtem, nekem is van egy-két dolog, ami nem tetszik, sőt olyan eset is volt, ahol hibát véltem felfedezni. Csak abban szeretek óvatosnak lenni, és mást is erre buzdítani, hogy ne vágjuk rá valamire könnyelműen, átgondolás nélkül, hogy hibás, következetlen, hülyeség, stb. Ilyenkor ajánlatos megfogni egy gombunkat és 10-ig számolni, mielőtt leírjuk:-)))

Előzmény: tbando (19816)
Delila10 Creative Commons License 2013.01.07 0 0 19822

Még azt teheted meg, hogy az utvonal$ ne állandó legyen, hanem egy harmadik cellában érvényesítés segítségével válassza ki a felhasználó. Az előző makró beírásánál úgyis megfeledkeztem a jólneveltségről, a \ jeleket nem duplán írtam be, a fórummotor pedig felfalta őket.

Előzmény: Redlac (19815)
Delila10 Creative Commons License 2013.01.07 0 0 19821

Gyorsan nyomtam meg az "Elküldöm" gombot.

Mivel régebben írtad, hogy különböző gépeken különböző verziókat használtok, xls kiterjesztést írtam a mentéshez. Ezt fogadják makrókkal együtt a magasabb verziójú Excelek is.

Előzmény: Delila10 (19820)
Delila10 Creative Commons License 2013.01.07 0 0 19820

Sub Auto_Close()
    Dim nev$, utvonal$
    utvonal$ = "D:Temp"
    nev$ = Range("A2") & " " & _
        Format(Sheets("Munka1").Range("A1"), "yyyy.mm.dd") & ".xls"
    ActiveWorkbook.SaveAs Filename:=utvonal & nev$
End Sub

Előzmény: Redlac (19815)
tbando Creative Commons License 2013.01.07 0 0 19819

Még annyit, hogy a Beforesave eseménnyel is indítható a redlacmentés makró. Bár az is igaz, hogy a mentés befejezése után az excel kiakad (legalábbis nálam).  De ez talán nem olyan nagy baj, hiszen a mentéssel tulajdonképpen befejezted a munkát. Oszt ha mégse, hát elindítod újra excelt.

Előzmény: tbando (19818)
tbando Creative Commons License 2013.01.07 0 0 19818

Most kapcsoltam csak, hogy a javasolt megoldásom nem igazán jó neked, mert te a sablontárból akarod behívni az üres füzetet, amit aztán nyilván nem oda akarsz visszarakni.  Ez jó, mert leegyszerűsíti a dolgod, mivel a filenév bűvészkedésem feleslegessé vált. Egyszerűen beírod a filenevet a path-szal a sablon A1-be, amihez hozzáfűzöd a dátumot, a helységet, és a kiterjesztést, és mehet a makró.  

Előzmény: tbando (19817)
tbando Creative Commons License 2013.01.07 0 0 19817

Egy még sokat csiszolható, de már működő megoldás. Az a1.b1 dátumot és helységet átraktam b1.c1-re. Az a1-be került az aktuális filenév a =cella("filenév") függvénnyel. Ezt átmásoltam értékként a2-be, hogy a szövegkezelő függvények hozzáférjenek. Az a3.a4 ben meg addig bűvészkedtem vele, míg bővítésre alkalmas formába hoztam. Megjegyzem, csak a szűz filet, amit még nem mentettél ezzel a módszerrel. A már módosított filenevek manipulálását az a16.a18-ba írtam be.  Majd ehhez a formátumhoz fűztem a dátumot és a helységet, valamint a filekiterjesztést. Ha a dátum dátumformátumban van b1-ben, akkor célszerű átalakítani. Ez történt a b2.b5 cellákban. Majd az a6 cellában összefűztem a teljes filenevet. Ezek után már csak ezt az egyszerű makrót kellett megírnom és futtatni:

 

Sub redlacmentes()

Dim a$

a = Range("a6")

ActiveWorkbook.SaveAs Filename:=a

End Sub

 

És a file mentve van, csak sajnos  egy kis szépséghibával.

Nevezetesen, hogy a file valamiért csak xlsx formátumban engedi magát lementeni.  Hiába írtam be a lementendő filenévbe az xlsx helyett xlsm-t , makacskodott. De ha már le volt mentve xlsx formátumban, megismételve a mentést felajánlotta a makróbarát mentés lehetőségét,  amit aztán simán végrehajtott. Így aztán 2 pédányban lesz a lemezeden a file, egy makrómentes és egy makrós változatban. Reménykedjünk, hogy Delila javasol majd egy olyan beírási formát, amivel a makrós változat egyből menthető. Persze erre akkor nem lenne szűkség, ha a filet vezérlő makrókat bővítményben helyezed el. Vagy, ha makrókat tartalmazó füzetet eleve a sablontárból hívod be.

 

A cellamanipulálásokat feltettem a data.hu-ra. A letöltő linkje:

 

http://data.hu/get/6042895/redlacmentes1-2013.1.7-Vac.xlsm

 

 

Előzmény: Redlac (19815)
tbando Creative Commons License 2013.01.07 0 0 19816

No akkor felteszek neked egy kérdést, amire CSAK kapásból lehet válaszolni: Miért van az, hogy a 2007-es excel súgójában a Worksheetfunction object members cím alatt, ahol azt állítja, hogy felsorolja mindazokat a munkalapfüggvényeket amelyek a  VBA-ból hivhatók, nem szerepelnek olyan gyakori fuggvények mint pl. a sinus és cosinus, amik azonban ennek ellenére minden további nélkül hívhatók a VBA-ból?

 

De ne érts félre, ezek szóbahozásával nem az excelt akartam fikázni, hanem csak jelezni, hogy az ilyenek némileg megnehezítik a lelkivilágának a kiismerését.

 

 

Előzmény: pimre (19814)
Redlac Creative Commons License 2013.01.07 0 0 19815

Sziasztok!

 

Van egy Excel munkalapom, ami sablonként van mentve.

Ezt nyitjuk meg, és töltjük ki, majd mentjük el egy dátum és egy helyszín néven. A lap meghatározott cellái kitöltés után tartalmazzák a megfelelő dátumot (mondjuk A1) és a helyszínt (mondjuk B1). A mentés helye nem egységes.

 

Hogyan tudnám megcsinálni, hogy amikor a mentésre nyomok, akkor a felbukkanó "mentés másként" párbeszédpanelba már be legyen írva a dátum és a helyszín?

 

 

Köszi

 

pimre Creative Commons License 2013.01.06 0 0 19814

Azért hadd védjem meg SK-t (feltéve, hogy van rá szüksége:-))). Időnként nekem is karcosabb a stílusom. Különösen akkor, ha egy olyan véleményre, hogy az excel következetlen, kapásból tudnám a helyes választ, és nem könyvben kellene utánanéznem. De ez az utóbbi körülmény némi alázatra késztet.

Előzmény: tbando (19812)
Sánta Kutya (SK) Creative Commons License 2013.01.06 0 0 19813

Ööö most kérjek elnézést, amiért az iskolában odafigyeltem az órán, és a szünetben foglalkoztam a csajokkal?

Előzmény: tbando (19812)
tbando Creative Commons License 2013.01.06 0 0 19812

Elfogadom. Lásd SK-nak adott válaszomat. Hozzátéve, hogy nekem a Sárközi könyv sincs meg. Így csak a magam esze szerint próbálok boldogulni a feladatokkal. Ami gyakran nem elég. És akkor idejövők. Aztán van aki válaszol, van aki meg kioktat :))).  Ezek sosem ugyanazok.

Előzmény: pimre (19810)
tbando Creative Commons License 2013.01.06 0 0 19811

Ezért vagyok itt. Inkább kérdező, mint válaszolói minőségben. Mivel nekem mikor iskolás voltam  a csajok sokkal fontosabbak voltak mint  az egészrész fgv fogalma :)))

Előzmény: Sánta Kutya (SK) (19809)
pimre Creative Commons License 2013.01.06 0 0 19810

Már kis híján igazat adtam neked, de eszembe jutott, hogy kissé régen tanultam matematikát, így elővettem a számelmélet zsebkönyvemet (Dr. Sárközy András, 1976). És ez felfrissítette a régi emlékeimet a következőképp.

 

Legyen x tetszőleges valós szám. Ekkor létezik egy olyan egyértelműen meghatározott k természetes szám, amelyre teljesül, hogy

k <= x < k+1. Ezt a k számot x egész részének nevezzük…

 

Majd kicsit később egy példán is levezeti ezt:

 

Számítsuk ki -10/3 egész részét és tört részét! A megoldás: -10/3=-12/3+2/3=-4+2/3

 

Tehát nem az Excel szerzői, hanem a matematika elmélete szerint tekintjük a szám egész részének negatív számok esetén is a következő nála kisebb számot, tehát -1,1 esetén a -2-t.

 

A második kérdésedre: Nem tudtam, hogy az integer változó hogyan kerekíti a tört számokat, tekintve, hogy az eddigiekben (sikerrel) igyekeztem elkerülni, hogy a programomban olyan számot deklaráljak integer típusúnak, amely felvehet tört (tehát nem integer) értéket:-)))

 

Előzmény: tbando (19807)
Sánta Kutya (SK) Creative Commons License 2013.01.06 0 0 19809

A te logikád a te magánügyed. :-) Az egészrészfüggvény a matematikában egy jól definiált fogalom, és az iskolában is így tanítják. Ha még emlékszel a lépcsőre.

Előzmény: tbando (19807)
pimre Creative Commons License 2013.01.06 0 0 19808

Nekem 2003 alatt működik. Meg a Microsoft szerint is: http://office.microsoft.com/hu-hu/excel-help/csonk-HP005209324.aspx

Előzmény: pigee (19804)
tbando Creative Commons License 2013.01.06 0 0 19807

Attól az még következetlenség, hogy van értelme. Az én logikám szerint az lenne következetes, ha az Int működne úgy mint a Csonk, és a Csonk lehetne inkább a meglevő egész.  De az int használat következetlenségére van durvább példa is. Azt tudtad-e például hogy a vba integer változó kerekít? Tehát mondjuk az a%=3,51 az nála 4, és az a%=-3,49 az meg -3.  Ki kell ezeket tapasztalni. 

Előzmény: pimre (19802)
pigee Creative Commons License 2013.01.06 0 0 19806

Akkor a linken levo tartalomnal a 2010-es excel eladasa a lenyeg, nem a korrekt tajekoztatas. Koszonom, akkor holnap kiprobalom. ;)

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

Ne viccelj már, itt ülök a 2000-es előtt, és úgy benne van a csonkfv., mint a sicc.

Előzmény: pigee (19804)
pigee Creative Commons License 2013.01.06 0 0 19804

Most latom a linken, hogy ez csak 2010-es excelben van benne, akkor megse jo. :-(

Előzmény: pimre (19802)
pigee Creative Commons License 2013.01.06 0 0 19803

Koszonom.

Igen, rajottem, hogy az int lefele kerekit, ezert probaltam korrigalni, de nem mukodott, de remelem, a mutet (csonkolas) segit. ;)

Előzmény: pimre (19802)
pimre Creative Commons License 2013.01.06 0 0 19802

Ez nem következetlenség. Az INT függvény lefelé(!) kerekít a legközelebbi egész számra. Tehát -1.1 esetén -2-re.

Amire neked szükséged van, az a CSONK függvény (angolul: TRUNC), ami levágja a szám törtrészét: http://office.microsoft.com/hu-hu/excel-help/csonk-fuggveny-HP010342970.aspx

 

Előzmény: pigee (19800)
pigee Creative Commons License 2013.01.06 0 0 19801

El se tudod kepzelni, milyen boldogan elvoltam novemberig egy xp-vel es az off2k-val...

Előzmény: Redlac (19776)
pigee Creative Commons License 2013.01.06 0 0 19800

Nalam is valami kovetkezetlenseg van.

Tizedes tortet kell fok-perc formatumra atalakitani, legegyszerubb a tizedes reszt hattal megszorozni, de nem ertem, hogy negativ szamnal miert hibazik az int fuggveny? Hogyan korrigalhatom? Csak ennyi az egesz, de negativ szamnal hibazik:

=INT(H11)+0,6*(H11-INT(H11))

tbando Creative Commons License 2013.01.06 0 0 19799

Az excel számos meglepő következetlenséget produkál. Mint pl. a tegnap felrakott solver sajátság, hogy az excel a saját fejlesztésű függvényével nem müködik, de a feltehetőleg alapjául szolgáló kombinatorikaival igen. Vagy hogy a te kereteződben a nem létező belső cellashatárokra történő  utaláson átlép, míg az én nem létező munkalapoméra tőrténőn nem. Meg egyáltalán, az on error goto 0 milyen logika alapján ugorhatta át a hibás utasítást a kereteződ korai változatában, amikor elvben (ha már egyszer kezelni akarja) végtelen hurokba illett volna kerülnie. Legalábbis az én logikám szerint. Ami úgy látszik nem egyezik az excelével.  Jó lenne ezekről is beszélgetni. 

 

Előzmény: Delila10 (19798)
Delila10 Creative Commons License 2013.01.06 0 0 19798

Az emlegetett keretező makrót pár éve írtam. Akkor a hibakezelés nélkül 1 cella kijelölésekor hibára futott. Most, hogy itt felszínre került, kipróbáltam on error resume next-tel, jól működött. Csodák csodájára hibakezelés nélkül sem hőzöng.

 

A makró megírása után volt néhány újratelepítésem, frissítésem. Valószínűleg erre vezethető vissza a kétféle eredmény.

Előzmény: tbando (19784)
tbando Creative Commons License 2013.01.06 0 0 19797

Kinomban lecseréltem a Kombinációk száma cellában levő excel kombi fgv-t (=Kombinaciók(a10;2)) a nomál kombinatorikai formulára, hogy asszongya

=a10*(a10-1)/2, amivel aztán már semmi baja nem volt a solvernek, rögvest meghatározva a helyes célértéket. Tehát a solver alatt nem működik az excel Kombinációk függvénye.  Tudja valaki, hogy miért ?

Előzmény: tbando (19796)
tbando Creative Commons License 2013.01.05 0 0 19796

Sehogy sem bírom rávenni a solvert, hogy kiszámolja annak a halmaznak a számosságát, amelyből az elemek lehetséges páros kombinációinak a száma a legközelebb van a 309-hez. Ez a szám egyébként a 25 (mert a kombi(25;2)=300, míg a kombi(26;2)=325).  A solver azonban ezt cseszik kiszámolni, közli hogy megvan a megoldás, szerinte minden feltétel teljesült, de csak az induló értékeket adja vissza. Valami banális  beállítási hiba lehet az oka. De mi?

 

A beállításaim:

 

Célcella: abs(309-Kombinációk száma) minimuma

Módosuló cella: a halmaz számossága

Korlátozó feltétel1: A módosuló cella egész érték

Korlátozó feltétel2: A módosuló cella nullánál nagyobb

 

Ha valakinek sikerülne eredményesen lefuttatni a példát, megköszönném ha elküldené priviben, hogy tanulmányozhassam. 

 

Delila10 Creative Commons License 2013.01.05 0 0 19795

Nem olvasod kellő figyelemmel a fórumot!

Előzmény: Redlac (19786)
tbando Creative Commons License 2013.01.05 0 0 19794

Tárgytalan. Megtaláltam. A háttérben levő Personal füzetben :))).  Az zavart meg, hogy a VBA címsávban nem Personal-füzetre hivatkozott, hanem a munkafüzetre. Logikus :(((

Előzmény: tbando (19793)
tbando Creative Commons License 2013.01.05 0 0 19793

Csinálok egy makrót excel 2003-ban. Félbehagytam. Számítógép kikapcs. Most nekiállok folytatni. Fűzet behíva, alt+F11, a makró ott a makrólapon. Fönt a lap tetején címsávban hogy az x füzet module1 makrólap van nyitva. De a projektablakban nincs module1 feltüntetve. Csak a munkalapok classmoduljai meg persze a füzeté. Eszembe jut, hogy a makroírás kezdetén nem nyitottam új modullapot. No most akkor hol lehet ez a makró? Végigkattogtatom a munkalapmodulokat, makro sehol, és most már nem is tudom a makrót elővarázsolni a VBA-ból. Csak a füzet bezárásával, majd újra megnyitásával és alt+F11-gyel.  

 

Az lenne a kérdésem, hogy hol lehet a makrólap, miért nem mutatja a projektablak, és hogy lehetne a VBA-ból is megnyitni? 

Redlac Creative Commons License 2013.01.05 0 0 19792

Az automaikus visszaállást végül nem tettem bele, mert a fájl nyitott helyzetében ugyebár rámentettem a fájlra, majd bezártam volna.

Ebben a pillanatban átállította a számolást, a fájl változott, így rákérdezett, hogy menti a változásokat.

 

Szerintem ez az egyszerű felhasználót bekavarná, hogy az előbb mentette, és az ő ismeretei szerint nem történt változás, akkor miért is akarja menteni újra...vagy micsoda...

 

 

Előzmény: Delila10 (19779)
Redlac Creative Commons License 2013.01.05 0 0 19791

Ne vegyétek el a kedvem...

 

délután óta a fellegekben járok :-)

Előzmény: tbando (19790)
tbando Creative Commons License 2013.01.04 0 0 19790

:)))

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

Vagy félre. :-P

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

Nem lehet, hogy csak általánosságban beszélt? :P

Előzmény: Redlac (19787)
Redlac Creative Commons License 2013.01.04 0 0 19787

Rád nagyon oda fogok figyelni...

 

fejlesztőnek neveztél :-)

Előzmény: Sánta Kutya (SK) (19781)
Redlac Creative Commons License 2013.01.04 0 0 19786

Már megint...a fórumot át kellene nevezni Delila Excel fóruma-nak :-)

 

Köszi

Előzmény: Delila10 (19779)
tbando Creative Commons License 2013.01.04 0 0 19785

 Betöltéskor valszeg default automatikus.

 

Most több gépen ellenőrízve pontosítok: Vannak excelek, amelyeknél betöltéskor valszeg default automatikus. És vannak amelyeknél, nem. C'est la excel :))).

Előzmény: tbando (19778)
tbando Creative Commons License 2013.01.04 0 0 19784

Hoppá! Annak idején ezt a tesztet, nem teszteltem. Csak most a kérdésedre.  És lőn: a kérdéses makróban az onerror goto 0 kikapcsolva is hiba nélkül lefut :))).

 

És most, hogy újra a hibakezelésen problémázunk, nem mondaná meg nekem valaki, hogy az "Onerror goto label vagy line number"-ből a line numbert hogy kell értelmezni, mit csinál, hogy kell úgy beírni, hogy az excel ne akadjon ki rajta?

 

Előzmény: pimre (19782)
tbando Creative Commons License 2013.01.04 0 0 19783

Még egy adalék a 2003-as védelmében: Nekem úgy tűnik, hogy a VBA-Helpje is áttekinthetőbb. A 2007-esével elég sok bajom van. Pl. nem mindent talál meg bárhonnan. 

Előzmény: Sánta Kutya (SK) (19781)
pimre Creative Commons License 2013.01.04 0 0 19782

Nálam (excel 2003) nem ad hibát egy cella kijelölésekor sem a .Borders(xlInsideVertical).Weight = xlHairline, sem a .Borders(xlInsideHorizontal).Weight = xlHairline parancs. Pedig a megjegyzés szerint erre azért van szükség, mert egyetlen cellánál a belső szegélyek megadásánál hibára futna.

 

Kipróbáltad, hogy az on error goto 0 parancs törlésekor jelentkezik-e hiba nálad?

Előzmény: tbando (19771)
Sánta Kutya (SK) Creative Commons License 2013.01.04 0 0 19781

És én sem. Miért kell egy működő dolgot elfelejteni? Mert van helyette egy nehezebben használható? Ha figyeltél, írtunk itt olyan dolgokról, amiket 2003-asban meg lehet csinálni, az újabbakban meg nem, vagy csak rettentő nyakatekerten és sokkal több szakértelemmel.

 

Plusz fejlesztőként sem engedheted meg azt a luxust, hogy elfelejts egy sokak által használt szoftvert.

Előzmény: Redlac (19776)
Delila10 Creative Commons License 2013.01.04 0 0 19780

Köszönöm a bizalmat! :)

Előzmény: tbando (19778)
Delila10 Creative Commons License 2013.01.04 0 0 19779

Az auto_open, vagy workbook_open-be tedd be a kézi vezérlésű számolást

    Application.Calculation = xlManual

 

close-ba pedig az automatikusra visszaállást

    Application.Calculation = xlAutomatic

 

Előzmény: Redlac (19777)
tbando Creative Commons License 2013.01.04 0 0 19778

Excel ügyben érdemes Delilára hallgatni :))).

 

Az automata számolások ügyében meg az a gyanum, hogy jelszó csak a partnerek ellen véd, az excel önfejűsége ellen már kevésbé.  Betöltéskor valszeg default automatikus.

Előzmény: Redlac (19776)
Redlac Creative Commons License 2013.01.04 0 0 19777

Miért van az, hogy egy sokunk által használt táblázatban beállítom, hogy ne számoljon automatikusan, aztán egyszercsak azt veszem észrem, hogy már megint automatikusan számol.

 

Jelszóval van védve, így más nem tudja átállítani, mégis visszaáll az automatkusra.

Redlac Creative Commons License 2013.01.04 0 0 19776

Köszi, ezt majd kipróbálom.

Bár az a véleményem, hogy a 2003-as Office-t így 10 évvel később már el kellene felejteni...

 

Tudom Delila nem ezen a véleményen van :-)

Előzmény: tbando (19775)
tbando Creative Commons License 2013.01.03 0 0 19775

A mezitlábas megoldás: =Ha(hibas(képlet);"nincs adat";keplet)

|gy csinaltam, amíg nem hallottam a HAHIBA-ról. Ami annyira megtetszett, hogy a 2003-as excelemre csináltam egy HAHIB fgv-t. Itt a kódja:  

 

 

Function hahib(formula As Variant, show As String)

'Lekezeli a hibát

On Error GoTo hiba

    If IsError(formula) Then

        hahib = show

    Else

         hahib = formula

    End If

    Exit Function

hiba:

    Resume 0

End Function

 

A használata megegyezik a HAHIBA-éval.

 

Egyébként ahogy nézem, pont erről a szituról értekeztünk az előző posztokban.

Előzmény: Redlac (19772)
Redlac Creative Commons License 2013.01.03 0 0 19774

Kedves Redlac!

 

 

Köszönöm a segítséged, tökéletesen működik :-)

Előzmény: Redlac (19773)
Redlac Creative Commons License 2013.01.03 0 0 19773

Kedves Redlac!

 

próbáld az alábbi képletet:

 

=HA(HIBÁS(INDEX(beo!$A$3:$A$52;HOL.VAN(K19;INDIREKT($Y$10);0);1));"Nincs beosztott személy";INDEX(beo!$A$3:$A$52;HOL.VAN(K19;INDIREKT($Y$10);0);1))

Előzmény: Redlac (19772)
Redlac Creative Commons License 2013.01.03 0 0 19772

 

Sziasztok!

 

A fenti képletem van, ami 2010-es Office alatt íródott. De 2003 alatt #NÉV? hibát ad.

 

Az világos, hogy a hahiba-t nem érti a 2003, de helyette lenne valami?

tbando Creative Commons License 2013.01.03 0 0 19771

A súgó valóban a bekapcsolt hibakezelő kikapcsolását írja erről a parancsról. De Delila 18930-as makrójában csak a goto 0-s változat szerepel és prímán működik. 

Előzmény: pimre (19770)
pimre Creative Commons License 2013.01.03 0 0 19770

Én úgy tudom, hogy az "on error goto 0" kikapcsolja a korábban bekapcsolt "on error resume next", vagy az "on error goto cimke" hatását, azaz visszakapcsolja a normál hibakezelési módot.

Előzmény: tbando (19769)
tbando Creative Commons License 2013.01.03 0 0 19769

Kösz. Így működik. Ráadásul egyszerübb, mint amit én eszeltem ki: On error goto 1..........exit sub, 1: resume next. Ami érdekes módon bármilyen számot választva cimkének müködött, kivéve a 0-val. Érdekes. Mint ahogy az is, hogy a számokat is csak cimkeként fogadta el, noha elvben line number-ként is illett volna :))).  

 

És persze én is BUÉK-olok mindenkinek! 

 

 

Előzmény: Retro Image (19768)
Retro Image Creative Commons License 2013.01.03 0 0 19768

Szerintem On Error GoTo 0 helyett On Error Resume Next működne. De ezekkel a hibaátugrálásokkal óvatosan kell bánni, mert érdekes működéseket eredményezhetnek. Tisztább dolog lenne rendesen lekezelni a hibát.

 

Amúgy BÚÉK mindenkinek! :o)

Előzmény: tbando (19767)
tbando Creative Commons License 2013.01.02 0 0 19767

A munkafüzetben csak egy munkalap van. Az On Error Goto 0 miért nem kezeli le a hibát az alábbi teszt-makróban? Amikor Delila 18930 sz. posztjában ismertetett makró minden további nélkül átugorja.

 

Sub menj()

On Error GoTo 0

Worksheets(2).Activate

Worksheets(1).Activate

Range("a1") = 1

Range("a2") = 1

Range("a3") = 1

Range("a4") = 1

End sub

 

 

Delila10 Creative Commons License 2012.12.30 0 0 19766

Ki kell bővítened Robbantomester sorát.

 

ActiveSheet.Protect Password:="JELSZÓ", DrawingObjects:=False, UserInterfaceOnly:=True

Előzmény: Redlac (19763)
Törölt nick Creative Commons License 2012.12.30 0 0 19765

ja, az elejére írd. a végén meg visszakapcsolhatod.

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

Itt tanultam:

ActiveSheet.Protect UserInterfaceOnly:=True, csak makróból engedi a védett cellák módosítását.

 

 

Előzmény: Redlac (19763)
Redlac Creative Commons License 2012.12.30 0 0 19763

Sziasztok!

 

Van egy makróm, ami futása előtt leveszi a lapvédelmet, majd a futása végén visszateszi.

A gondom, hogy az Excel-be be van szúrva egy Word objektum, aminek szerkesztését nem engedi, ha automatikusan teszi vissza a védelmet (manuálisan kapcsolva a védelmet, ki lehet pipálni).

 

Mit kellene a makró végére írni, hogy a lapvédelem esetén az objektumok szerkesztését engedélyezze?

Sánta Kutya (SK) Creative Commons License 2012.12.28 0 0 19762

Ezt inkább privátban beszéljétek meg. Szerintem.

Előzmény: tbando (19761)
tbando Creative Commons License 2012.12.28 0 0 19761

"Amúgy, ha mindkét megoldásra tud valaki megoldást akkor /persze priviben megbeszélve/ hajlandó lennék fizetni is érte..."

 

 

Na és mennyit ér meg neked egy komplett megoldás? Autofilterrel, makró nélkül, gyakorlatilag korlátlan kiterjeszthetőséggel?

Előzmény: artv (19590)
tbando Creative Commons License 2012.12.28 0 0 19760

A netről tölts le egy XY chart labeler-t. Én évekkel ezelött letöltöttem egyet. Baromi egyszerű a használata. Bővítményképpen beépül az exceled alá. Így ha bővítménykezelőben megjelölöd máris használható. Bár ha jól emlékszem nem rámutatásra, hanem azonnal kírja a pontok mellé az x-hez tartozó cimkét.

Előzmény: peterliepa (19751)
_Nyuszi Creative Commons License 2012.12.27 0 0 19758

Közben elolvastam ám újra a kérdést, és már értem, hogy miért nem jó, amit írtam.

Hiába no, éhesen nem lehet excelezni... :)

Előzmény: _Nyuszi (19756)
_Nyuszi Creative Commons License 2012.12.27 0 0 19757

Olyat biztosan tudok, hogy a jelmagyarázatban, a diagram mellett ne azt írja, hogy "adatsor1", hanem "alma" stb. Amit te kérsz, azt nem tudom, hogyan lehetne megvalósítani.

Előzmény: peterliepa (19751)
_Nyuszi Creative Commons License 2012.12.27 0 0 19756

De ha az egész oszlop tartalmát szeretnéd törölni, akkor katt felül az oszlopazonosítóra (B betű, a szürke mezőben), ekkor az oszlop kijelölődik, és DEL gomb. Sorbarendezés nélkül.

Ez nem jó?

Előzmény: Törölt nick (19755)
Sánta Kutya (SK) Creative Commons License 2012.12.27 0 0 19753

Most akkor üres vagy nem üres? Ha üres, mit törölsz rajtuk? Nekem ez zavaros. De ha a B oszlop szerint rendezed, akkor annak kell kijönni, amit mondasz, akárhogy is akarod törölni a semmit.

Előzmény: Törölt nick (19752)
peterliepa Creative Commons License 2012.12.27 0 0 19751

No még egy kérdés, aztán befejezem. :-)

 

Most, hogy ezt így megcsináltam, meg lehet-e azt oldani, hogy a grafikonban az adatcímkék (data label az angol verzióban) egy másik oszlop tartalmát mutassák? Tehát ha rákattintok egy pontra a grafikonban, akkor hogy ne azt írja ki, hogy 1 vagy 2, hanem hogy alma vagy körte.

Előzmény: _Nyuszi (19749)
peterliepa Creative Commons License 2012.12.27 0 0 19750

Tehát ha jól értem, csak számként formázott mezőket lehet így grafikonba rendezni.

 

Nagyon köszönöm, meg is csináltam!

Előzmény: _Nyuszi (19749)
_Nyuszi Creative Commons License 2012.12.27 0 0 19749

Vegyél fel egy plusz oszlopot, és pl. nézzen ki így a dolog:

Gyümölcsnevek | Gyümölcsazonosítók | Átmérő [cm]

 

Arra figyelj, hogy az azonosító pl. alma esetén 1, körte esetén 2, naspolya esetén 3 legyen. Ezt akár lehet FKERES-sel egy külön segédtáblázatból is kikeresni (ha óriási a táblázat). Nagy táblázat esetén HA, kis táblázat esetén pedig kézzel célszerű beírni sztem.

 

Ezek után válaszd a Pont (XY) típusú diagramot (XL2003-ban, de sztem egyéb verziókban is hasonlóan hívhatják), és ezesetben három "oszlopot" fogsz kapni.

Előzmény: peterliepa (19748)
peterliepa Creative Commons License 2012.12.27 0 0 19748

Sziasztok!

 

Az alábbiban szeretnék segítséget kérni: adott egy adatsor, legyen mondjuk Gyümölcsök és Átmérők táblázata. Van benne mondjuk 5-féle átmérőjű alma, 3-féle körte, 6-féle naspolya. Szeretnék egy táblázatot készíteni ezekből az adatokból. Odáig rendben, hogy az Y-tengelyre kiteszi az átmérőket, az X-tengelyen pedig felsorol minden egyes gyümölcsöt. Viszont én azt szeretném, hogy az egyes gyümölcsfajták átmérőjét egy közös X-tengelybeli ponton ábrázolja, tehát ne 5 alma, 3 körte és 6 naspolya pont legyen az X-en, hanem mindből csak egy, és az átmérőadatok ezen az egy-egy tengelyen helyezkedjenek el. Hogyan tudom ezt megoldani?

 

Köszönöm!

mimi_bacsi Creative Commons License 2012.12.26 0 0 19747

Kellemes Ünnepeket és Boldog Új Évet Kívánok Minden Fórumtársnak!

tbando Creative Commons License 2012.12.26 0 0 19746

Ja. Azt mondtam. Hülyeséget :))). Előfordul.

Előzmény: _Nyuszi (19745)
_Nyuszi Creative Commons License 2012.12.25 0 0 19745

Tehát azt mondod, hogy ha a cella tartalma láthatatlan szóközt tartalmaz, akkor az autoszűrő átlépi, viszont a ctrl+F teljes egyezést talál? :o

Előzmény: tbando (19744)
tbando Creative Commons License 2012.12.25 0 0 19744

A ctrl+F/autószűrő anomália minden további nélkül előjöhet, ha a rendszámba véletlenül belekerült egy láthatatlan space.

Előzmény: _Nyuszi (19743)
_Nyuszi Creative Commons License 2012.12.25 0 0 19743

:)

Én a minap abba futottam bele, hogy az autoszűrő már nem kezeli a sokadik egyedi tételt (autónyilvántartás rendszám alapján), ezért a listájába nem kerül bele, de a ctrl+F megtalálja.

Ijesztő...

Előzmény: tbando (19741)
tbando Creative Commons License 2012.12.25 0 0 19742

B+, mindig belecsúszik valami baki. Helyesen tehát:

 

Míg persze az =atlag(B:B) üres cellával is, stringekkel is 1-t ad eredményül. 

 

 

Előzmény: tbando (19741)
tbando Creative Commons License 2012.12.25 0 0 19741

Valóban! És csak nézek ki a fejemből,  mert a '0001=1  viszont ==> HAMIS. Miközben a '0001+1=2. Ki kell ezeket tapasztalni. Mert az excel cellatartalom-kezelése egyéb furcsaságokkal is meglephet.  Ezek közült számomra a legmeglepőbb az alábbi:

 

A              B             

1              1

1              1

1              a

1              b

 

Ekkor az {=atlag(ha(A:A=1;B:B))} tömbképlet eredménye 1, de ha kitörlöd B-oszlopból az a-t és b-t akkor meg 0.5. Tehát a stringről tudja, hogy ne számoljon vele, de az üres celláról nem, azt 0-nak tekinti, és beleszámítja az átlagba.  Míg persze az =atlag(B:B) üres cellával is, stringekkel is 2-t ad eredményül. 

 

Előzmény: _Nyuszi (19740)
_Nyuszi Creative Commons License 2012.12.25 0 0 19740

Kipróbáltam (XL2003):

Az A és D oszlopban 1...3 számok -> működik.

Ezek után az A oszlop vonatkozó celláit átformáztam szövegre és 0001...0003 tartalommal töltöttem fel, D változatlan -> A képlet továbbra is működik, hiába "álltam bele" a cellába majd ki (enterrel).

A képlet: E1: =SZUMHA($A$1:$A$5;$D1;$B$1:$B$5)

Előzmény: tbando (19739)
tbando Creative Commons License 2012.12.25 0 0 19739

Tudtommal  nem kell szöveghez társítani. Ha az A oszlopot nem szerette, az azért lehet mert a benne levő értékek nem azonosak a D oszlopéval. Ha csinálsz egy a1=d1 próbát, akkor kiderül, hogy így van-e. És ha igen, érdemes karakterről karakterre leellenőrízni, hogy miben tér el. Tanulságos lehet a jővőre nézve.

Előzmény: djmorphy (19738)
djmorphy Creative Commons License 2012.12.25 0 0 19738

Mondjuk egyik hiba az hogy a kritériumot s összegtartományt felcseréltem a fgv-ben...Ne kérdezd miért mikor ott írja, hogy milyen paraméter kell neki. Biztos Karácsony miatt :D 
De most hogy megcsináltam akkor se akarta összeadni. Az A oszlopban lévő számok nem tetszettek neki. De nem baj mert a számokhoz tartoznak nevek is és úgy elfogadta hogy szöveghez kell társítania...
Szóval köszi! :D 

Előzmény: tbando (19737)
tbando Creative Commons License 2012.12.25 0 0 19737

Annak azért nézz utána, hogy a B oszlopban levő számok nem stringek-e. 

Előzmény: tbando (19736)
tbando Creative Commons License 2012.12.25 0 0 19736

Persze csak ha pontosvesszőt használsz és nem vesszőt, mint én.

Előzmény: tbando (19735)
tbando Creative Commons License 2012.12.25 0 0 19735

Szerintem is valami banális bakit csinálhattál, mert a szumha is jó, és a HA is,  márha ez utóbbit tömbképletként viszed be. Ha nem, akkor persze hülye eredményt ad. De hogy a szumha-val hogy csináltál 0-t, azt még csak elképzelni sem tudom.

 

A szumha, aminek működnie kell: =szumha(a:a,d1,b:b)

Előzmény: djmorphy (19734)
djmorphy Creative Commons License 2012.12.25 0 0 19734

Sziasztok!

 

Van két oszlopom amibe ömlesztve vannak azonosítók és a hozzájuk tartozó érték. Ezeket szeretném összesíten. Azt hittem, hogy a szumha()-val lehet de 0 ad vissza. Megpróbáltam ha()-val de akkor meg hülyeséget írt ki :(

 

 

pl:

   A       B       ==>   D              E

0001  500               0001      550

0002  100               0002      112   

0001    50               0003      111

0002    12

0003   111

 

 

Van erre ötletetek? Szerintem pofon egyszerű csak én nem jövök rá :D

 

 

ZolKa Creative Commons License 2012.12.24 0 0 19733

Köszönöm szépen és Boldog Karácsonyt Kívánok Nektek!

Előzmény: Delila10 (19732)
Delila10 Creative Commons License 2012.12.24 0 0 19732

Gyertyagyújtás előtt még gyorsan. Ezzel 19 pár adatot tolhatsz jobbra, utána már a segédoszlopok vannak (AN és AO)

 

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim oszlop%, i%, sor%
    
    If Range(Target.Address) = "" Then Exit Sub
    If Target.Column = 1 Then
        Application.EnableEvents = False
        sor% = Target.Row
        If Cells(sor%, 2) > "" Then
            oszlop% = Range(Target.Address).End(xlToRight).Column + 2
            For i = oszlop% To 3 Step -1
                Cells(sor%, i) = Cells(sor%, i - 2)
            Next
            Cells(sor%, 3) = Cells(sor%, 40): Cells(sor%, 4) = Cells(sor%, 41)
        End If
        Cells(sor%, 2) = Date
        Cells(sor%, 40) = Target
        Cells(sor%, 41) = Date
        Application.EnableEvents = True
    End If
End Sub

Előzmény: ZolKa (19731)
ZolKa Creative Commons License 2012.12.24 0 0 19731

Működik csak az a gond ha beírok harmadjára (vagy aárhanyadjára) egy értéket A1 cellába akkor nem tolja továb tehát nem írja be a C és D cellába.

Ha már benne vagy akkor jó lenne ha 3 tagból állna a dolog, tehát 3X érték + dátum.

 

Köszi szépen!

Előzmény: Delila10 (19730)
Delila10 Creative Commons License 2012.12.23 0 0 19730

Ehhez az első beíráskor el kell menteni a két értéket (A és B) egy másik helyre is, mert ha már felülírtad az A-t, valahonnan elő kell bányászni az előző beírást.

 

A makró a T oszlopba is beírja első bevitelkor az A tartalmát, az U-ba ennek a dátumát.

 

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then
        Application.EnableEvents = False
        If Cells(Target.Row, 2) > "" Then
            Cells(Target.Row, 2) = Date
            Cells(Target.Row, 3) = Cells(Target.Row, 20)
            Cells(Target.Row, 4) = Cells(Target.Row, 21)
        Else
            Cells(Target.Row, 2) = Date
            Cells(Target.Row, 20) = Target
            Cells(Target.Row, 21) = Date
        End If
        Application.EnableEvents = True
    End If
End Sub

Előzmény: ZolKa (19729)
ZolKa Creative Commons License 2012.12.23 0 0 19729

Sziasztok!

 

Van excel táblám amiben egy olyan makrót használok ami ha egy cella értéke megvátozik (beírok egy számot) akkor a mellete lévő cellába autómatikusan beíródik az aktulis dátum.

 

Ezt szeretném úgy kibővíteni, hogy lenne A1 cella az érték, B1 a dátum, C2 ismét érték, D1 a hozzá tartozó dátum. Beírok egy értéket az A1 -be (B1 autómatikusan a dátum lenne)  és ha utána még egy értéket beírnék az A1 -be akkor az egész eltolódna jobbra. Vagyis A1 lenne az új érték B1 a hozzá tartozó dátum és C1, D1 pedig a régi. Vagyis ha beírnék egy új értéket akkor megmaradna a régi csak jobbra tolná.

 

Eddig ezt a makrót használtam:

 

Private Sub Worksheet_Change(ByVal Target As Range)    If Target.Column = 10 Then Cells(Target.Row, 13) = DateEnd Sub

 

 

Segítségeteket előre is köszönöm szépen!

 

 

 

 

Delila10 Creative Commons License 2012.12.23 0 0 19728

Igen, ha csak Te használod, és ismered a megfelelő billentyűkombinációt. :)

Előzmény: tbando (19726)
Delila10 Creative Commons License 2012.12.23 0 0 19727

Ebben az esetben azt a cellát kell figyeltetni, amelyikbe billentyűzetről visszük be az értéket, és megváltoztatja a képlet értékét.

A bevitel történhet érvényesítéssel, és beviteli vezérlő segítségével is.

Előzmény: Törölt nick (19725)
tbando Creative Commons License 2012.12.22 0 0 19726

Így van. Sokat kísérleteztem vele, de csak ekkor indította el a makrót, ha bárhova a munkalapra beírtam akármit. Így meg minek, ezzel az erővel gyorsbillentyűvel is elindithatom. 

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

bocsánat, javítás...

 

a worksheet_change esemény tudtommal csak akkor fut le, ha kézzel változtatod meg egy cella értékét. Ha egy függvény szerepel a cellában és a függvény eredménye lesz más (mert mondjuk a függvény változói ugyan megváltoznak, de más munkalapon vannak), akkor szerintem nem fut le.

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

worksheet_selectionchange = megváltozik a kijelölés (pl eddig A1 volt aktív, most mondjuk A3:C5)

 

worksheet_change = megváltozik egy vagy több cellában szereplő érték

Előzmény: tbando (19719)
tbando Creative Commons License 2012.12.22 0 0 19723

Hát úgy néz ki, hogy a segítségeddel csak még konfuzabb lett  minden. Nagy kérés volna, hogy küldj egy privit, hogy utána skype-n megkonzultáljuk?

Előzmény: Retro Image (19718)
Delila10 Creative Commons License 2012.12.22 0 0 19722

Már hiányoltalak, Nyuszi!

 

Neked, és az összes többi fórumozónak kellemes ünnepeket kívánok.

 

Előzmény: _Nyuszi (19717)
Sánta Kutya (SK) Creative Commons License 2012.12.22 0 0 19721

Nem akarom hallani, hogy ejhted ki a change szót!

Előzmény: tbando (19719)
tbando Creative Commons License 2012.12.22 0 0 19720

Kösz. Máris neki állok.

Előzmény: Retro Image (19718)
tbando Creative Commons License 2012.12.22 0 0 19719

Kösz. Kezdem kapizsgálni.  De így meg az nem tiszta, hogy mi a különbség a sub worksheet_selectionchange és a worksheet_change között.  Illetve a használatukban tudom, hogy mi a különbség köztük, de nem értem, hogy  miért nem ekvivalensek? Azaz  SK #19647 sz-n. beposztolt makrója miért nem fut le a worksheet_selectionchange-gyel?

 

SK-makró:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Cells(4, 5) > 1000 Then
        Cells(4, 9) = "Jéééé!"
    End If
End Sub

Előzmény: Törölt nick (19715)
Retro Image Creative Commons License 2012.12.22 0 0 19718

A Target mindegyik esetben Range típusú, tehát cellát v. cellatartományt jelöl.

SelectionChange esetén az, amit újonnan kijelölsz.

Change esetén az, aminek az értékét megváltoztatod.

DoubleClick és RightClick esetén az, amelyikre kattintasz.

De nem a tartomány címe, hanem maga a tartomány, ez fontos, ami az első két esetben több cella is lehet.

Itt egy kis makrógyűjetemény, próbáld ki, és megérted a Target működését:

 

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   Dim A As Range
   Set A = Me.Range("A" & Rows.Count).End(xlUp).Offset(1)
   Application.EnableEvents = False
   A = Target.Address
   A.Offset(, 1) = "DoubleClick"
   Application.EnableEvents = True
End Sub

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
   Dim A As Range
   Set A = Me.Range("A" & Rows.Count).End(xlUp).Offset(1)
   Application.EnableEvents = False
   A = Target.Address
   A.Offset(, 1) = "RightClick"
   Application.EnableEvents = True
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
   Dim A As Range
   Set A = Me.Range("A" & Rows.Count).End(xlUp).Offset(1)
   Application.EnableEvents = False
   A = Target.Address
   A.Offset(, 1) = "Change"
   Application.EnableEvents = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   Dim A As Range
   Set A = Me.Range("A" & Rows.Count).End(xlUp).Offset(1)
   Application.EnableEvents = False
   A = Target.Address
   A.Offset(, 1) = "SelectionChange"
   Application.EnableEvents = True
End Sub

Előzmény: tbando (19714)
_Nyuszi Creative Commons License 2012.12.22 0 0 19717

"Ez aztán a szép rang! :)"

... világvége helyett... - nem rossz, nem rossz... :)

------

Csak beugrottam BÚÉK-olni egyet, kellemes karácsonyt nektek!

Előzmény: Delila10 (19713)
Törölt nick Creative Commons License 2012.12.22 0 0 19716

Jobban át kéne a néznem a kommentet, mielőtt elküldöm, mert nincs szerkesztés... kimaradt az, hogy "eseménynél".

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

Tudtommal a "Sub Worksheet_Change(ByVal Target As Range)" a munkalapon változtatsz meg egy cellát és az a target.

Előzmény: tbando (19714)
tbando Creative Commons License 2012.12.22 0 0 19714

Tanulgatom az eseményvezérléses makrókészítést. Megyeget is, de nem igen értem. Pl. azt, hogy hogyan kell értelmezni a „byval target”-t. Kb addig jutottam, hogy az alábbi eseményeknél

 

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

 

a target az, ahova klikkelek.

Míg a Private Sub Worksheet_Change(ByVal Target As Range)-ben maga a munkalap.

 

Mivel bizonytalan vagyok abban, hogy jók-e ezek az olvasatok, kérem, hogy aki ért hozzá, erősítse meg, illetve pontosítsa.

 

Na most tételezzük fel, hogy jó az olvasatom: Akkor meg azt nem értem, hogy a Private Sub WorksheetChange-hez miért kell a byval target, amikor a szintén az egész munkalapra vonatkozó activate és calculate eseményeknél nem használatos.

 

Ha valakinek van e kérdésre jó magyarázata, kérem ossza meg velem.

 

 

Delila10 Creative Commons License 2012.12.22 0 0 19713

Ez aztán a szép rang! :)

Szívesen.

Előzmény: Redlac (19712)
Redlac Creative Commons License 2012.12.21 0 0 19712

Istenkirálycsászár-nő vagy, köszönöm szépen :-)

Előzmény: Delila10 (19711)
Delila10 Creative Commons License 2012.12.21 0 0 19711

Elküldtem a fájlt.

Előzmény: Redlac (19709)
tbando Creative Commons License 2012.12.21 0 0 19710

Ez nem. Amelyik kezeli, az a networkdays :)))).

Előzmény: Sánta Kutya (SK) (19707)
Redlac Creative Commons License 2012.12.21 0 0 19709
A tanácsod óta erre odafigyelek, ráadásul most üres lapon próbáltam, és mégsem:)
Előzmény: Delila10 (19701)
Sobodk Creative Commons License 2012.12.21 0 0 19708

Köszi!

 

Előzmény: tbando (19706)
Sánta Kutya (SK) Creative Commons License 2012.12.21 0 0 19707

És ez a függvény kezeli a világvégét? Úgy értem, olyankor rövidülhet a hónap.

Előzmény: tbando (19698)
tbando Creative Commons License 2012.12.21 0 0 19706

B+

 

A képlet helyesen: =HA(a3+2>7;a3+2-7;a3+2)

Előzmény: tbando (19705)
tbando Creative Commons License 2012.12.21 0 0 19705

A heti 2 nap megjelölést neked kell bírnod az A3..A4 be minden lapon. Ha garantált a napok közötti 2 nap különbség akkor az A4-be bírhatod ezt a képletet:

=HA(a3+2>8;a3+2-7;a3+2), de ez gyakorlatilag nulla nyereség, mert az A2..A3-t így is neked kell kitölteni minden lapon.  Ha már most tudod, hogy melyik hónapban melyik 2 napot kell kiválasztanod (és persze igaz köztük a 2 nap különbség), akkor csinálhatsz mondjuk egy I1:J12 táblázatot, amelyben az I oszlop 1-12 ig a hónapokat tartalmazza, a J pedig az egyes hónapokhoz tartozó első megjelölt napot. Ekkor A3: =fkeres(a2;i1:j12;2;0). De még így is be kell írnod A2-be a hónap számát. Tehát ez se igazi nyereség. Persze a hónap száma levehető a munkapfülről, de akkor meg a lapfüleket kell átírnod. Illetve írható erre vagy az egész folyamatra egy makró, ami után valóban csak egy gombnyomás és kész az egész éves tervezeted. Viszont annyira macerás ennek a megcsinálása, hogy szerintem nem érdemes vele foglalkozni. Egyszerűen nem éri meg, hogy egy évenkénti 5 perces munkát (azaz 12 munkalap A2:A4 beírását) ekkora hókuszpókusszal váltsál ki. Ráadásul olyannal, aminek a módosítása sem olyan egyszerű, mint az a3:a4 cellák esetenként szűkségessé váló átírása.  

 

 

Előzmény: Sobodk (19703)
tbando Creative Commons License 2012.12.21 0 0 19704

Azért nem működik Hó.utolsó.nap néven, mert csak a Helpjét fordították le, a függvény nevét elfelejtették átírni. Van iyen. Én is már harmadszor javítom sobodk munkalapját, és könnyen lehet, hogy még most sem 100%-os. Csak 99,9%-nyira. Ami murphy szerint bőven elég a galibához :))).  

Előzmény: Delila10 (19702)
Sobodk Creative Commons License 2012.12.21 0 0 19703

tbando!

Amit eddig tettél az is sok számomra, de egy kérésem még lehet?

 A hét megjelölt napjának hét variációja kellene.

Üdv: Sobodk    

Előzmény: tbando (19700)
Delila10 Creative Commons License 2012.12.21 0 0 19702

Már csak az a kérdés, ha van egy lefordított ho.utolso.nap függvény, akkor miért nem működik?!

Előzmény: tbando (19698)
Delila10 Creative Commons License 2012.12.21 0 0 19701

Pusztítsd ki a cellák összevonását, és sikerülni fog.

Előzmény: Redlac (19699)
tbando Creative Commons License 2012.12.21 0 0 19700

Örülök, hogy tudtam segíteni. Mert nem voltam benne biztos, hogy megfelel-e neked a munkalapformátumom. Ezért igyekeztem a lehető legdinamikusabbra alkotni a képleteket, hogy minél szabadabban variálhasd. De sajnos még így sem tökéletes. Ezért előfordulhat, hogy bizonyos cellamozgatásokra hibával, vagy ami még rosszabb, helytelen eredménnyel reagál. A problémát okozható kódot kijavítottam, és sobodk-3 néven feltettem a data.hu. Ezt a vátozatot még bátrabban variálhatod. Persze, ha változtatás nem szükséges, akkor a sobodk-2 is tökéletesen megfelelő.

 

A sobodk-3 letöltőlinkje:  http://data.hu/get/5970121/sobodk-3.xlsx

Előzmény: Sobodk (19689)
Redlac Creative Commons License 2012.12.21 0 0 19699
Azt már többször észrevettem, hogy itt varázslók fórumoznak, mert nekem egyelőre nem akarja az igazat...estefelé még gyűröm...köszi a segítséget.
Előzmény: Retro Image (19697)
tbando Creative Commons License 2012.12.21 0 0 19698

Így van. A Ho.utolso.nap=eomonth. Ez ott volt nekem is, csak nem esett le a tantusz hogy az eo=end of, amit a sugóban lefordítottak a függvényeknél meg nem. Kösz.

Előzmény: Delila10 (19691)
Retro Image Creative Commons License 2012.12.21 0 0 19697

Nekem teljesen jól működik a kettő együtt. Nem ugyanabban a formátumban ugyan, de mindkettő időértéket ír be a cellába.

Hibát akkor dob, ha 32 óra 19 percet (vagy valami hasonlóan lökött időpontot) írok be.

Előzmény: Redlac (19696)
Redlac Creative Commons License 2012.12.21 0 0 19696

19680-as hozzászólásban leírtam, hogy : "Most arra gondoltam, hogy ugyanazon cellába mindkettőt tudjam használni."

 

Világvége ide, vagy oda, de ezt szeretném elérni :-)

Előzmény: Retro Image (19695)
Retro Image Creative Commons License 2012.12.21 0 0 19695

Ember.

Másodszor kérdezem meg, hogy mit akarsz elérni, erre másodszor is azt válaszolod, hogy jelenleg hogyan működik a rendszer.

Elbeszélhetünk egymás mellett a világvégéig (vagy az már elmúlt?), de ebből így eredmény nem lesz.

Előzmény: Redlac (19694)
Redlac Creative Commons License 2012.12.21 0 0 19694

No :-)

 

Az összefésült kódot beírtam egy üres lapba. A cellák formátumát szövegre állítottam, és az első kódhoz még a sima "Time" helyett "Target.Value = Format(Time, "hh:mm")" írtam.

 

Így a dupla klikkes idő beírás remek.

 

De a manuális bevitel esetén, dobja az msgbox-ot, hogy "ilyen időpont nem létezik".

 

 

Előzmény: Retro Image (19693)
Retro Image Creative Commons License 2012.12.21 0 0 19693

Biztos bennem van a hiba, de ebből én nem tudom kiolvasni, hogy mit szeretnél.

Még csak nagycsoportos vagyok, úgyhogy olyan szinten kell nekem elmagyarázni, hogy pl.

"ha ezt csinálom, akkor ez történjen, ha azt csinálom, akkor meg az történjen".

Vagy: "akár ezt csinálom, akár azt, mindig ugyanaz történjen, éspedig:..."

Előzmény: Redlac (19692)
Redlac Creative Commons License 2012.12.21 0 0 19692

A két makró külön-külön remekül fut, de mivel a cellákat eltérően kell formázni (az egyiket időpontként, a másikat szövegként), így azonos területen valamelyik nem fog megfelelő eredményt hozni.

Előzmény: Retro Image (19688)
Delila10 Creative Commons License 2012.12.21 0 0 19691

Ez valószínűleg azonos az Analyzis ToolPak bővítménnyel behozható EOMONTH függvénnyel.

"A kezdő_dátumnál hónapok hónappal korábbi vagy későbbi hónap utolsó napjának dátumértékét adja eredményül."

 

A1: 2012.12.21.

=EOMONTH(A1;1) -> 2013.01.31

=EOMONTH(A1;-1) -> 2012.11.30

=EOMONTH(A1;0) -> 2012.12.31

 

Jó haszna van, mikor pl. ki akarod számolni, hány munkanap van egy adott hónapban. 

=NETWORKDAYS(A1;B1;Ünnepek), ahol az Ünnepek tartományba beírod az adott év ünnepnepjainak a dátumát.

Előzmény: tbando (19684)
Törölt nick Creative Commons License 2012.12.21 0 0 19690

nem próbáltam, de valószínűleg egy bővítmény szükséges hozzá, amit a bővítmény kezelőben hozzá is tudsz adni.

Előzmény: tbando (19684)
Sobodk Creative Commons License 2012.12.21 0 0 19689

tbando!

 

Köszönöm a segítségedet, ez nekem soha, de soha nem sikerült volna.

Ígérem, az excelt jobban megtanulom. És remélem én is tudok majd segíteni más embereknek.

Kellemes Karácsonyi Ünnepet, Boldog Újévet Kívánok Neked, Családodnak, és a Fórum valamennyi tagjának!

Üdv: Sobodk

 

 

Előzmény: tbando (19687)
Retro Image Creative Commons License 2012.12.21 0 0 19688

Merthogy mit is szeretnél egész pontosan?

Előzmény: Redlac (19685)
tbando Creative Commons License 2012.12.20 0 0 19687

Illetve inkább ezt töltsd le:  http://data.hu/get/5968074/sobodk-2.xlsx

 

Az első változat ugyanis kevésbé dinamikus, így még se lehet annyira szabadon variálni, mint a sobodk2-t. 

Előzmény: tbando (19686)
tbando Creative Commons License 2012.12.20 0 0 19686

Pedig könnyű. De hogy még könnyebb legyen, csináltam egy sablont, amit kedvedre variálhatsz. A data.hu-ról töltheted le.

 

A letöltő link:  http://data.hu/get/5968006/sobodk.xlsx

Előzmény: Sobodk (19670)
Redlac Creative Commons License 2012.12.20 0 0 19685

és a formázást szerinted mire kellene állítani? Mert próbálgatom, de úgy néz ki, hogy ez lesz a probléma...

Előzmény: Retro Image (19681)
tbando Creative Commons License 2012.12.20 0 0 19684

Magyar nyelvű excel 2007 sugójában van egy olyan függvényleírás, hogy HÓNAP.UTOLSÓ.NAP.  A munkalapra beírva azonban az excel nem ismeri fel, és a függvénytárban sem szerepel. Honnan lehet rátölteni?

tbando Creative Commons License 2012.12.20 0 0 19683

A ="" beírásnál nálam is eltűnik a macskaköröm, de az üres(cella) HAMIS-t ír ki.  A fene se érti.

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

Mert pontatlanul írtam: nem "", hanem ="".

Előzmény: tbando (19679)
Retro Image Creative Commons License 2012.12.20 0 0 19681

Most nincs időm tesztelni, de kb ez:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   Application.EnableEvents = False
   On Error GoTo Hiba
   Pass = "jelszo"
   ActiveSheet.Unprotect Pass
   If Not Intersect(Target, Range("B34:B133, G34:G133")) Is Nothing Then
      Target.Value = Time
      Cancel = True
   End If
Hiba:
   ActiveSheet.Protect Password:="jelszo"
   Application.EnableEvents = True
End Sub

 

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

 

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ido, ertek
    If (Not Intersect(Target, Range("U39")) Is Nothing) Or (Not Intersect(Target, Range("B34:B133, G34:G133")) Is Nothing) Then
        If Range(Target.Address) = "" Then Exit Sub
        Application.EnableEvents = False
        On Error GoTo Hiba
        ertek = Target * 1
        ActiveSheet.Unprotect Password:="jelszo"
        If ertek > 2359 Or ertek < 0 Or Right(ertek, 2) > 59 Then
            GoTo Hiba
        Else
            Select Case Len(ertek)
            Case 1, 2
                ido = "00:" & ertek
            Case 3
                ido = "0" & Left(ertek, 1) & ":" & Right(ertek, 2)
            Case Else
                ido = Left(Target, 2) & ":" & Right(Target, 2)
            End Select
            Target.Value = Format(ido, "hh:mm")
        End If
    End If
    ActiveSheet.Protect Password:="jelszo"
    Application.EnableEvents = True
    Exit Sub

Hiba:

    MsgBox "Hiba!" & Chr(10) & "Ilyen időpont nem létezik", vbInformation

    Application.EnableEvents = True

    ActiveSheet.Protect Password:="jelszo"

End Sub

Előzmény: Redlac (19680)
Redlac Creative Commons License 2012.12.20 0 0 19680

Megkérdezem itt, nem bombázom külön Delila-t :-)

 

Van két makróm, amik külön táblázatban vannak, és most egybe szeretném gyúrni őket, hogy egy területen bármelyiket tudjam használni.

 

- Az egyik dupla klikkre beírja az aktuális időpontot, (itt a cella formátuma "időpont")

- míg a másik a manuális időpont bevitelt könnyíti meg oly módon, hogy csak a 4 számot kell egymás után beírni (1235) és az enter után időformátum (12:35) lesz belőle. (itt a cella formátuma "szöveg")

 

Most arra gondoltam, hogy ugyanazon cellába mindkettőt tudjam használni. 

 

Egymás alá másoltam, és próbálkoztam mindenféle szabdalással, de nem ment :-(. Az első gond az eltérő formázás volt.

 

Az időpont beviteli makrót egyébként a nagyszerű Delila alkotta számomra, de egyrészt nem akartam már csak őt zavarni, ráadásul, ha valakinek kellene ilyesmi makró, akkor tudja használni :-)

 

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

 

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Pass = "jelszo"

ActiveSheet.Unprotect Pass
If Not Intersect(Target, Range("B34:B133, G34:G133")) Is Nothing Then

Target.Value = Time

Cancel = True

ActiveSheet.Protect Pass

End If

End Sub

 

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

 

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim ido, ertek

    If Not Intersect(Target, Range("U39")) Is Nothing Then

        If Range(Target.Address) = "" Then Exit Sub

        Application.EnableEvents = False

        On Error GoTo Hiba

        ertek = Target * 1

        ActiveSheet.Unprotect Password:="jelszo"

        If ertek > 2359 Or ertek < 0 Or Right(ertek, 2) > 59 Then

            GoTo Hiba

        Else

            Select Case Len(ertek)

            Case 1, 2

                ido = "00:" & ertek

            Case 3

                ido = "0" & Left(ertek, 1) & ":" & Right(ertek, 2)

            Case Else

                ido = Left(Target, 2) & ":" & Right(Target, 2)

            End Select

            Range(Target.Address) = Format(ido, "hh:mm")

        End If

    End If

    ActiveSheet.Protect Password:="jelszo"

    Application.EnableEvents = True

    Exit Sub

 

    Hiba:

    MsgBox "Hiba!" & Chr(10) & "Ilyen időpont nem létezik", vbInformation

    Application.EnableEvents = True

    ActiveSheet.Protect Password:="jelszo"

End Sub

 

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

 

A cél tehát, hogy a (B34:B133, G34:G133) területen is lehessen használni az egyszerűsített időbevitelt.

 

 

Köszi, ha valaki eltöpreng rajta :-)

 

tbando Creative Commons License 2012.12.20 0 0 19679

Úgy igaz, félmegoldás. Ezért egy másik módszert alkalmaztam végül. Nevezetesen, hogy a szomszédos oszlopban az eredeti oszlop értékeihez hozzáadtam 0-t, mert ebben az oszlopban már rá lehetett keresni a nullára. Kétségtelenül gagyibb megoldás, mint retro szuper tömbképlete. De az adott célnak megfelelt.

 

Nálam a ""-t tartalmazó cellát  az üres(cella) fgv hamisnak látja, ami tök érthetőnek tűnik annak fényében, hogy a cella már ránézésre sem üres, mivel a második macskakörmöt karakterként ábrázolja. 

Előzmény: Sánta Kutya (SK) (19674)
tbando Creative Commons License 2012.12.20 0 0 19678

Szenzációs! Sosem jöttem volna rá magamtól, hogy a vannak függvények, amelyek a ""-t csak üres stringnek látják (mint pl a hol.van), míg más függvények (mint pl. a boolean-ok) meg üres cellának is. Kösz.

Előzmény: Retro Image (19675)
Retro Image Creative Commons License 2012.12.20 0 0 19677

Nem 100%, de úgy emlékszem, "--" kábé ekvivalens azzal, hogy "-1*-1*"

vagyis megszorzod a tömb minden elemét mínusz eggyel, aztán még egyszer mínusz eggyel.

Így lehet a tömben lévő Boolean értékeket Integerré konvertálni.

 

Utólag belegondolva tkp. az is lehetne a képlet, hogy:

{=HOL.VAN(IGAZ;(A1:A10="");0)}

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

Már megint valami, amit nem értek. Mi az a --?

Előzmény: Retro Image (19675)
Retro Image Creative Commons License 2012.12.20 0 0 19675

Ehhez mit szólsz:

{=HOL.VAN(1;--(A1:A10="");0)}

 

:-}

Előzmény: tbando (19654)
Sánta Kutya (SK) Creative Commons License 2012.12.20 0 0 19674

Értem, de ez félértékű megoldás, mert csak az adott gépen működik.

A válaszomat arra alapoztam, hogy sebtiben beírtam az egyik cellába, hogy "", a másikba meg, hogy =üres(az a cella), és IGAZ jelent meg.

Előzmény: tbando (19672)
Delila10 Creative Commons License 2012.12.19 0 0 19673

Máshova add be a két értéket, ne abba a két cellába, és annak megfelelően írd át a képleteket.

Előzmény: Sobodk (19670)
tbando Creative Commons License 2012.12.19 0 0 19672

Amikor az excel nem az excel, hanem a lotus kiértékelési metódusa szerint számol.  Az excel beállításai/special legalján lehet választani. Néhány függvénynél más eredményt ad, mint az excel. Pl. Igaz/hamis helyett 1/0-t ad eredményül, amikkel utána normál számértékként lehet számolni, a string+1 összeadásnál a stringet nullának tekinti. Ez előnyös lehet, ha egy táblázat oszlopában a cellák értéke a cella fölötti+1, mert akkor ez a képlet a fejléc alatti sorban 1-t ad és nem hibajelzést, mint az excel.  Az üres cellát nullának látja, ami nekem most ugyan kapóra jött, de általában inkább előnytelen.  Ezért általában nem kapcsolom be.  A súgóban egyébként leírja a két számítás különbségeit.

 

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

Mit értesz másodlagos képletkiértékelésen?

Előzmény: tbando (19660)
Sobodk Creative Commons License 2012.12.19 0 0 19670

Szia!

 

 Köszi, a segítséget, a D, E, oszlopokat nem használhatom, képletíráshoz.

Valahogy nem megy. Ez ennyi volt!

 

Üdv: Sobodk

Előzmény: Delila10 (19669)
Delila10 Creative Commons License 2012.12.19 0 0 19669

Szívesen. Így már működik?

Előzmény: Sobodk (19668)
Sobodk Creative Commons License 2012.12.19 0 0 19668

Köszönöm!  :))))

Előzmény: Delila10 (19667)
Delila10 Creative Commons License 2012.12.19 0 0 19667

 Az A oszlop dátumai ne számok, hanem dátumok legyenek. A cellaformázás egyéni kategóriájába nn-et adj, akkor csak a napok sorszámai látszanak.

 

A B oszlop képletét, ami az X-eket írja, látod az ábrán.

 

 Ez a kép a feltételes formázás képleteit mutatja.

Előzmény: Sobodk (19664)
djmorphy Creative Commons License 2012.12.19 0 0 19666

Köszönöm szépen! Tökéletes a Csonk fgv! 

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

Szia,

 

KEREKÍTÉS vagy CSONK függvény, attól függ, mit akarsz pontosan. Az egyik egész számra kerekít, a másik az egészrészét veszi a számnak.

http://office.microsoft.com/hu-hu/excel-help/kerekites-fuggveny-HP010342858.aspx

http://office.microsoft.com/hu-hu/excel-help/csonk-fuggveny-HP010342970.aspx

 

KEREKÍTÉS: HA(ROUND(I143)=C143;"minden ok";"nem ok")

CSONK: HA(TRUNC(I143)=C143;"minden ok";"nem ok")

 

Lehet, hogy a függvény nevét angolul írtam. Ezt nem tudom leellenőrizni, mert nekem angol az excelem. Sok sikert!

Előzmény: djmorphy (19663)
Sobodk Creative Commons License 2012.12.19 0 0 19664

Nem megy!

Előzmény: Delila10 (19662)
djmorphy Creative Commons License 2012.12.19 0 0 19663

Sziasztok!

 

Lenne egy kis problémám amiben remélem tudtok segíteni :)
C143-ba beírom, hogy 12   E143-ba HA(I143=C143;"minden ok";"nem ok")  I143= 1215/100
És a kerekítés miatt azt írja ki, hogy "nem ok". Hogyan lehetne megoldani, hogy egész számokat vegye csak figyelembe.A cellaformázásnál a kerekítést próbáltam de nem nagyon hatotta meg sajnos.

 

Delila10 Creative Commons License 2012.12.18 0 0 19662

Szivi. :)

Előzmény: Sobodk (19661)
Sobodk Creative Commons License 2012.12.18 0 0 19661

Köszi!

Holnap kipróbálom.

Üdv:Sobodk

Előzmény: Delila10 (19659)
tbando Creative Commons License 2012.12.18 0 0 19660

Azzal már próbálkoztam, sajna nem jó.

 

Közben találtam egy megoldást, amit azonban jó lenne elkerülni.  A hol.van(0;a1:a10;0) alapból nem találja meg az üres cellát a1:a10-ben, de a másodlagos képletkiértékeléssel igen. Ezt a számításmódot kéne valahogy alkalmazni kizárólag erre az egy képletre.

 

Előzmény: Sánta Kutya (SK) (19657)
Delila10 Creative Commons License 2012.12.18 0 0 19659

A HÉT.NAPJA függvénnyel operálnék. Az egyes lapokra felírnám valahova, a hét hanyadik napjait színezze, és ezekre a cellákra utalva állítanám be a feltételes formátumot az A oszlopban.

A X-eket HA függvénnyel íratnám be, szintén ezekre a cellákra hivatkozva. 

Mindkét képletben szerepelnie kell a VAGY függvénynek is így első látásra.

Előzmény: Sobodk (19658)
Sobodk Creative Commons License 2012.12.18 0 0 19658

 

Egy minta részlete. De a varáció elég sok lehet.

 

Üdv: Sobodk

Előzmény: SQLkerdes (19655)
Sánta Kutya (SK) Creative Commons License 2012.12.18 0 0 19657

Most nincs időm kísérletezni, de szerintem ha üres stringre ("") keresel vele, akkor megtalálja.

Előzmény: tbando (19654)
Sánta Kutya (SK) Creative Commons License 2012.12.18 0 0 19656

És amikor két gépen készítesz egy táblázatot és mindenféle Excel-verziókban mented és teszteled és rászánod az időt és feltöltöd, akkor jön a user, akinek Libre Office van a munkahelyén, és nem úgy értelmezi az érvényesítési feltételt, mint az Excel, és akkor kezdheted vakarni a fejed!

SQLkerdes Creative Commons License 2012.12.18 0 0 19655

Nem értem.

Előzmény: Sobodk (19652)
tbando Creative Commons License 2012.12.18 0 0 19654

Kösz. Ilyenre  gondoltam. 

 

Még valamit: A hol.van-nal, hogy lehet megtalálni az üres cellát egy tartományban?

Előzmény: Sánta Kutya (SK) (19647)
tbando Creative Commons License 2012.12.18 0 0 19653

:)))))

 

Előzmény: Sánta Kutya (SK) (19646)
Sobodk Creative Commons License 2012.12.18 0 0 19652

Sziasztok!

Excel 2010-et használok, egy munkafüzetet kellet létrehoznom, rengeteg munkalappal.

 Munkalapok  A. oszlopában az adott hónap napjai szerepelnek numerikusan, B. oszlopban egy  X-et kell lennie.   A többi oszlop manuálisan lenne kitöltve.

Csak az a bökkenő, hogy az egyik munkalapon, keddi; csütörtöki napokat kell kijelölni X-el.

Így tovább, vasárnap; hétfő; kedd; szerda,csütörtök. Nem akarom végig írni a variációkat.

 Üdv: Sobodk

Redlac Creative Commons License 2012.12.18 0 0 19651

Szuper, köszi, az első alapján sikerült.

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

Szia,

 

egy másik fórumról angolul:

Click on Excel option>Trust center>Trust center settings>privacy options> then in "Document specific settings" uncheck "Remove personal information from file properties on save"

 

vagy ha nem ez, akkor:

Re: Privacy warning disable Go to 'Developer Ribbon'.
Click Macro Security.
Click 'Privacy Options'.
Uncheck all notifications.

Magyarul nem találtam linket, talán ez is segít.

Előzmény: Redlac (19649)
Redlac Creative Commons License 2012.12.18 0 0 19649

Újra :-)

 

2010-es Excel mentésénél kiírja:

 

"Biztonsági figyelmeztetés: Ez a dokumentum makrókat, ActiveX-vezérlőket, XML nyelvi bővítőcsomagokkal kapcsolatos információkat vagy webösszetevőket tartalmaz. Ezekben szerepelhetnek olyan személyi adatok, melyeket a Dokumentumfigyelő nem távolít el."

 

Baromi rendes az Excel, hogy erre figyelmeztet, de rejtett oszlopok, sorok, illetve makrók valóban vannak a fájlban. Keresgéltem, hogy valahol ki lehet-e kapcsolni ezt a figyelmeztetést, de nem találtam...

 

Van ötletetek?

 

Sánta Kutya (SK) Creative Commons License 2012.12.18 0 0 19648

Bocs, E4, értelemszerűen.

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

Na egy ilyet bírtam összeamatőrködni:

 

Private Sub Worksheet_Change(ByVal Target As Range)
    If Cells(4, 5) > 1000 Then
        Cells(4, 9) = "Jéééé!"
    End If
End Sub

 

Ez minden változtatásnál fut, de csak akkor csinál valamit, ha E5>1000.

Előzmény: tbando (19645)
Sánta Kutya (SK) Creative Commons License 2012.12.18 0 0 19646

Éjjel egy után semmiképpen, amikor már minden normális makró alszik. :-) Szerintem olyan makrót lehet írni, ami állandóan figyel, de csak akkor leplezi le magát, ha elérte a kívánt értéket a cella.

Előzmény: tbando (19645)
tbando Creative Commons License 2012.12.18 0 0 19645

Azt meg lehet csinálni, hogy ha egy cella egy bizonyos értéket felvesz, akkor elindítson egy makrót? Ha igen hogyan?

tbando Creative Commons License 2012.12.17 0 0 19644

Hogy érted, hogy soronként értelmezze a nagyságrendet?

Előzmény: fajlkezelo (19643)
fajlkezelo Creative Commons License 2012.12.17 0 0 19643

Sziasztok!

 

Az Excel feltételes formázásával van egy kis gondom.

Ha kijelölök egy tartományt (pl. 500 sor * 12 oszlop),

akkor a teljes tartományon belül értelmezi és ábrázolja a nagyságrendeket,

nem pedig soronként.

 

Be lehet valahogy állítani a soronkénti értelmezést?

 

 

Köszi

 

Joe

Redlac Creative Commons License 2012.12.17 0 0 19642

Ment...

Előzmény: Delila10 (19641)
Delila10 Creative Commons License 2012.12.17 0 0 19641

Küldd el a fájlt!

Előzmény: Redlac (19640)
Redlac Creative Commons License 2012.12.17 0 0 19640

 

Én is így gondolkodtam, de ezt a hibát adta...

 

Aztán áthelyeztem a képletet az L1-be, arra meg ezt a hibát adta:

 

 

Előzmény: Delila10 (19639)
Delila10 Creative Commons License 2012.12.17 0 0 19639

Az egyes lapok L1 cellájában szerepel a CELLA függvénnyel meghatározott oszlop. A BEO lapnak ebből az oszlopából másol.

Előzmény: Redlac (19637)
Delila10 Creative Commons License 2012.12.17 0 0 19638

Ez a régebbi verziókban is így érhető el. Egy ikont tettem ki hozzá (a többi huszon... mellé). Azért nem szeretem a 2003-nál frissebb verziókat, mert ott nem tudok saját, a tartalomra utaló rajzot rendelni az ikonokhoz.

Előzmény: Sánta Kutya (SK) (19636)
Redlac Creative Commons License 2012.12.17 0 0 19637

A Tiednél szuperül működik, most próbálom az enyémbe integrálni :-)

 

A másolás helye már megvan..., de a honnan veszi az adatok meghatározását nem értem.

 

El tudnád magyarázni?

Előzmény: Delila10 (19635)
Sánta Kutya (SK) Creative Commons License 2012.12.17 0 0 19636

Áááááá! És akkor van arcuk azt írni, hogy a korábban jól működő testreszabási lehetőség azért szűnt meg, mert a mostani elrendezés logikus és punktum! Tiszta Mac-filozófia: semmihez semmi közöd.

Előzmény: Delila10 (19631)
Delila10 Creative Commons License 2012.12.17 0 0 19635

Rendeld a BEO lap gombjához a masol makrót, azt kihagytam. :(

Előzmény: Delila10 (19634)
Delila10 Creative Commons License 2012.12.17 0 0 19634
Előzmény: Redlac (19633)
Redlac Creative Commons License 2012.12.17 0 0 19633

nekem nem csinál semmit, pedig a Te táblázatodban próbáltam :-(

 

"Run-Time error '1004'

Application-defined or object-defined error"

 

 

Előzmény: Delila10 (19632)
Delila10 Creative Commons License 2012.12.17 0 0 19632

Sub masol()
    Dim lap%, oszlop%, WS As Worksheet, lapnev$
    Set WS = Sheets("BEO")
    
    For lap% = 2 To Worksheets.Count
        oszlop% = Sheets(lap%).Cells(1, "L")
        lapnev$ = Sheets(lap%).Name
        WS.Range(Cells(3, oszlop%), Cells(52, oszlop%)).Copy Sheets(lapnev$).Range("D2")
    Next
End Sub

 

Ezzel fixen beírhatod a BEO lap megfelelő oszlopát az egyes lapok D oszlopába.

Erre gondoltál?

Előzmény: Redlac (19630)
Delila10 Creative Commons License 2012.12.17 0 0 19631

A cellaformázás igazítás fülén a vízszintesen legördülőben keresd.

Hogy ne kelljen ilyen hosszú úton keresgélni, én a personalba tettem egy egysoros makrót.

Indítás előtt jelöld ki a cellákat, amik között középre akarod helyezni a szöveget.

 

Sub Kijeloles_kozepere()

    Selection.HorizontalAlignment = xlCenterAcrossSelection

End Sub

 

Előzmény: Sánta Kutya (SK) (19629)
Redlac Creative Commons License 2012.12.17 0 0 19630

Ó, pardon...nem fogalmaztam megfelelően.

 

Makróval, nyomógombbal szeretném azért megoldani, mert ezt az átmásolást a hónap elején csak egyszer szeretném megcsinálni. Ez lenne a tervezett beosztás, de ha változtatok a beo lapon, akkor nem szeretném, ha követné a változást. 

A napi fülön a terv beosztás mellett kellene vezetni az esetleges változást is, látni kellene, hogy mi volt az eredeti, és "mivé" változott.

Előzmény: Delila10 (19627)
Sánta Kutya (SK) Creative Commons License 2012.12.17 0 0 19629

"A cellák egyesítése helyett mindig inkább a "A kijelölés közepére" megoldást alkalmazom"

Az az a betűs fehér ikon, ugye? 2007-ben nem találom.

Lehet, hogy átmegyek laptopra, és 2000-ben csinálom meg az egészet. Az nem hazudik.

Előzmény: Delila10 (19619)
Delila10 Creative Commons License 2012.12.17 0 0 19628

:))

A mínusz jel kódja 45.

Előzmény: Sánta Kutya (SK) (19626)
Delila10 Creative Commons License 2012.12.17 0 0 19627

Az egyes lapokon a D2 képlete legyen =INDIREKT("beo!"&$L$4&SOR()+1).

 

A lapok másolása előtt ezt beírod a "01" lapra, a többin már szerepelni fog.

Előzmény: Redlac (19623)
Sánta Kutya (SK) Creative Commons License 2012.12.17 0 0 19626

Biztos? A1-be begépeltem, hogy ezer (betűkkel), A2-be, hogy =A1>2, és IGAZ értéket írt ki. Jogosan, hiszen ezer>2. :-) Szépséghiba, hogy A1-be a mínusz ezer szöveget írva is igazat ad ki. :-)

Előzmény: Delila10 (19625)
Delila10 Creative Commons License 2012.12.17 0 0 19625

Nem értem pontosan, mit akarsz ezzel az érvényesítéssel, de a szám(b6) benne van az és(b6>1000;b6<10000) feltételben.

 

Cellába beírva a =HA(F5="Magyarország";ÉS(B6>1000;B6<10000);IGAZ) képlet eredménye ugyanaz, mint a hosszabb

=ÉS(SZÁM(B6);HA(F5="Magyarország";ÉS(B6>1000;B6<10000);IGAZ))-é.

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

Ott a pont! Rákerestem, és tényleg. Köszi!

 

A másikra tud valaki valamit? Ha nem, akkor le kell vennem a cellaérvényesítést. :-(

Pontosan így szól az egyik képlet: =ÉS(SZÁM(B6);HA(F5="Magyarország";ÉS(B6>1000;B6<10000);IGAZ))

Erre jön a hibaüzenet (nem a hibaablakból, hanem a súgóból másolom, mert onnan lehet):

Ez a munkalap a kijelölt fájlformátumban a sorokra és oszlopokra vonatkozó korlátozásokon kívül eső cellákban tartalmaz adatokat. A 256 oszlopon (IV) és 65 536 sorból álló tartományon kívül eső adatokat az Excel nem fogja menteni. Az ebben a tartományban szereplő adatokra mutató képlethivatkozások eredménye #HIV! hiba lesz.

És csk olykor. Nem értem.

Előzmény: Delila10 (19619)
Redlac Creative Commons License 2012.12.17 0 0 19623

Delila, kérlek :-)!

 

A másolós, szinezős táblázatban az egyik cellában egy indirekt függvénnyel hoztad ki azt a területet (beo!c3:c52), ahol keresni kellene.

 

A napi lapokra (mondjuk a B6-tól) egy gomb segítségével ezt a területet egyben is át szeretném másolni. Tehát a másolandó területet az indirektes cellából venné a makró (hogy bármelyik lapon szeretném másolni, a megfelelő területet másolja).

 

 

 

 

 

Előzmény: Delila10 (19622)
Delila10 Creative Commons License 2012.12.17 0 0 19622

Friss fejjel reggel még a gépek is jobban működnek. :)

Előzmény: Redlac (19620)
Redlac Creative Commons License 2012.12.17 0 0 19621

2010-es Excel mentésénél kiírja:

 

"Biztonsági figyelmeztetés: Ez a dokumentum makrókat, ActiveX-vezérlőket, XML nyelvi bővítőcsomagokkal kapcsolatos információkat vagy webösszetevőket tartalmaz. Ezekben szerepelhetnek olyan személyi adatok, melyeket a Dokumentumfigyelő nem távolít el."

 

Baromi rendes az Excel, hogy erre figyelmeztet, de rejtett oszlopok, sorok, illetve makrók valóban vannak a fájlban. Keresgéltem, hogy valahol ki lehet-e kapcsolni ezt a figyelmeztetést, de nem találtam...

 

Van ötletetek?

Redlac Creative Commons License 2012.12.17 0 0 19620

Ezt nem értem...este nem akarta :-)

 

Biztos fáradt volt...

 

Köszi

Előzmény: Delila10 (19618)
Delila10 Creative Commons License 2012.12.17 0 0 19619

Tudtommal a régebbi verziókban max. 256 karakter helyezhető el 1 cellában.

 

A cellák egyesítése helyett mindig inkább a "A kijelölés közepére" megoldást alkalmazom a vízszintes elrendezésnél, mert az egyesítés sok galibát okozhat.

Előzmény: Sánta Kutya (SK) (19617)
Delila10 Creative Commons License 2012.12.17 0 0 19618

Érvényesítésből is működik azon a lapon, amelyikhez hozzárendelted a makrót, és az érvényesítést az A1 cellába tetted.

A makró a Terület, Kód, és Személy választására reagál színezéssel. Írd át azokra a szövegekre (és cellára), amiket alkalmazni akarsz. A Select Case listát bővítheted.

Előzmény: Redlac (19616)
Sánta Kutya (SK) Creative Commons License 2012.12.17 0 0 19617

A következő misztikus jelenségbe ütköztem.

Excel 2007-ben készítek egy 2000-2003 formátumú xls-t (netről tudja le- és kitölteni az is, akinek  nincs förmedvénye).

1. Hogy képtelen vagyok egy halványszürke hátteret beállítani egy cellának, hgy ne visítson formátumvesztésért a mentéskor, az érthetetlen, de még lenyelhető.

2. Két cellában összetett érvényesítési képlet van, valami olyasmivel, hogy =ÉS(szám(ez a cella); HA(F5="Magyarország";cella saját intervalluma;IGAZ)). (Irányítószám, mobilszám korlátozása.) Na erre kiírja mentéskor, hogy inkompatibilis, mert túlléptem a 256 oszlopot és 65536 sort, pedig nem! És ezt a két cellát dobja ki. De nem minden mentéskor, és talán az is számít, melyik cellán van mentéskor a kurzor. Látott már valaki ilyesmit? Itthon 2000-ben simán megnyitja.

3. Van egy ló nagy egyesített cella, amelybe hosszú szöveget írtam sortöréssel, van benne egy enter is. Jól nézett ki, de itthon 2000-es Excelben megnyitva a sortörés csak az első bekezdés közepéig tart, onnantól átvált bekezdésenként egysoros üzemmódba, és nem látszik a szöveg. Igen, vannak szóközök. És nem is tudom kijavítani!

 

Találkozott ilyen parajelenségekkel valaki?

Most viszem be a laptopot, hogy kétféle Excelem legyen ma odabent.

Redlac Creative Commons License 2012.12.16 0 0 19616

Delila!

 

Nem képlettel, hanem legördülő menüből akartam választani a lehetőségeket, de akkor sem színezett.

 

Erre semmi más megoldás nem lehetne?

 

 

Előzmény: Delila10 (19540)
tbando Creative Commons License 2012.12.15 0 0 19615

tbandokukacfreemailponthu

Előzmény: artv (19614)
artv Creative Commons License 2012.12.15 0 0 19614

Szia,

 

Szép munka, tényleg.

 

Sajnos, csak az L oszloptól tudok felvenni segédoszlopokat a data részhez egyáltalán nem nyúlhatok. + Sajnos a kritérium mezőt nem használhatom, főleg, hogy szűrésnél bármelyik mezőre szűrhet, nem csak termékre...

 

Bizony sok kérdésem van....

Hova tudok neked írni privibe...

Az én mail címem.... forewn@index.hu

 

Várom... :)

 

Üdv

artv

Előzmény: tbando (19613)
tbando Creative Commons License 2012.12.14 0 0 19613

Mindenesetre egy szóval igen.. ez lenne a megoldás, csak olyan speckó képlettel a G,H,I oszlopokban ami autoszűrésnél is működik...

 

Nos, csináltam egy ilyet. Ráadásul nem csak a számítások veszik figyelembe az autoszűrést, de a diagram is igazodik az autoszűréshez. Frankón. Ez ugyan az excel érdeme, de azért én is meg vagyok elégedve magammal :))).  Remélem a barátod meg meg lesz elégedve veled. Felraktam a data.hu-ra. Sok sikert hozzá. Ha valami kérdésed lenne a működésével kapcsolatban, csak szólj. De nem hiszem, hogy lenne, mert elég részletes magyarázatokat fűztem hozzá a w16 cellától.

 

A letöltő link : http://data.hu/get/5940557/artv-autofilter.xlsx

 

Előzmény: artv (19606)
Sánta Kutya (SK) Creative Commons License 2012.12.14 0 0 19612

Köszi szépen a gyors választ!

Előzmény: Törölt nick (19610)
grja Creative Commons License 2012.12.14 0 0 19611

Kicsit módisítottam a dolgon, felvettem két új változót és:

 

                ...

                Workbooks("Munkafüzet1.xls").Worksheets("tabelle2").Cells(UtsO, 1) = Megvan
                Workbooks("Munkafüzet1.xls").Worksheets("tabelle2").Cells(UtsO, 2) = strAdat
                UtsO=UtsO+1

                ...

A túlcsordulás abból adódott, hogy a for next ciklusban az i-re megadott integer kevés volt, most dupla...

Most már szépen működik a dolog!

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

Előzmény: Törölt nick (19586)
Törölt nick Creative Commons License 2012.12.14 0 0 19610

Remélem ez megteszi. A ThisWorkbook modulba kell bemásolni. Hátránya, hogy csak akkor fut (nyilván), ha a user engedélyezi a makrókat.

 

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If Sheets("Sheet1").Range("B15") = "" Then
    MsgBox "Kérlek töltsd ki a B15-ös cellát, mielőtt kilépsz!"
    Application.Goto Sheets("Sheet1").Range("B15")
    Cancel = True
End If

End Sub

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

Segítséget kérek!

 

Van egy cella, mondjuk B15 (ha nem az, majd átjavítom), ami alapból üres, de le fogom korlátozni egy igen-nem választásra. Kéne egy automatikusan futó makró, amelyik mentési kísérletnél ellenőrzi ezt a cellát, és ha üres, akkor barátságosan, de teljes határozottsággal arra kéri a usert, hogy mentés előtt töltse ki. :-)

artv Creative Commons License 2012.12.14 0 0 19608

Hát igen... azért akadtam le én is....

 

Ezért is ajánlottam fel érte valamennyi összeget... nem kis gondolkodás...mert ez már sok nekem is... Ja és persze makrót sem használhatok...

 

Szóval vannak kritériumok rendesen... :(

Előzmény: tbando (19603)
Retro Image Creative Commons License 2012.12.14 0 0 19607

A legjobb meg az, amikor kombinálod a kettőt. Adatbáziskezelővel szépen előkészíted az adatot, Excellel meg hozzáteszed a csicsát. És mindezt azár gombnyomásra.

:o)

Előzmény: Sánta Kutya (SK) (19605)
artv Creative Commons License 2012.12.14 0 0 19606

Szia... húú megint rengeteget dolgoztál vele....

 

"Megnéztem a felrakott példádat, amelyből nagy nehezen sikerült kihámoznom, hogy különböző szűréseket csinálsz, amelyek időbeli lefutását ugyanúgy akarod értékelni, mint a teljes táblázatét. Tehát ha pl. ing-re és pólóra szűrsz, azt úgy kell elképzelni, hogyha nadrág és pulóver nem lenne, akkor milyen lenne az eredményesség időbeli lefutása."

 

Pontosan így gondolom, és a megoldás grafikon nélküli  része el is fogadható, hiszen működik...csak akinek csinálom sajnos nem hajlandó - pontosabban nem tud és szeretne autoszűrő nélkül - létezni.

A teljes táblázat 1 pici részét másoltam csak ide... ezen kívül még igen sok lekérdezést kell csinálnia. És mivel ott nincs egy fölöttes cellára hivatkozás... működik rendesen.

Csak szemléltetés képpen a teljes táblázat A17:CP607 ig tart. És ebből csak ez a 3 oszlop ami szűrésnél el...sz..ródik. Szóval .....

 

Mindenesetre egy szóval igen.. ez lenne a megoldás, csak olyan speckó képlettel a G,H,I oszlopokban ami autoszűrésnél is működik...

 

Azért ott a pont a részemről és hálás köszönet a segítségért....

Előzmény: tbando (19600)
Sánta Kutya (SK) Creative Commons License 2012.12.14 0 0 19605

"a feladványszerző azt szeretné, hogy minden egyes szűrésnél dinamikusan igazodjanak a szűrési outputokhoz"

Erre alapvetően fel vannak készítve az adatbázis-kezelők, az Accessben pl. frissítő lekérdezésnek hívják.

Egyszer kell megírni, és utána gombnyomásra fut, nem kell többé szűrőkkel vacakolni.

Amiben az Access kevesebb az Excelnél, az a szépen formázott színes-szagos kimenet meg a diagramkészítés. Efféle számításokban viszont jobb, főleg, ha ismétlődnek. A szűréseket Excelben minden alkalommal meg kell csinálni, adatbázis-kezelőben egyszer.

Az viszont igaz, hogy az adatbázisok más filozófia szerint működnek, mint az Excel, és olyan személeti váltást jelentenek, amit a legtöbb embernek nehéz meglépni. Nekem is az volt, de örülök, hogy megtettem.

A konkrét példába nem ástam bele magam mélyebben, de a nagyon bonyolult szűrés és a szűrési eredmény visszacsatolása két olyan indikátor, ami azt mutatja, hogy érdemes elgondolkodni a szemléletváltáson.

Előzmény: tbando (19603)
tbando Creative Commons License 2012.12.14 0 0 19604

Még annyit hozzáfűznék, hogy a táblázatodat célszerű volna egy 0-ik sorral kibővíteni, a termékoszlopba beírni hogy kezdő, a halmozott egyenlegbe az i1-ből az 5729-t, a változás és a valami oszlopokba meg 0-t, valamint a ghi oszlopok képleteit az új helyzetnek megfelelően átalakítani. Továbbá minden szűrésbe a kezdőt is belevenni. Enélkül ugyanis minden szűrésed más bázisról indul.  Az eltérő bázisok ugyan nem okoznak jelentős eltéréseket, de gondltam megemlítem, ha már észrevettem.  

Előzmény: tbando (19600)
tbando Creative Commons License 2012.12.14 0 0 19603

Biztos igazad van. De ha valaki nem ismeri az adatbáziskezelőket csak az excelt, az kénytelen az excellel dolgozni. Azonkívül ez egy olyan speciális probléma, hogy adatbáziskezelővel is elég keserves lehet. Mivel nem az excel adatbáziskezelése okozza a nehézséget, hanem az, hogy az adattábla képletei a szűrésekkor megőrzik az alapviszonyulásaikat, míg a feladványszerző azt szeretné, hogy minden egyes szűrésnél dinamikusan igazodjanak a szűrési outputokhoz. Én sem értek az adatbáziskezelőkhöz, de az a gyanum, hogy erre azok sincsenek igazán felkészítve. 

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

Ilyenkor jövök én az offolásommal, hogy az ennyire összetett lekérdezéseket már sokkal célszerűbb volna adatbázis-kezelőben megoldani. Az ilyen feladatokra rá lehet ugyan erőszakolni az Excelt, ha valaki nagyon szeretné, de nem erre van kitalálva és nem ez a természetes módja.

Előzmény: tbando (19600)
tbando Creative Commons License 2012.12.14 0 0 19601

Szerintem úgy minden további nélkül megcsinálható, hogy a 2. táblázat 1-6 sorára cellánként elvégzed a kiértékelést amikhez persze elég komplikált képletek kellenek, ami ha igaz, beírod amit kell, ha hamis akkor meg üresstring. Persze elég az első sorban veszkődni velük, mert tovább másolhatók. A végén az üresen maradt sorokat törlöd és az első oszlopot újra sorszámozod.

Előzmény: Törölt nick (19599)
tbando Creative Commons License 2012.12.14 0 0 19600

Megnéztem a felrakott példádat, amelyből nagy nehezen sikerült kihámoznom, hogy különböző szűréseket csinálsz, amelyek időbeli lefutását ugyanúgy akarod értékelni, mint a teljes táblázatét. Tehát ha pl. ing-re és pólóra szűrsz, azt úgy kell elképzelni, hogyha nadrág és pulóver nem lenne, akkor milyen lenne az eredményesség időbeli lefutása.  Ha valóban ez a feladat, akkor a következőket tudom mondani: Sajnos autófilterrel nem oldható meg, csak special szűréssel. Nem tudom mennyire vagy otthon benne, ha kevéssé, akkor muszáj lesz egy kicsit foglalkoznod vele. Hogy megkönnyítsem a dolgot, kidolgoztam a megoldást, elláttam magyarázatokkal is az L12 cellától, és feltettem a data.hu-ra. A letöltő linkje:    

 

http://data.hu/get/5937338/artv-specfilter.xlsx.

 

Azért annyit szólj vissza, hogy eltaláltam-e a feladatot vagy sem.

 

Előzmény: artv (19591)
Törölt nick Creative Commons License 2012.12.13 0 0 19599

Üdv ismét mindenkinek!

 

 

Újra segitséget kell kérnem, ugyanis ez a táblázat kifogott rajtam.

 

 

 

http://kepfeltoltes.hu/view/121213/558527884help_www.kepfeltoltes.hu_.jpg

 

 

A képen látható 2 táblázat.

A felső mondjuk a munkalap1-en mig az alsó a munkalap 2-n található

A munkalap2 táblája egy olyan összefoglaló táblázat amely a munka1 táblázat sorait, azoknak "kulcs" oszlopában található értékei alapján gyűjti össze, úgy hogy a kritérium az hogy a "kulcs" oszlop tartalmazza a "zöld" szót. Ha a "kulcs" oszlop nem tartalmazza a "zöld" szót, vagy más "szint" tartalmaz, nem kerül be 2. táblázatba.

A 2.táblázat tartalmazza az első "dátum", "nap", "Érték" oszlopait és a felsorolást a dátum oszlop értékei szerinti növekvő sorrendben állitja föl, úgy hogy az egymást követő sorok között nem marad üres hely!!

 

 

A 2. táblázatban a név1,név2, névstb oszlopok egymástól függetlenül szerepelnek, DE a "szöveg" oszlop mindegyikkel kapcsolatban van:

 

Ha a 2. táblázat 1. sorának név 1 oszlopában van érték, akkor a táblázat "szöveg" oszlopa az 1. sorban tartalmazza az első táblázat név1 rész "szöveg" cellájának tartalmát.(kép alapján talán egyértelműbb)

Ha azonban a 2. táblázat valamely sora mind a név 1 mind a név 2 (és igy tovább) oszlopok metszésében tartalmaz "értéket" akkor a sor "szöveg" cellájában minden oszlop szövegének benne kellene lennie. (képen szintén látszik)

 

nem tudom hogy lehetséges e egyáltalán ilyet csinálni, de ha igen és valaki tud benne segiteni akkor nagyon hálás lennék.

 

 

KÖSZÖNÖM

artv Creative Commons License 2012.12.13 0 0 19598

Igen ez jónak tűnhet, csak az nem világos ezt hogy tudom alkalmazni az 1.xls-ben amit feltöltöttem. Egészen pontosan a G, H és I oszlopokra..???

 

üdv

 

artv

Előzmény: SQLkerdes (19593)
Törölt nick Creative Commons License 2012.12.13 0 0 19597

Egyszerűen Zseni vagy!

 

Erre gondoltam! Köszönöm!!!!

 

 

Előzmény: Retro Image (19582)
Redlac Creative Commons License 2012.12.13 0 0 19596

De hülye vagyok...

ez a felhasználónév magában az Excelben van tárolva és nem a Számítógép bejelentkezésében, így az átírható

 

Akkor semmi :-)

Előzmény: Redlac (19595)
Redlac Creative Commons License 2012.12.13 0 0 19595

Sziasztok van már egy kódom:

 

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Not Intersect(Target, Range("J28:J127")) Is Nothing Then

Target.Value = Application.UserName

Cancel = True

End If

End Sub

 

A felhasználónevek sajnos csak annyi, hogy "kovács", vagy "szabó", de azt szeretném, ha a teljes nevet beírná. Tehát, ha a felhasználóneve "kovács", akkor Kovács Istvánt, ha "szabó", akkor Szabó Károlyt stb

 

Akkor a fenti kódba kellene egy select case-t valahogy beszúrni?

<Tycoon> Creative Commons License 2012.12.13 0 0 19594

köszi próbálkozom :)

Előzmény: tbando (19592)
SQLkerdes Creative Commons License 2012.12.13 0 0 19593

Nézz utána a SUBTOTAL (RÉSZOSSZEG?) függvénynek.  Ha a SUBTOTAL első paramétere 100-nál több akkor nem veszi figyelembe az elrejtett cellák tartalmát.

Annyit kell tegyél, hogy minden képletben a pld. B5 helyett a SUBTOTAL(109,B5)-öt használod.  Ekkor a B5 értékét nem veszi figyelembe (nullának veszi) ha a B5 cella rejtett. 

Előzmény: artv (19590)
tbando Creative Commons License 2012.12.13 0 0 19592

Ha az A oszlopot és az első sort úgy töltöd ki, mint a példádban, akkor a C-oszlopban állítsd át a számformátumot 0:00 formátumra, majd c2-től a képletek: $c$1+$a2*60/86400, es akkor a kivánt formatumot kapod. (A 86400 magyarázata hogy egy nap a 86400 sec, mivel 60*60*24=86400

 

A          B                  C

0    Moszkva tér     6:00)

3    János kórház     6:03

5    Budagyöngye     6:05

8    Pasarét            6:08

18  Hüvösvölgy       6:18

 

Ha az A oszlopot időformátumban adod meg, azaz 0:00, 0:03, 0:05 stb, akkor a c-oszlop képletek leegyszerüsödnek:  : $c$1+$a2, stb. Így is a kivánt formátumot kapod.

 

Ha több kezdőponttal is meg akarod kapni az állomási időket, akkor nem elég a c1 továbbmásolása, hanem a teljes c-oszlopot  kell továbbmásolgatnod. Ekkor mindegyik oszlop a saját indulási idejéhez igazodik. 

 

Előzmény: <Tycoon> (19575)
artv Creative Commons License 2012.12.13 0 0 19591

19590-es hozzászólásomban megtalálod..

 

Előre is köszi mindenkinek a fáradozását és idejét...

 

:)

 

Üdv

artv

Előzmény: tbando (19567)

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