Keresés

Részletes keresés

djuice Creative Commons License 2014.10.19 0 0 26032

Ja! Köszi tényleg minden segítséget, viszont ez a makró gondolom csak Excel kompatibilis nem? Próbáltam Libre Officeban is megnyitni de ott nem működött. Nem reklamálásként mondom persze, csak én ezt a funkciót sose használtam a táblázatkezelőkben. Viszont arra gondoltam, hogy ha Excel makrót át lehet exe-re fordítani, akkor akár egy kimeneti szövegfájlba is tudna dolgozni, azt meg a Word is jobban kezelhetné helyesírásilag. Persze az értelmes szavak kiválogatása még ott is kérdés maradna. Na nem kotnyeleskedek inkább csak eszembe jutott ez-az. :)

Előzmény: pimre (26028)
djuice Creative Commons License 2014.10.19 0 0 26031

A sortörés cellán belül opció hosszú mondatokra megoldja szerintem mert ott automatikusan az adott 1 sor magasságát beállítja magának. De ilyen számlázósdit nem Accessel szoktak csinálni?

 

Pimre,

Teljesen igazad van, a kék szóban nincs 2 é. Ezt jól benéztem. :)

Előzmény: Locksmithvill (26029)
Fferi50 Creative Commons License 2014.10.19 0 0 26030

Szia!

 

"Milyen megoldás létezik arra, hogy soronként különböző cellaszéllességeket tudjak beállítani? "

 

Legjobb tudomásom szerint az excel celláinak szélességét /és magasságát/ nem lehet egyedi méretre állítani, csak az egész oszlop/sor méretét.

 

De ahhoz, hogy "űrlapszerűen nézzen ki", nem kell a szélességet állítani szerintem. A cella szegélyeket szabadon állítgathatod és így a két-három cellába átnyúló nevek úgy néznek ki, mintha egy cellában lennének  (a két/három cellát keretezed egyben, a közte levő elválasztóvonalat meg "eltünteted").

Ezen kívül az oszlop és sorfejléceket (A, B, ill. 1,2 stb.) is el lehet tüntetni az excel beállításainál.

 

Ha ezek nem adnak megfelelő "látványt", akkor nem marad más hátra, mint saját űrlapot csinálni a számodra megfelelő elrendezéssel.

 

Üdv.

Előzmény: Locksmithvill (26029)
Locksmithvill Creative Commons License 2014.10.19 0 0 26029

Üdv!

 

Nem találtam se keresőben se súgóban a problémámra megoldást, szeretnék egy olyan excel táblát létrehozni ami hasonlóan néz ki mint a számlázóprogramok által jól ismert felosztás:

-Felül kiállító és megrendelő külön cella, 

-alatta dátumok külön cellák,

-alatta megnevezés,mennyiség, mennyiségi egység, nettó ár stb. 

 

Cella egyesítéssel borzalom, minden több mondatos megnevezésnél cellát kellene egyesítgetnem, de ha a cella szélességét húzom szét akkor a felső sor a kiállító/megrendelő arányosítottan középen szétosztottt része esik szét.

 

Milyen megoldás létezik arra, hogy soronként különböző cellaszéllességeket tudjak beállítani?   

pimre Creative Commons License 2014.10.19 0 0 26028

Jaj de elhamarkodtam ezt a választ. Hiszen a "kék" szóban az "éé" variáció nem fordulhat elő. Ezzel nem lesz dolgom.

 

A függőleges listázást ettől még megnézem. 

Előzmény: pimre (26027)
pimre Creative Commons License 2014.10.19 0 0 26027

Igazad van, ezek szerint nem tökéletes a megoldás.  Holnap megnézem, hogy maradhatott ki ez a lehetőség. Nyilván javítani kell az algoritmust. 

 

Ezen felül átgondolom, hogyan lehetne függőlegesen rendezni az eredményeket. Ott néhány tízezer variációt is létre lehet hozni egy oszlopban. Szerintem ehhez is elég lesz 1-3 nap.

Előzmény: djuice (26026)
djuice Creative Commons License 2014.10.18 0 0 26026

Nagyon köszi! Örülök hogy valaki kihívásnak találta a példát. ;)

Viszont beírtam hogy: "kék" és erre nem vesz végig minden lehetőséget.

 

Íme:

kké kék ékk kk ké ék

Pl. az éé variációt lehagyta. Mondjuk nem értelmes, de így nem teljes a variáció sem.

Függőlegesen tényleg jobb volna listázni, azt hogy kell megoldani?

 

Köszi!

 

 

Előzmény: pimre (26025)
pimre Creative Commons License 2014.10.17 0 0 26025

Szia, egy kicsit kései válasz, de hátha segít. A feladatot nemhogy lehetetlen makró nélkül megoldani, hanem még makróval is nagyon nehéz. De mivel tetszett a feladat, megpróbáltam. És végül sikerült.

 

Az általad küldött képernyőhöz írtam a programot, ami automatikusan lefut, ha beírsz egy új szót. Itt a program:

http://data.hu/get/8143449/betu_variaciok_c.xls

 

A képernyődön pirossal írt szövegedet áttettem alulra, így az egyes általad írt darabszámokhoz kapcsolódóan megjelennek a hozzá tartozó variációk. Persze csak akkor annyi, ha nincs betű ismétlődés. Mert például az "alma" szóból nem lehet kirakni 24 db különbözőt, csak 12 db-ot. Az a betű ismétlődése miatt.  Ha az ismétlődőket is látni szeretnéd (tehát a 2 db a-t nem tekinted azonosnak, akkor Alt+f11-re megjelenik a program, és annak az 5. sorában a "ismetlodoiskell As Boolean = False" szövegben a False helyett írj True-t.

A megjelenő variációk fölé sorszámokat írtam, hogy könnyebben tudd ellenőrizni azok számát.

 

Természetesen ezzel a kiírási módszerrel legfeljebb 5 karakteres szavakat tudsz értékelni, mert a hatbetűshöz már 720 elem kellene, ami nem fér el vízszintesen a táblázatban. Persze, ha kell meg tudjuk oldani függőlegesen is, úgy tovább lehet menni.

 

Egy kis szakmai nyalánkság: A program amikor megkapja feldolgozásra a stringet, akkor először permutálja a teljes szót, majd ismétlés nélküli kombinációval megkeresi az ennél eggyel, kettővel stb. kevesebb betűt tartalmazó stringeket, és mindegyiket permutálja. Ehhez a számítástechnika egyik legszebb alkalmazási területét hívja segítségül, a rekurzív függvényhívást, azaz amikor egy függvény saját magát hívja meg.

 

A kombinációs és permutációs ciklusok megvalósítása nem saját kútfőből történt. Az elvet tudtam, de a konkrét megvalósításhoz segítség kellett. Innen vettem: http://www.ne.jp/asahi/math.edu/ami/myprog/jk_eng.htm. Az itt megadott fájlt letöltöttem, a változóneveket magyarítottam, és a programot a feladatunkhoz igazítottam. És élveztem. Jó kis kihívás volt.

Előzmény: djuice (25983)
Vax Creative Commons License 2014.10.17 0 0 26024

Félreértettél. Nem meggyőzni akartalak, csupán egy másik megoldást mutatni a problémára. Ha nem neked, másnak. Ebben a topikban előfordul néha, hogy hamarabb megszületik a válasz, mint ahogy felmerül a kérdés.
Annyit még elmondanék, nem annyira neked, inkább csak a téma lekerekítése miatt, hogy éppen az ilyen naplószerű táblák kezelésében van némi tapasztalatom. Meggyőződésem, hogy az Excel egyik nagy erőssége a kimutatás, aminek a kedvéért érdemes sok felad kiindulását naplószerűvé alakítani.
Kényelmetlen frissíteni? Gondoskodni kell róla, hogy ne legyen az.

Üdv.

Előzmény: Törölt nick (26021)
Sánta Kutya (SK) Creative Commons License 2014.10.16 0 0 26023

Ha István előbb ír, meg se szólalok. :-)

Előzmény: Törölt nick (26015)
Eredő Vektor Creative Commons License 2014.10.16 0 0 26022

Nem kényszerűség, ki lehet kapcsolni a beállításoknál ezt a függvényt.

Előzmény: Törölt nick (26018)
Törölt nick Creative Commons License 2014.10.16 0 0 26021

Oké, igyekszem észben tartani. Ha legközelebb szükség lesz rá, kipróbálom. Ezt most már megoldottam másképp, ráadásul a kolleginának, aki használni fogja, jobban esik az automatikus frissülés, mint ha neki kellene mindig frissíteni a kimutatást.

Előzmény: Vax (26020)
Vax Creative Commons License 2014.10.16 0 0 26020

Lehet. Én mégis innen közelíteném meg. Úgy értettem a kérdést, hogy egy adott névhez tartozó legnagyobb dátumot-, és a hozzá tartozó megjegyzést keresed. Ennek pedig semmi akadálya. A kimutatás celláira hivatkozni lehet, akár FKERES függvénnyel is.

 

Ha a másik táblában be vannak drótozva a nevek, akkor is megtalálható a keresett sor.

(Persze lehet, hogy azt a táblát másképpen képzelem, mint te.)

A KIMUTATÁSADATOT.VESZ függvény többféleképpen is megkerülhető, ha kell.

Előzmény: Törölt nick (26018)
Fferi50 Creative Commons License 2014.10.16 0 0 26019

Szia!

 

Szerintem az index - hol.van függvénypáros a kimutatások esetében is "csodákra képes". Én nem szoktam használni a kimutatásadatot.vesz függvényt (csak a makrórögzítés akarja "rámerőltetni" mindig...).

 

Üdv.

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

Ó, én nagyon szeretem a kimutatásokat, csak nem ebben az esetben. Itt ugyanis a kapott adatokat még további képletek dolgozzák fel, amelyeket a KIMUTATÁSADATOT.VESZ függvény használatának kényszerűsége szükségtelenül körülményessé és olvashatatlanná tesz.

Előzmény: Vax (26017)
Vax Creative Commons License 2014.10.16 0 0 26017

Megfontolásra javasolnám a kimutatás lehetőségeit is. Egy vázlat: [link]

Előzmény: Törölt nick (26015)
Törölt nick Creative Commons License 2014.10.16 0 0 26016

Igen, ilyen megoldást kerestem. Szerencse, hogy másnak van ideje gondolkodni :-)

Köszönöm.

Előzmény: E.Istvan (26011)
Törölt nick Creative Commons License 2014.10.16 0 0 26015

Igen, igen, ez jogos, csak törekszünk az eleganciára, amiért viszont a segédoszlopok használata kerülendő. Meg az, mint említetted, bevisz egy újabb hibaforrást a rendszerbe.

Azért kösz.

Előzmény: Sánta Kutya (SK) (26010)
E.Istvan Creative Commons License 2014.10.16 0 0 26014

Példának a "Munka1" munkalapon lévő tagolások engedélyezéséhez az alábbi kódot kell betenni a ThisWorkbook eseményei közé:

 

Private Sub Workbook_Open()
    ThisWorkbook.Sheets("Munka1").EnableOutlining = True
    ThisWorkbook.Sheets("Munka1").Protect Password:="jelszo", userinterfaceonly:=True
End Sub

 

Ha a felhasználó engedélyezi a makrók futását a tábla megnyitásakor, akkor a védett "Munka1" lapon tudja használni a már létező tagolásokat. Azokat módosítani, vagy újakat létrehozni továbbra sem tud.

Előzmény: Eredő Vektor (26007)
Eredő Vektor Creative Commons License 2014.10.16 0 0 26013

Gondoltam

:(

Köszönöm a választ.

(A makrót kerülnöm kell, sokan fogják használni a fájlt)

Előzmény: Fferi50 (26008)
E.Istvan Creative Commons License 2014.10.16 0 0 26012

Az ellenőrzést is beépítve az alábbi tömbképlet:

 

=HA(SZUM((Munka1!$A:$A=Munka2!$A1)*(Munka1!$B:$B=Munka2!$B1))=1;ELTOLÁS(Munka1!C1;SZUM((Munka1!$A:$A=Munka2!$A1)*(Munka1!$B:$B=Munka2!$B1)*SOR(Munka1!$A:$A))-1;0);"")

 

Előzmény: Törölt nick (26009)
E.Istvan Creative Commons License 2014.10.16 0 0 26011

Munka1 fül A oszlop nevek, B oszlop dátumok, C oszlop megjegyzések

Munka2 fül A oszlop kiválasztott név, B oszlop kiválasztott dátum C oszlop alábbi tömbképlet CTRL+SHIFT+ENTER bevitellel

 

=ELTOLÁS(Munka1!C1;SZUM((Munka1!$A:$A=Munka2!$A1)*(Munka1!$B:$B=Munka2!$B1)*SOR(Munka1!$A:$A))-1;0)

 

Termézsetesen arra vigyázni kell, hogy az eredeti adatbázis ne legyen redundáns, ha ugyanaz a név és dátum többször is előfordulhat, akkor egy másik oszlopban egy darabhatöbb függvénnyel ellenőrzini kell, hogy mennyi rekord teljesíti a feltételt és csak akkor engedélyezni a fenti képletet, ha az eredmény 1

Előzmény: Törölt nick (26009)
Sánta Kutya (SK) Creative Commons License 2014.10.16 0 0 26010

Mivel ez is olyan probléma, ami adatbázis-kezelőben csuklóból megoldható, afelé keresném a megoldást is, tehát legyen a soroknak egy elsődleges kulcsuk. Vagy egy növekvő sorszám egy rejtett oszlopban, vagy (feltéve, hogy egy ember egy nap csak egyszer) egy név & dátum összetétel ugyancsak rejtett oszlopban. Erre már könnyen lehet indexholvannal keresni. A nehézség, hogy figyelni kell a rejtett oszlopok kitöltésére is.

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

Sziasztok!

Adott egy táblázat a Munka1-en:

- az A oszlop munkavállalók neveit tartalmazza,

- a B oszlop dátumokat, hogy ki mikor volt üzemorvosi vizsgálaton

- a C oszlop az üzemorvosi vizsgálathoz kapcsolódó esetleges megjegyzéseket.

 

Ezt a táblázatot naplószerűen vezetjük, tehát az új sorok mindig jönnek a meglévők alá.

Egy másik munkalapon (Munka2-n) van egyfajta kigyűjtés: melyik ember mikor utoljára orvosnál. Más szóval, ha a Munka1 A oszlopából kiválasztok egy nevet, az ahhoz tartozó legkésőbbi dátum a B oszlopból. Ez eddig megvan sima beépített függvények segítségével. Amivel gondom van, az az, hogy hogyan tudnám a C oszlop vonatkozó sorának tartalmát is kinyerni. Van erre valami ötlet?

 

UDF-fel természetesen meg tudnám oldani, de az most nem jó, beépített függvényekkel kellene.

Fferi50 Creative Commons License 2014.10.15 0 0 26008

Szia!

 

Szerintem csak makróval - feloldod a lapvédelmet, megcsinálod a tagolást, majd visszazárod a lapvédelmet. Esetleg makróból csinálsz tagolás szerű soreltüntetéseket + gombocskákat. A lapvédelem bekapcsolásakor megadhatod, hogy lehet-e formázni a sorokat, oszlopokat.

 

Üdv.

Előzmény: Eredő Vektor (26007)
Eredő Vektor Creative Commons License 2014.10.15 0 0 26007

Sziasztok,

excel 2003

Lapvédelemmel lehet valahogy a tagolás funkciót használni?

hellsing Creative Commons License 2014.10.15 0 0 26006

Ott a pont!

Előzmény: marek.z (25996)
marek.z Creative Commons License 2014.10.15 0 0 26005

Szivesen.

Előzmény: Mánc Tihamér (26004)
Mánc Tihamér Creative Commons License 2014.10.15 0 0 26004

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

marek.z Creative Commons License 2014.10.15 0 0 26003

Az If ActiveCell.Vallue=ActiveCell.Offset(-1,0)Value Then-nél Syntax errort mutat.

A második Value elől valami megette a pontot. Helyesen:

ActiveCell.Vallue=ActiveCell.Offset(-1,0).Value Then

 

A B és A oszlop celláit a benne lévő értékektől függetlenül ugyanúgy kellene összevonja, mint a C celláit.

Itt könnyen adatvesztés lehet mert a cellák összevonása esetén csak a tartomány bal felső cellájának értéke marad meg. A C oszlopnál ez nem gond hiszen ot feltétel, hogy azonos legyen a cellaérték. Ha ez nem okoz gondot akkor próbáld ki ezt:

 


Sub osszevon()
Application.ScreenUpdating = False
Application.DisplayAlerts = False

 

Cells(Range("C" & Rows.Count).End(xlUp).Row, 3).Select
    Do While Not ActiveCell.Row = 1
        If ActiveCell.Value = ActiveCell.Offset(-1, 0).Value Then
            Range(Cells(ActiveCell.Row, 3), Cells(ActiveCell.Row - 1, 3)).Merge
            Range(Cells(ActiveCell.Row, 2), Cells(ActiveCell.Row - 1, 2)).Merge
            Range(Cells(ActiveCell.Row, 1), Cells(ActiveCell.Row - 1, 1)).Merge
        End If
    ActiveCell.Offset(-1, 0).Select
    Loop

 

Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

 

Előzmény: Mánc Tihamér (26002)

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