Keresés

Részletes keresés

Törölt nick Creative Commons License 2007.12.06 0 0 6433
Szia!
Használd a KICSI, NAGY, SORSZÁM függvényeket.
A legritkábbra most kapásból nem tudom a választ de más nem mondja meg utánanézek.
Elvileg: {=MIN(DARABTELI(A1:A13;A1:A13))} tömbképlet megadja ezt is
Előzmény: cikola3 (6432)
cikola3 Creative Commons License 2007.12.06 0 0 6432

Helló Exel  tudorok

 

Van egy jó  nagy táblázatom véletlenszerű számokkal  feltöltve.

A  "módusz"  függvénnyel sikerült megtalálni a leggyakrabban elfordulót.

Hogyan  lehetne megkeresni a 2.-ik , 3.-ik , n.-ik  legyakoribbat , vagy akár a leg ritkábban előfordulót?

Köszi a segítséget.

Törölt nick Creative Commons License 2007.12.05 0 0 6431

Sziasztok!

 

Azt szeretném megkérdezni, hogy mi okozhatja egy sima excel fájl megnyitásakor a "Fájlhiba:az adatok elveszhetnek" hibaüzenetet.

Az érdekes az, hogy csak akkor jelenik meg ez az üzenet, ha egy adott gépről (mindig erről a gépről ) valaki előzőleg már megnyitotta ugyanezt a fájlt, esetleg beleírt egy értéket (mondjuk egy cellához megjegyzést szúrt be), majd elmentette és bezárta. Ezután több különböző gépről már csak a fent leírt hibaüzenettel lehet a fájlt megynyitni (érdekes, hogy vannak olyan gépek is amelyek simán, hibaüzenet nélkül nyitják meg). Vajon mi lehet ennek az oka?  

 

Előre is köszönöm

 

Goosnargh Creative Commons License 2007.12.05 0 0 6430
Természetesen megengedhető a nagybetűsítés de nem csak ez alkalommal szeretném elsikálni a problémát : Ha ez tényleg így van ez egy komoly gond lehet.
Ilyen kivételej nem szabadna, hogy legyenek hibaüzenet nélkül
hiszen a mezei user ráhagyatkozik az excelre.

Pénzügyi-kontrolling területen azért néhány szót rövidítünk pc-vel.
( számítógépnek, profit center, production cost stb. )
Ez mellé azért sanszos hogy valaki még odabiggyeszt egy S-sel kezdődő szót, szórövidítést.

Konkrét éles esetben amikor nincs mód, idő keresztellenőrizni akkor azért ez okozhat ez némi gondot.

Ezenfelül ki tudja, hogy vannak más betűkombinációk is aminél elfogadod, hogy a SZUMHA nem összesített semmit közben pedig kellett volna.

Most nézem FKERES sem működik rá ...
Előzmény: Delila669 (6426)
nuq5let Creative Commons License 2007.12.05 0 0 6429
Köszi, szuper!
Előzmény: Jozsef (6428)
Jozsef Creative Commons License 2007.12.05 0 0 6428
Magyarul KITEVŐ függvény e alapú exponenciális függvény.
Előzmény: nuq5let (6427)
nuq5let Creative Commons License 2007.12.05 0 0 6427

sziasztok!

 

Abban szeretném a segítségeteket kérni, hogy mi modon lehetne az exponencinális függvényt létrehozni excelben? Az =exp(szám)  parancs sajnos nem működik. Vagy saját függvényt kell rá írni?

 

Delila669 Creative Commons License 2007.12.05 0 0 6426

Az én régi rongyos 2000-resemben még nem rontották el ezt a funkciót.

Megengedhető esetleg a nagybetűre váltás a fájlodban (=nagybetűs)?

Jobb ötletem nem lévén...

Előzmény: Goosnargh (6425)
Goosnargh Creative Commons License 2007.12.05 0 0 6425
Nem - teljesen ugyanaz a hossz.
+ kapásból csináltam egy egyszerű minta file-t tesztelni :

forrás tábla PCS - sel kezdődő bármily sorát nem találom meg az összegző táblázamból ha ott pcS-sel kezdődik amire szumházok.

Nekem 2007-es magyar office-om van de kipróbáltam a kolláganőm 2003-as magyar office-ával és ott sem működik.
Előzmény: Delila669 (6424)
Delila669 Creative Commons License 2007.12.05 0 0 6424

Nézd már meg, amúgy egyeznek-e a karakterek, nincs-e előtte, utána szóköz (pl. HOSSZ függvénnyel).

 

Nálam a magyar nyelvű nem tesz különbséget a kis- és nagybetű között.

Előzmény: Goosnargh (6423)
Goosnargh Creative Commons License 2007.12.05 0 0 6423
( kis "p" - kis "s" - nagy "S" )

elnézést : ( kis "p" - kis "c" - nagy "S" ) -t akartam írni.
Előzmény: Goosnargh (6422)
Goosnargh Creative Commons License 2007.12.05 0 0 6422
Üdvözlök Mindenkit !

Érdekes dolgot vettem ma észre:

Kaptam egy excel file-t havi pénzügyi számokkal angol excel-lel dolgozó
kollégámtól. Megnyitottam a magyar excel-lel és meglepve tapsztaltam, hogy nálam más a végösszeg.

A táblázat alapvetően szumha függvényekkel szedi össze más táblázatokból az eredményeket.

Egy cella okozta az eltérést.
Eddig úgy tudtam, hogy a szumha kis-nagybetűt nem különböztet meg.

Most viszont az eredménytáblámba "pcStationery"-re szumházva a forrás file
"PCStationery" sorait nem összegzi.

Ez a pcS ( kis "p" - kis "s" - nagy "S" ) valami vezérlőkarakter ?
Vannak még más ilyenek is ?

Angol excelben miért nem gond ez - miért csak a magyarban ?

Elnézést ha ez a téma már volt ezen a fórumon, most nincs időm visszaolvasni. Köszönet minden tanácsért !
Törölt nick Creative Commons License 2007.12.03 0 0 6421
A leírásból sajnos nem tudok okos lenni, de ha elküldöd email-ben, megnézem.
Előzmény: byszka11 (6416)
toccata Creative Commons License 2007.12.02 0 0 6420
No igen. Minden viszonylagos. Kinek mi a szemét, és mi a hasznos.
Bizonyára vannak esetek, amikor jól jön(nek) eme funkció(k) - már ha júzer egyáltalán ismeri őket -, és vannak esetek, amikor feleslegesek.
Ám ez a topic nem erről szól.
Előzmény: Delila669 (6419)
Delila669 Creative Commons License 2007.12.02 0 0 6419

Az elmentett szemetek között van egy hasznos is.

Az újból megnyitott fájlban a Shift+F5 az utolsó beviteli helyre pozicionálja a cursort, ami nagy méretű dokumentumoknál jól jöhet.

Előzmény: toccata (6418)
toccata Creative Commons License 2007.12.02 0 0 6418
Sajnos mind a Word-nek, mind az Excel-nek sajátossága, hogy sok szemetett is elment a fájlokba.
Nálam már sok alkalommal segített, hogy egy M$ fájlt OOo-val (OpenOffice.org-gal) nyitottam meg, aztán vele ismét elmentettem open document formátumban is, és M$ formátumban is. Mindenféle változtatás nélkül.
Az open document formátum eleve tömörített, így kisebbek a fájlméretek, csakhogy a M$ programok nem tudják kezelni őket. :(
Ám a legtöbb esetben a M$ formátunban is lecsökkentek a fájlméretek. Volt, amikor kevesebb, mint a fele lett. A szemét nem lett elmentve.
Próbáld ki!
Előzmény: maagnes (6412)
Delila669 Creative Commons License 2007.12.02 0 0 6417

Megér egy próbát, mentsd el más néven a dokumentumot.

 

A Wordnek megvan az a sajátossága, hogy a doc eltárolja a benne végzett módosításokat, amik növelik a méretét. Ha az új fájl mérete kicsi, OK. Ha nem, akkor egy újonnan megnyitott doc-ba másold át a régi szövegét, mentsd el, ezután csatolj.

 

Mivel sok diagramot kell csatolnod, érdemes az első csatolást makróra rögzíteni, billentyű kombinációt rendelni hozzá, és a többit már ezzel csatolni.

byszka11 Creative Commons License 2007.12.01 0 0 6416
Sziasztok!

Egy kis segítséget szeretnék kérni.

Adott egy Form, melyen van egy Combobox, melynek a Text-e alap állapotban üres. Labelekben megjelennek különböző adatok, melyek a Combobox értékétől függnek. Gombnyomásra megnyílik egy másik Form, ahol a Labelekben megjelenő értékeket lehet módosítani a "Lezárás" gombbal. Amennyiben a Combobox üres, nincs is baj, de ha nem akkor a Combobox folyamatában hibát jelez. A probléma az, hogy egy olyan munkalapon próbálja végrehajtani a feladatot ami nem is szerepel a Combobox eseményében. A konkrét kérdés igazából az, hogy a Combobox Click eseménye miért fut le amikor nem is történik benne változás és nem is kattintok rá csak egy másik Form bezárul, vagy ha ez mindenképpen lefut, hogyan lehet, hogy olyan munkalapra megy, ami nem is szerepel az eseményben.

Előre is köszönöm.
maagnes Creative Commons License 2007.12.01 0 0 6415
Nagyon köszi, a csatolás tényleg jó lenne (elvileg így próbálom csinálni), de mégsem csökken a fájl mérete - nem tudom, miért.
Előzmény: Delila669 (6414)
Delila669 Creative Commons License 2007.12.01 0 0 6414

A csatolásnak még is az előnye a beillesztéssel szemben, hogy ha az Excelben módosítod a diagramot, a Wordben is annak megfelelően változik.

 

Ha némelyik diagramnál azt akarod, hogy a Wordben a mostani érték maradjon, akkor azokat ne csatold, hanem illeszd be.

Előzmény: maagnes (6412)
Delila669 Creative Commons License 2007.12.01 0 0 6413

Ezt ajánlom:

 

Az Excelben kijelölöd a diagramot, Ctrl+C-vel másolod.

Átváltasz a Wordbe, Szerkesztés/Irányított beillesztés/Csatolás.

 

Így nem a képet (diagramot), hanem csak az útvonalát menti a docba, de az ábrák megjelennek.

 

Ha másik gépre átviszed, ugyanolyan útvonalon legyenek elérhetőek az ábrák.

Előzmény: maagnes (6412)
maagnes Creative Commons License 2007.12.01 0 0 6412

Sziasztok!

 

Számomra rejtélyes ügyben szeretnék segítséget kérni. Excelből Wordbe másoltam át sok diagramot, az eredmény egy 16 MB-os doc lett, nekem pedig kisméretű fájl kellene. Már rájöttem, hogy képként kellett volna átmásolni a diagramokat Irányított beillesztéssel, nem pedig sima vágólappal. Nekiálltam kitörölni az ábrákat és az említett módon újra beilleszteni, de a doc fájl mérete nem változott  - még akkor is 16 MB maradt, amikor minden létező ábrát és szöveget kitöröltem belőle. Meg tudná mondani valaki, hogy hogyan tudnám csökkenteni a méretet úgy, hogy csak az ábrákat cserélem?

 

Előre is köszi!

Törölt nick Creative Commons License 2007.11.29 0 0 6411
Passz. De közben rájöttem, hogy az én megoldásom se jó.
:(
Előzmény: Delila669 (6409)
Delila669 Creative Commons License 2007.11.29 0 0 6410

Igen, beszedi.

Talán ez úgy-ahogy elfogadható:

 

    Selection.FormatConditions.Delete
    Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _
        Formula1:="100", Formula2:="500"
    Selection.FormatConditions(1).Interior.ColorIndex = 3
    Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _
        Formula1:="=""A""", Formula2:="=""z"""
    Selection.FormatConditions(2).Interior.ColorIndex = 3

 

Ha nem is tökéletes, de legalább az üres cellákat nem színezi.

Előzmény: Törölt nick (6408)
Delila669 Creative Commons License 2007.11.29 0 0 6409

Egy a baj az adatérvényesítéssel. Makróból történő feltöltésnél bármit elfogad.

Vajon miért?

Előzmény: Törölt nick (6405)
Törölt nick Creative Commons License 2007.11.29 0 0 6408
Ezzel az a probléma, hogy a

Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _
Formula1:="=""chr(64)"""

szűrő mindent átenged, aminek az első karaktere chr(64)-nél kisebb.
Pl. "#", " ", "3vnsfgder"
Ezek mind átmennek. Attól függően, hogy az 1-2. feltételben beállított számhatárok micsodák, ezek a karaktersorozatok átmehetnek mind 3 szűrőn, és nem lesznek pirosak.
Előzmény: Delila669 (6407)
Delila669 Creative Commons License 2007.11.29 0 0 6407
Sajnos, ezt nem tudom, azt viszont igen, hogy a második feltételnél nem chr(65), hanem chr(64) kell (A betű).
Előzmény: Törölt nick (6402)
Törölt nick Creative Commons License 2007.11.29 0 0 6406
Igen, ez is egy jó megoldás lehet. A helyzet az, hogy kezdő vagyok, most tanulgatom az excel és a makrózás fortélyait...
Előzmény: Jozsef (6403)
Törölt nick Creative Commons License 2007.11.29 0 0 6405
Bingó!
Van még köztünk, aki gondolkodik is :))
Előzmény: Jozsef (6403)
Törölt nick Creative Commons License 2007.11.29 0 0 6404
Köszönöm szépen! Tökéletesen működik, de az üres cellát ez is kipirosozza.
Előzmény: Törölt nick (6401)
Jozsef Creative Commons License 2007.11.29 0 0 6403
Cells(2,2).Value = 3 ), majd a makró futása után (a táblázat felhasználásakor) "jelezzen a cella", ha esetleg valaki szám helyett szöveget írna ide.

Bocs, de nem inkább érvényességi feltételt kellene beállítani erre cellára, nem feltételes formázást?! Ilyenkor a szöveget be sem engedné írni a cellába. (Normál Excelben Adat/Érvényesítés menüpont, de le is makrózható)
Üdv
József
Előzmény: Törölt nick (6399)
Törölt nick Creative Commons License 2007.11.29 0 0 6402
Köszönöm, már csak az a probléma, hogy ez a megoldás az üres (érték nélküli) cellát is pirosozza. Lehet ezen finomítani?
Előzmény: Delila669 (6400)
Törölt nick Creative Commons License 2007.11.29 0 0 6401
Az én megoldásom ugyanerre:


Dim Rng As Range, AlsoHatar As Single, FelsoHatar As Single

Set Rng = Cells(2, 2) 'itt állítod be, hogy melyik celláról van szó
AlsoHatar = 1
FelsoHatar = 100

With Rng
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=""<>SZÁM(" & Rng.Address & ")""" 'itt vizsgálja, hogy szám-e
.FormatConditions(1).Interior.ColorIndex = 3
.FormatConditions.Add Type:=xlCellValue, Operator:=xlNotBetween, _
Formula1:=CStr(AlsoHatar), Formula2:=CStr(FelsoHatar) 'itt vizsgálja, hogy a határok között van-e
.FormatConditions(2).Interior.ColorIndex = 3
End With

Előzmény: Törölt nick (6399)
Delila669 Creative Commons License 2007.11.29 0 0 6400

Makrórögzítéssel vittem be. A 100 alatti, az 500 fölötti, és a szöveges értékek hátterét pirosítja ki.  Ha a betűt akarod színezni, az Interior helyett írj Font-ot.

 

    Selection.FormatConditions.Delete
    Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlLess, _
        Formula1:="100"
    Selection.FormatConditions(1).Interior.ColorIndex = 3
    Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _
        Formula1:="500"
    Selection.FormatConditions(2).Interior.ColorIndex = 3
    Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _
        Formula1:="=""chr(65)"""
    Selection.FormatConditions(3).Interior.ColorIndex = 3

Előzmény: Törölt nick (6393)
Törölt nick Creative Commons License 2007.11.29 0 0 6399
Úgy gondoltam, hogy makróból beírok egy számot egy adott cellába ( mondjuk Cells(2,2).Value = 3 ), majd a makró futása után (a táblázat felhasználásakor) "jelezzen a cella", ha esetleg valaki szám helyett szöveget írna ide.
Előzmény: Törölt nick (6397)
toccata Creative Commons License 2007.11.29 0 0 6398
Köszi.
Ki fogom próbálni.
Előzmény: Törölt nick (6395)
Törölt nick Creative Commons License 2007.11.29 0 0 6397
Úgy érted, hogy beállítani a feltételes formátumát egy olyan cellának, ami eme beállítás pillanatában még nem létezik?
Bajos lesz...
Előzmény: Törölt nick (6393)
toccata Creative Commons License 2007.11.29 0 0 6396
Minden lehet.
Nézegettem a beállításokat, de nem emléxom olyanra, hogy sorok vagy oszlopok védelme. Most nincs nálam excel, csak OOo Calc, abban nincs ilyen opció. Majd holnap megnézem a munkahelyemen. De nem is ez a fontosabb, mert ez csak nagyon ritkán fordul elő.
A cella elmozgatás az ami rendszeresen megtörténik, aminek a következtében egy csomó számolás hibát ereményez, és eléggé macerás a visszakeresés, hogy hol kefélődött el a dolog.
Szóval minden ötlet érdekel.
Előzmény: Törölt nick (6392)
Törölt nick Creative Commons License 2007.11.29 0 0 6395
Jajj.
Az első Sub-ból a
Sheets("Munka2").Range("A1") = Sheets("Munka2").Range("A1") + 1
sor törölhető.
Ez csak egy ellenőrző/tesztelő szerepet játszott. Nincs rá szükség.
Előzmény: Törölt nick (6394)
Törölt nick Creative Commons License 2007.11.29 0 0 6394
Szóval valami ilyesmire gondoltam:

Standard kód modulra:

Public ChangedAreas As Long

Sub ChangedAreasInit()
ChangedAreas = 0
Sheets("Munka2").Range("A1") = Sheets("Munka2").Range("A1") + 1
End Sub

Munkalap modulra
Private Sub Worksheet_Change(ByVal Target As Range)
ChangedAreas = ChangedAreas + 1
If ChangedAreas = 2 Then
Application.Undo
MsgBox "Nono. Ne húzgáld a cellákat."
End If
Application.OnTime Now + 1 / 864000, "ChangedAreasInit"
End Sub

Azon alapszik az egész, hogy ha cellamozgatás van, akkor a Worksheet_change esemény 2x hajtódik végre. Egyszer az elmozgatott, egyszer pedig a felülírt cella váltja ki. Ha minden kiváltott eseménynél eggyel növelem a változások számlálóját, akkor a cellahúzás során a számláló értéke kettővel nő. Vagyis, ha az érték 2, akkor cellamozgatás történt. Ekkor a kód végrehajt egy visszavonás (Undo, Ctrl+Z) műveletet. És minden változás után 0.1 másodperccel nullázom a számlálót.

Időzítés problémák esetleg lehetnek.

A cellamozgatás során a 2 change esemény egymás után gyorsan lefut, nincs közte 0.1 másodperc, tehát a számláló eléri a 2 értéket, és a kód figyelmeztet, illetve visszavonja a húzást. A felhasználó viszont valószínűleg nem fog 0.1 másodpercen belül 2 különböző cellát módosítani, ezért a számláló sosem éri el a 2-t, és nem fog a kód téves risztást küldeni.

Ha meg a felhasználó villámgyors, akkor sem történik katasztrófa, legfeljebb egy művelete visszavonódik, és nem érti, hogy miért ne húzgálja a cellákat.
:)

Kísérleteim szerint a sorbarendezés meg a képleteket tartalmazó cellák automatikus frissülése nem zavar be. Más probléma persze előfordulhat, sosem lehet tudni.

Előzmény: Törölt nick (6392)
Törölt nick Creative Commons License 2007.11.29 0 0 6393

Sziasztok!

 

A kérdésem az lenne, hogy makróból be lehet-e állítani egy adott cella (Cells(i,t)) feltételes formátumát, mégpedig azt, hogy az adott cella színe legyen mondjuk piros, ha a futtatás után létrehozott táblázaban valaki szám helyett szöveget vagy adott számtartományon kívüli számot írt a cellába?

 

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

Törölt nick Creative Commons License 2007.11.29 0 0 6392
A sor- és oszlop-törlést nem tudtam reprodukálni. Még ha egy egész oszlopra is megszüntetem a zárolást, akkor sem tudom törölni a védett munkalapon. Viszont a munkalap levédésekor meg lehet határozni, hogy mit tehet és mit nem tehet az, aki nem tudja a jelszót. Itt olyan is van, hogy oszlopok, sorok törlése. Nem lehet, hogy ez van rosszul beállítva nálad?

A cellamozgatás letiltásán még gondolkodom. Van egy tippem, csak még nem tudom, működik-e...
Előzmény: toccata (6390)
Törölt nick Creative Commons License 2007.11.29 0 0 6391
"Egyébként ugyanezt írja a DJCarlos által javasolt link is, amiben nagyon helyesen ajánlja a más formátumú oszlopok azonos formátumúvá konvertálását, viszon az, hogy nem egészíti ki azonos hosszúságúra az egyes oszlopok adatait, hibát okozhat."

Csatlakozom az előttem szólóhoz. Ez az összefűzős módszer az oszlopok adatainak összefűzésével nagyon jó találmány, én is sikerrel alkalmaztam több esetben. Nem csak makróval, hanem képlettel is használható, és egy kis furfanggal megspékelve hihetetlenül egyszerűen meg lehet oldani vele viszonylag bonyolult problémákat.

Amit hozzátennék még 6330-hoz:
1) Nem szükséges különválasztani a feladatot 2 rendezési lépésre. Össze elhet fűzni az F oszlopban A-tól E-ig mind az öt oszlopot, aztán egy lépésben sorbarendezni. Az összefűzés sorrendje az legyen, ami az oszlopok prioritása a sorbarendezésben.
2) A számértékek szöveggé alakítására ezt a javaslatot kaptuk:
=BAL(A1&" ";20)
Ezzel az a probléma, hogy a számok sorrendje így megváltozik. Pl. ha 1-től 10-ig vannak a számok, akkor a sorrend ez lesz: 1, 10, 2, 3, 4, 5, 6, 7, 8, 9. Ez azért van, mert ha jobbra teszem a számok mellé a szóközöket, aztán egyforma méretűre vágom a kapott sztringeket, akkor a számjegyek helyiértéke megváltozhat.
Ha viszont balra teszem a szóközöket, akkor nem. Ezért szerintem a következő képletet kellene alkalmazni a szám sztringgé való alakításakor:
=JOBB(" "&A1;20)


Előzmény: Delila669 (6389)
toccata Creative Commons License 2007.11.29 0 0 6390
Ara tudtok-é valami megoldást, hogy egy munkalap - mely jelszóval védett, de tartalmaz módosítható cellákat is, hogy fel lehessen tölteni adatokkal - celláit az egységsugarú felhasználók ne tudják "elmozgatni" a helyükről?
Illetve, sorokat, oszlopokat ne lehessen törölni? Mert sajnos ez is előfordult már. :(
Delila669 Creative Commons License 2007.11.29 0 0 6389

Az biztos, hogy kissé nehézkes, de jól működik. Sok adattal kipróbáltam, jó az, amit a #6330-ban, és az azt kijavított #6332-ben leírtam.

Egyébként ugyanezt írja a DJCarlos által javasolt link is, amiben nagyon helyesen ajánlja a más formátumú oszlopok azonos formátumúvá konvertálását, viszon az, hogy nem egészíti ki azonos hosszúságúra az egyes oszlopok adatait, hibát okozhat.

Miért gond a makró? A rendezések előtt bekérheted az oszlopok sorszámát.

Előzmény: ndrv (6386)
ndrv Creative Commons License 2007.11.28 0 0 6388
Köszi. :-)
Előzmény: Törölt nick (6387)
Törölt nick Creative Commons License 2007.11.28 0 0 6387
Előzmény: ndrv (6386)
ndrv Creative Commons License 2007.11.28 0 0 6386

Hát igen, de így roppant nehézkes a dolog (főleg, ha makróból csinálod: mert azt nem lehet csinálni, hogy egy parancssorral lerendezed a teljes tartományt, majd egy következő parancssorral újból az egészet a másik 3 kulcs szerint, mert akkor az első rendezettséged felborul és marad a legutolsó rendezettséged. Ezt csak úgy lehet, ha a másodszori rendezést már az első egy meghatározott tartományára végzed el. Itt viszont felmerül a tartomány problematikája, hogy hogy határozod meg előre azt a tartományt, amin belül másodszor rendezni akarsz.)

 

Szumma szummárum, igencsak bekorlátozza ez a max 3 kulcs az excel adatbázisként való használatát...

Előzmény: Törölt nick (6384)
Delila669 Creative Commons License 2007.11.28 0 0 6385

A képlet helyesen:

 

=bal(C1&"                     ";20)&bal(D1&"                    ";20)&E1

Előzmény: Delila669 (6383)
Törölt nick Creative Commons License 2007.11.28 0 0 6384
Három kulccsal lehet közvetelnül rendezni, én is úgy tudom. De akkor többször kell rendezni, pl.  6 kulcs szerint akarsz rednezni egy tartományt, akkor megrendezed az egészet 3 kulcs szerint, majd újból a megrendezett egészet a maradék 3 kulcs szerint.
Előzmény: ndrv (6376)
Delila669 Creative Commons License 2007.11.28 0 0 6383

Ki lehet cselezni a három rendezési kulcsot.

 

Van mondjuk 5 rendezni való oszlopod A:E.

Előbb rendezed C:E szerint. Ezután az F oszlopba beírod:

 

=bal(C1&"                     ";20)&bal(C1&"                    ";20)&E1,

 

majd rendezed A, B és F szerint.

 

 

Előzmény: ndrv (6376)
Törölt nick Creative Commons License 2007.11.28 0 0 6382
Igen, így már kiválóan jelöl, sőt még bővíthető is ;-) Köszönöm szépen!
Előzmény: Törölt nick (6381)
Törölt nick Creative Commons License 2007.11.28 0 0 6381
Asszem kevés a zárójel a végén. Siettem.



Előzmény: Törölt nick (6380)
Törölt nick Creative Commons License 2007.11.28 0 0 6380
Köszönöm, de nálam ez "Compile error: syntax error"-al kiakad. Vajon mi lehet a hiba?
Előzmény: Törölt nick (6379)
Törölt nick Creative Commons License 2007.11.28 0 0 6379
Ja, bocs.

Application.Union(Range(Cells(1, 1), Cells(3, 4)), Range(Cells(14, 5),Cells(18,7)).Select
Előzmény: Törölt nick (6378)
Törölt nick Creative Commons License 2007.11.28 0 0 6378
Application.Union(Cells(1, 1), Cells(3, 4), Cells(14, 5)).Select
Előzmény: Törölt nick (6377)
Törölt nick Creative Commons License 2007.11.28 0 0 6377

Sziasztok!

 

Kérdésem az lenne, hogy a Range("A1:E4, G4:I7, F16:H21").Select kijelölést, hogy lehet megoldani a Range(Cells(1, 1), Cells(4, 5)....?...).Select képlettel.

Nem találom a megoldást.

ndrv Creative Commons License 2007.11.28 0 0 6376

Sziasztok!

 

Akárhogy nézem, rendezni max csak 3 kulccsal tudok (makróban is, nemcsak az excel felületen). Valamit elnézhetek?

Törölt nick Creative Commons License 2007.11.27 0 0 6375

Köszönöm, ezt ismertem, de azt hittem, van valami furfang, amivel be lehet állítani, hogy meg se jelenjen az esetlegesen begépelt szöveg. 

Egyébként, szöveg begépelése esetén az kiabálja vissza, hogy "Érvénytelen a szám"...

Előzmény: Törölt nick (6374)
Törölt nick Creative Commons License 2007.11.27 0 0 6374
Sub számbe()
Dim a
a = Application.InputBox("mennyi?", Type:=1)
MsgBox a
End Sub

A vastagbetűs a lényeg. Ennek ugyan beírhatsz bármit, de Enter után kiabál, hogyha nem számot írtál be, és addig nem enged tovább, amíg nem korrigálsz.

Előzmény: Törölt nick (6373)
Törölt nick Creative Commons License 2007.11.27 0 0 6373
Kérdésem lenne, hogy az InputBox funkciónál meg lehet adni azt, hogy csak számokat lehesen begépelni?
Törölt nick Creative Commons License 2007.11.27 0 0 6372
Igen, ez az, köszönöm.
Előzmény: Törölt nick (6371)
Törölt nick Creative Commons License 2007.11.27 0 0 6371
Formátum menü -> Feltételes formázás
Előzmény: Törölt nick (6370)
Törölt nick Creative Commons License 2007.11.27 0 0 6370

Sziasztok!

 

Kérdésem, hogy egy táblában be lehet-e valahogy állítani a következőt: A1 cella színe mindaddig legyen mondjuk piros (vagy villogjon, mindegy, csak jelezzen), ameddig A1 cella értéke nem egyenlő a B1 cella értékével.

 

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

Törölt nick Creative Commons License 2007.11.27 0 0 6369
Nahát! :)
Köszönöm!!!
Előzmény: Eördögh (6367)
Törölt nick Creative Commons License 2007.11.27 0 0 6368
HKEY_CLASSES_ROOT\Applications\EXCEL.EXE\shell\edit\command
Előzmény: Eördögh (6367)
Eördögh Creative Commons License 2007.11.27 0 0 6367
legközelebb \\-re cseréld, akkor egy megmarad.
Előzmény: Törölt nick (6366)
Törölt nick Creative Commons License 2007.11.27 0 0 6366
Természetesen a "visszaper" (backslash) jelek megint lemaradtak...
Okos ez a fórumszoftver...
Kicserélem #-ra, hátha úgy megmarad.



HKEY_CLASSES_ROOT#Applications#EXCEL.EXE#shell#edit#command
HKEY_LOCAL_MACHINE#SOFTWARE#Classes#Applications#EXCEL.EXE#shell#edit#command
Előzmény: Törölt nick (6365)
Törölt nick Creative Commons License 2007.11.27 0 0 6365
Hát... egy tippem van, de nem vennék rá mérget, hogy működni fog. És nem is tudom tesztelni. Szóval abszolút bizonytalan, de ha nincs más elképzelés, akkor próbáld ki.

Úgy gondolom, hogy valahol a rendszerleíró adatbázisban van definiálva, hogy ha egy külső alkalmazás azt mondja "Excel", akkor mit kell elindítani. A regedit programban rákerestem az excel.exe teljes elérési útvonalára, és ezt a két helyet találtam:

HKEY_CLASSES_ROOTApplicationsEXCEL.EXEshelleditcommand
HKEY_LOCAL_MACHINESOFTWAREClassesApplicationsEXCEL.EXEshelleditcommand

Az itt lévő értékeket kellene szerintem módosítani. Az "alapértelmezett" nevű érték egyértelmű, ide a régi excel verzió elérési útját írd be. Hogy a "command" nevű kriksz-kraksz fontos-e, azt nem tudom, és azt meg végképp nem, hogy mit kellene oda írni. De ezt esetleg megnézheted egy olyan gépen, ahol a régi excel van telepítve.

FONTOS!

Azt bizonyára tudod, hogy az ember nem játszadozik a registry-vel, ha jót akar. Szóval, mielőtt barbrálni kezdesz vele, tegyél meg minden biztonsági intézkedést, hogy vissza tudd állítani az eredeti állapotot, ha valami nem jól sül el.
Előzmény: nkaresz1978 (6364)
nkaresz1978 Creative Commons License 2007.11.27 0 0 6364
Az említett problémára valaki?
THX
Törölt nick Creative Commons License 2007.11.26 0 0 6363
miert nem alakitod ertekke a tombkepletet? v. nem erre gondolsz?
Előzmény: syrius (6361)
Törölt nick Creative Commons License 2007.11.26 0 0 6362
Lásd 6197 - Jozsef hozzaszolasat (FKERES)
Előzmény: syrius (6358)
syrius Creative Commons License 2007.11.26 0 0 6361

Maradt egy-két apróbb gondom, de a legfontosabb, hogy hogyan lehet egy tömböt "antitömbösíteni"?

Szóval adott egy terület tele számokkal és akkor F2 és Ctrl+Shft+Enter-rel lehet belőle tömböt csinálni (ami után már nehezebb piszkálni az egyes elemeket) De hogy lehet ezt a tömböt visszafokozni egyszerűen számok halmazává? (Ez gondolom nem nehéz, csak nem találtam ma megoldást)

 

nkaresz1978 Creative Commons License 2007.11.26 0 0 6360
Sziasztok!

Egy olyan kérdésem lenne hogy adott egy program ami a régi excelbe exportál, de már fent van az új is. Viszont.
Most hogy fent van az új ebbe nem tud exportálni, de valahogy nem tudom rajta beállítani hogy ne az újba próbáljon exportálni hanem a régibe.
Tehát kérdezem én, hogy lehet azt megadni az XP-be hogy a régi excelt indítsa el alapértelmezettként? Mert hogy úgy exportál hogy indítja az excelt és átmásolja.
Sürgősen kéne egy megoldás!

THX
syrius Creative Commons License 2007.11.26 0 0 6359

Nna azt hiszem megtaláltam a megoldást a Gyakoriság panaccsal, de ha szenvedek, majd kérdezek:-)

Off addig is a fogammal szenvedek:-(

Előzmény: syrius (6358)
syrius Creative Commons License 2007.11.26 0 0 6358

Van-e megoldás az Excel-ben arra, hogy egy nagyobb számhalmazból (akár több oszlopban, vagy csak 1-ben) készítsén egy kimutatást az adatok megoszlásáról és azt egy táblázatban rendezze. Pl. adott 100 ember magassága és azt 10 adott terjedelmű kategóriába rendezze . (110-120, 120-130-...)

Mi lehet a legegyszerűbb, nincs erre egyszerű utasítás?

Törölt nick Creative Commons License 2007.11.22 0 0 6357
Szia! Köszönöm ezt is.
Előzmény: Delila669 (6353)
Törölt nick Creative Commons License 2007.11.22 0 0 6356
Igen, tökéletesen működik már ez is.

Lehet, rosszul mondtam a SorokVege változó a beillesztések után az új táblázat utolsó sorának értékét tárolja. (SorokVege = ActiveSheet.UsedRange.Rows.Count)

Ezért, a képleten egy picit igazítani kellett, de nem is ez volt a lényeg.

Worksheets("Szűrés").Cells(SorokVege + 1, 13).Formula = "=SUM(M7:M" + Format(SorokVege) + ")"

A lényeg, vagyis a szummázás tökéletes!

Köszönöm a segítséget!
Előzmény: ndrv (6355)
ndrv Creative Commons License 2007.11.22 0 0 6355

Ha esetleg még így kipróbálnád (csak az érdekesség kedvéért):

 

Worksheets("Szűrés").Cells(SorokVege, 13).Formula = "=SUM(M2:M" + Format(SorokVege-1) + ")"

 

Ha nem nem, de boldog lennék, ha mégis működne....)

 

 

 

 

Előzmény: Törölt nick (6352)
Delila669 Creative Commons License 2007.11.22 0 0 6354
Bocs, a SorokVege előtt - (mínusz) van.
Előzmény: Delila669 (6353)
Delila669 Creative Commons License 2007.11.22 0 0 6353

Szia Boroka!

 

Ha mindig a 2. sorban van az első összeadandód, ezt kell beírnod összegzéshez:

 

"=SUM(R[" & SorokVege + 2 & "]C:R[-1C]"

Előzmény: Törölt nick (6345)
Törölt nick Creative Commons License 2007.11.22 0 0 6352
Ez a megoldás valahogy nem működik, de azért köszönöm.
Előzmény: ndrv (6350)
Törölt nick Creative Commons License 2007.11.22 0 0 6351
Pompás! Nagyon köszönöm! :-)
Előzmény: Törölt nick (6348)
ndrv Creative Commons License 2007.11.22 0 0 6350

Pardon, a szummázás a szumma sor előtti celláig tart, így az eggyel kevesebb, mint  a szummázó sor:

 

"=SUM(M2:M" + Format(SorokVege-1) + ")"

Előzmény: ndrv (6349)
ndrv Creative Commons License 2007.11.22 0 0 6349

Ez a relatív pozícionálás a makrófelvétel sajátossága, de szerintem ezt általában nem szerencsés használni. Miután megvan a makróban az utolsó sor (ez ugye a SorokVege), ezt az értéket kell a szumma képletbe betenni a következők szerint:

 

"=SUM(M2:M" + Format(SorokVege) + ")"

 

 

(Az "M" a 13. oszlopot jelöli, ahol a szumma oszlopod van.)

Előzmény: Törölt nick (6347)
Törölt nick Creative Commons License 2007.11.22 0 0 6348
Na jó, elismerem, én vagyok a hunyó. Ha jobban figyelek, felismerhettem volna a hibát az első hsz-ból is.... De mindegy most már.

Szóval az a gyanúm, hogy a "=SUM(R[-BeillesztettSorokSzama]C:R[-1]C)" képletben a beillesztett sorok száma változó nincs kiértékelve.
Mit szólnál pl. ehhez?

"=SUM(R[-" & BeillesztettSorokSzama & "]C:R[-1]C)"
Előzmény: Törölt nick (6347)
Törölt nick Creative Commons License 2007.11.22 0 0 6347
1) Amennyiben nem egy változót adok meg (BeillesztettSorokSzama), hanem egy konkrét értéket, akkor a képlettel rendben elvégzi az összegzést.

 

Pl. ha így adom meg:

Worksheets("Szűrés").Cells(SorokVege, 13).FormulaR1C1 = "=SUM(R[-14]C:R[-1]C)"

(Ekkor az aktuális cellától felfelé számított 14. és a felfelé 1. cella szummáját adja meg.)

 

2) Egy forrástáblábla soraiból bizonyos feltételeknek megfelelő cellák értékét másolom át egy új munkalapra úgy, hogy a kiválasztott értékek egymás melletti cellákba kerülnek. Természetesen az új munkalapon is annyi sor lesz, mint a forrástáblában, az oszlopok száma pedig mindig azonos lesz (kb. 20).

 

3) Igen, több oszlopos, de nem kell minden oszlop alján összegzés. A probléma lényege az, hogy a makrót több különböző forrástáblára kell futtatni, ahol a sorok száma változó. Ezért gondoltam, hogy az adott képletebe egy változó értékét illesztem be (a mindig más helyen lévő  összegző cellától felfelé a beilleszetett sorok száma és az egy hellyel feletti cella összege). 

 

4) Az összegző cella közvetlenül az összegzendő állomány alatt helyezkedik el.

 

Előzmény: Törölt nick (6346)
Törölt nick Creative Commons License 2007.11.22 0 0 6346
Nagyon kevés az infó.

1) Mi nem jó? Mi a hiba?
2) Hogyan történik a tábla feltöltése? Adott mátrixot töltesz fel, és bizonyos sorokba esetleg nem jut adat, vagy csak bemásolod a sorokat egymás alá, mindig a következő üres sorba, és kész? Vagy más?
3) Több oszlopos a tábla, és mindegyik oszlop alján kell összegzés?
4) Az összegző cella hogyan helyezkedik el az összegzendő tartományhoz képest?

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

Sziasztok!

Ismét lenne egy probléma amit nem tudok megoldani. Egy táblát töltök fel adatokkal és a végén egy adott cellában kell függőleges szummázást végezni, úgy hogy a beilleszett sorok száma mindig változik. Az alábbi képlettel próbálkoztam, de nem jó.

Worksheets("Szűrés").Cells(SorokVege, 13).FormulaR1C1 = "=SUM(R[-BeillesztettSorokSzama]C:R[-1]C)"

Tudna valaki egy jobb megoldást? 

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

AgiSharm Creative Commons License 2007.11.22 0 0 6344

Szia !

 

 

Nagyon koszonom hogy segitettel!

 

 

Udv Agi

Előzmény: Törölt nick (6313)
szenyor Lopez Creative Commons License 2007.11.21 0 0 6343
Feltettem az itthoni gépemre, működik is. A demot még nem nézegettem. Szimpi volt a videon a html publikálás. De ehhez úgylátom meg kéne venni a worksheet szervert...
Előzmény: V B A (6341)
V B A Creative Commons License 2007.11.21 0 0 6342
Csatoltam két screenshotot, de úgy látszik nem töltötte fel az index. :-(
Előzmény: V B A (6341)
V B A Creative Commons License 2007.11.21 0 0 6341
Nem, mi csak a PALO-t használjuk (OLAP-szerver + Excel kliens).

Előnye, hogy a relációs adatbázisokhoz képest nagyon egyszerűen és gyorsan lehet lekérdezni, valamint a riportokat a "mezei" felhasználó definiálja az adott beszámolási igény alapján.

Érdemes első lépésben a demo adatbázist nézegetni, az installálás kb. 4 perc, nem nagyon kell semmit beállítani. (.NET 2.0 keretrendszert előzetesen fel kell tenni)

A két csatolt riport elkészítése darabonként kb. 30 másodperc.

Holnap bővebben.


Előzmény: szenyor Lopez (6339)
Delila669 Creative Commons License 2007.11.21 0 0 6340
Ugyanezt csinálja a rövidebb FIX függvény, ahol a  ;  jel utáni paraméter adja meg a tizedesek számát.
Előzmény: Vgyuri (6338)
szenyor Lopez Creative Commons License 2007.11.21 0 0 6339
Próbálgatom ezt a cuccot, de ami az igazán előnyös lenne, a worksheet server, az már fizetős cucc. Ti azt is használjátok?
Előzmény: V B A (6329)
Vgyuri Creative Commons License 2007.11.21 0 0 6338

Kettő is jó most már.

 

1. A cellát, amiben egy számot adó képlet volt, átírtam Szöveg típusúra. Ezután már hozzá tudtam fűzni egy másik stringhez. (Bár ndrv előző beírása  szerint enélkül is hozzá tudtam volna fűzni?) Csak annyi gond volt, hogy ha szövegnek minősítettem, akkor nem tudtam megadni a tizedesek számát és 7 tizedessel fűzte hozzá, de azt már ott a BAL függvénnyel méretre vágtam.

 

2. A másik megoldás az volt, ezt egy kolleganőm mutatta, hogy

 

 B1=SZÖVEG(A1;"0,00")

 

és ezután már méretre is volt vágva. Ezek szerint nem a cellabeállítás, szám, baloldali ablakából kell venni a formátumot, hanem a jobboldali legördülőből, ahol már a formátumvariációk vannak.

 

 

Előzmény: Törölt nick (6328)
ndrv Creative Commons License 2007.11.21 0 0 6337

"Az A1 cellaformátumát szövegre állítod"

 

Sajnos szerintem az excel egyik legnagyobb hibája, hogy csak a cellaformátum átállításával egy értéket tartalmazó cella nem lesz szöveg típusú. Ehhez még az is kell, hogy (a cellaformátum szövegre állítása után) átírod a mező értékét. Csak e két lépés megtétele után lesz valóban szöveg típusú a cella.

Előzmény: Delila669 (6326)
ndrv Creative Commons License 2007.11.21 0 0 6336
Ennél a dolognál sztem az is fontos, hogy mit akarsz elérni: mert ha össze akarsz fűzni két cella értékét, amiben az egyik szám, a másik szöveg típusú, akkor nem kell az értéket szöveggé átalakítani, anélkül is össze tudod a különböző típusú cellaértékeket fűzni az =összefűz()  függvénnyel.
Előzmény: Vgyuri (6323)
szenyor Lopez Creative Commons License 2007.11.21 0 0 6335
Na ránéztem a weboldalra, megnéztem a videokat. Impresszív. Ki fogom próbálni. Csak tartok tőle, hogy bonyi lesz konfigurálni:)
Előzmény: V B A (6329)
Erzsébeti Creative Commons License 2007.11.21 0 0 6334
Köszönöm erre gondoltam!!!:)))

Hogy én mekkora izé vagyok, de hogy miért képzeltem azt, hogy ctrl+r kell nekem...
Talán annyi a mentségem, hogy nem csak az excel új most nekem, de egy laptopról írok, és még a billentyűzet is új nekem...

Mégegyszer köszi!:)

Erzsébeti
Előzmény: Törölt nick (6332)
Törölt nick Creative Commons License 2007.11.21 0 0 6333
mert az egyszerű felhasználók 99% százaléka félredobja, mert nem tudja hogy kell használni hálózati környezetben
Előzmény: V B A (6329)
Törölt nick Creative Commons License 2007.11.21 0 0 6332
Nem a CTRL+F-re gondolsz? A CTRL+R teljesen más
Előzmény: Erzsébeti (6331)
Erzsébeti Creative Commons License 2007.11.21 0 0 6331
Sziasztok!

Lenne egy számotokra könnyű kérdésem, de nekem ez most megoldhatatlannak tűnik.:(

Eddig az Excel 2000-et használtam, és volt benne egy egyszerű kersésfunkció, ami egy CTRL+R billentyűkombinációval lehetett előhívni.
Most Excel 2007-et használnék, de nem találom az adott funkciót:(
Van ebben mindenféle (számomra!) idétlen keresési lehetőség, de a régi sima keresést nem találom:(
Olyan hiányzik ahol megadhatom egy csella szövegét, vagy ha számot keresek akkor a számot, ill. a töredékét, és ő megkeresi az adott karakterhalmazt az összes cellában, és kiemelve meg tudja mutatni a saját helyén.

Gondolom ez nem nagy tudás, és biztos, hogy valami egyszerű megoldása van, de én nem jöttem rá... Tök ideg vagyok:(

Erzsébeti
szenyor Lopez Creative Commons License 2007.11.21 0 0 6330
Tudnál írni róla bővebben? Milyen tudás kell a használatához? Pár tippet leírhatnál, hogy mire jó. Engem érdekelne.
Előzmény: V B A (6329)
V B A Creative Commons License 2007.11.21 0 0 6329

Kicsit OFF:
Kb. 1 éve már ajánlottam a nyílt forráskódú PALO elnevezésű OLAP alkalmazást. Most kijött egy új verzió, amiben már szabályokat (Excel-függvényhez hasonló kalkulációkat) is lehet írni benne, így már nem csak egyszerű reportolásra jó. http://www.palo.net/

Február óta használjuk élesben a cégnél sales reportolásra és nagyon bevált. Ha valakit érdekel vagy már használja, nyitok egy topikot valahol. A cuccnak van magyar felülete, de egyelőre nem tolonganak a magyar felhasználók a fórumban (http://forum.palo.net/).


ON

Törölt nick Creative Commons License 2007.11.21 0 0 6328
Most akkor végülis melyik megoldás volt jó???
Előzmény: Vgyuri (6327)
Vgyuri Creative Commons License 2007.11.21 0 0 6327

Köszönöm a javaslatokat, az 1. bejött, a 2.-at nem próbáltam, az előző kettő nem hatotta meg az excelt, továbbra is hibát jelzett.

 

Előzmény: Delila669 (6326)
Delila669 Creative Commons License 2007.11.20 0 0 6326

Két megoldás:

1. Az A1 cellaformátumát szövegre állítod, vagy

2. B2-be  =fix(A1;0)

Előzmény: Vgyuri (6323)
toccata Creative Commons License 2007.11.20 0 0 6325
A1-ben van a szám. Mondjuk a B1-be írd be ezt: ="'"&A1
Előzmény: Vgyuri (6323)
Törölt nick Creative Commons License 2007.11.20 0 0 6324
Érteni nem értem én se, de ezt tudnám javasolni:
=SZÖVEG(B1;"@")

Előzmény: Vgyuri (6323)
Vgyuri Creative Commons License 2007.11.20 0 0 6323
 

Szép jó nagyot kívánok, még sosem jártam erre :-)

 

A tököm tele van az Excel helpjével. Életemben először használni akarom a SZÖVEG nevű stringfüggvényt, hogy az szomszéd cellában már kiszámolt B1(pl. 288) értéket átalakítsam egy összefűzhető stringgé. Ennek a második paramétere a "formátum_szöveg". De nem vagyok képes rájönni az ott levő szövegből, hogy ez mi akar lenni. Ha a mintapéldát átmásolom, akkor már kapok stringet, ott % van. Azt le tudom cserélni pl. vesszőre, de másra nem, akkor hibás a képlet. A helpszöveg szerint ide a cellaformázó listából kellene valamit kivenni, és azt szöveg szerint oda kell tenni. De mit tegyek a második paraméterbe, ha én semmit sem akarok csinálni a számmal, csak egy ugyanolyan stringgé alakítani?

 

Aki ezt érti, kérem segítsen.

Törölt nick Creative Commons License 2007.11.19 0 0 6322
Azt gondolom, hogy ha a tulajdonságlapon beállítom ezeket  - akkor felesleges a kód, viszont ha egy for ciklusban dinamikusan akarom használni akkor kell.
Tökéletes, ha ott egy gomb, amire tudok kattintani, akkor működik. De nem jobb ezt normálisan ComboBox1_Change (gondolom ez akkor következik be, ha a lista valamely elemét kiválasztom.)  eseményre, minek kattintgassak egy alibi gombra még pluszba.
Elsőre lefuttatam soronként is, észrevettem hogy meghívja magát, de akkor nem tudtam magamnak megmagyarázni, hogy miért. Így már értem, köszi.


Előzmény: Törölt nick (6321)
Törölt nick Creative Commons License 2007.11.19 0 0 6321
Mesterem,

Ha a tulajdonságlapon bellítod a RowSource értékét A1:A10-re, a ControlSource értékét pedig C2-re, akkor működnie kell. Ehhez semmilyen eseménykezelő kódra nincs szükség. Egyetlen dolog, amire még figyelni kell, hogy a ControlSource-ként definiált cella csak akkor frissül, amikor a fókusz elhagyja a ComboBox-ot (OnExit esemény). Tegyél a formra még egy gombot is, hogy legyen mire kattintani, és próbáld meg újra: jelenítsd meg a formot, válassz másik elemet a combobox-ban, és kattints a gombra, hogy elhagyd a listát. Működnie kell.

A kód, amit próbálsz, nem az igazi.
Az a probléma vele, hogy önmagát hívja meg. A ControlSource tulajdonság megváltoztatása kiváltja az OnChange eseményt, és a ComboBox1_Change szubrutin másodszor is lefut, még mielőtt az elsőnek vége lenne. Próbáld ki, tegyél egy töréspontot a With ComboBox1 sorba, és kövesd F8-cal, hogy mit csinál.

A ComboBox tualjdonságait kóddal is be lehet állítani, futási időben, de ezt célszerű nem a ComboBox saját eseményeihez kötni, hanem pl. CommandButton_Click, vagy UserForm_Initialize, vagy ilyesmi.

Egyébként mindkét tulajdonság (ControlSource ill. RowSource) megadható munkalaphivatkozással is (sőt, igazából úgy kellene, mert úgy a biztos). Pl.:
RowSource = "Munka1!A1:A10"
Előzmény: Törölt nick (6320)
Törölt nick Creative Commons License 2007.11.19 0 0 6320
Jimmy, miért nem sikerülhet nekem?
Próbálom kézzel a tulajdonság lap segítségével,


Pórbálom kóddal
Private Sub ComboBox1_Change()
With ComboBox1
.RowSource = "a1:a10"
.ControlSource = "c2"
End With
End Sub

De nem sikerül.

Mit bénázok el? Az értékek megjelennek, de nem adja át a ControlSource-val definiált cellának.
Illetve a kódnál csak akkor jelennek meg a vezérlőelemben az értékek, ha vmit beleírok
Előzmény: Törölt nick (6319)
Törölt nick Creative Commons License 2007.11.19 0 0 6319
A RowSource tulajdonsággal azt állítod be, hogy honnan vegye a listát, a ControlSource tulajdonsággal azt állítod be, hogy hová tegye a kiválasztott elemet. Más szóval, amit a felhasználó kiválaszt a listából, az megjelenik a ControlSoure által definiált cellában.
Előzmény: Törölt nick (6318)
Törölt nick Creative Commons License 2007.11.18 0 0 6318
Mi a különbség?
ControlSource / RowSource-val.
Úgy érzékeltem, hogy mind a kettővel a vezérlőelem tartalmát állítom be. (Biztosan nem, csak vmit nem tudok)
Előzmény: Törölt nick (6317)
Törölt nick Creative Commons License 2007.11.18 0 0 6317
A ComboBax-nak van egy ControlSource tulajdonsága is...
Előzmény: Törölt nick (6316)
Törölt nick Creative Commons License 2007.11.18 0 0 6316
Ha ezt az Űrlapok eszköztárról tetted ki, és nem formon van, akkor jobb gomb a kombipanelen/Vezérlő formázása. A többi már egyértelmű.

Ha formon van, akkor ez a kód kell:

Private Sub ComboBox1_Change()
Cells(2, 3).Value = ComboBox1.Value
End Sub

a RowSource tulajdonságát pedig beállítod arra a tartományra, amiben azok az értékek szerepelnek, amit majd meg szeretnél jeleníteni a comboboxban
Előzmény: LACARAPTOR (6315)
LACARAPTOR Creative Commons License 2007.11.18 0 0 6315

Hali!

Csináltam egy ComboBox-ot.

hogyan lehet az értékét beírni egy cellába?

Magyarul legördít, kiválaszt aztán mondjuk a C2 cellában megjelenik az érték?

Köszi

Laca

Eddy_ Creative Commons License 2007.11.17 0 0 6314

Sziasztok!

 

Hát igen, úgyis érzem magam, ezekkel a kérdésekkel, mintha a saját temetésemen lennék!:-)

Jó-jó, hogy levelező képzés, de arra álmomban nem számítottam, hogy informatikából egy nagyon szűk kör számára értékes (érdekes) könyv alapján feltett, a legidiótábban, a legösszefüggéstelenebbül megfogalmazott kérdésekből lesz a számonkérés! Mindegy ez az én problémám, és ez nem is az a fórum, de ha nem probléma feltennék még pár kérdést?! Mindenkinek nagyon köszönöm az eddigi segítséget, és ha tudtok légyszi a következőkben is segítsetek!

 

1,  Kimutatás-diagrammal vészjelzések állíthatók elő, amennyiben idősoros nézetekre trendfüggvényt illesztünk, s ennek más görbékkel kialakuló metszéspontjait vizsgáljuk.

 

2, Pivot táblázatokban végzett átlagolások esetén sem lehetséges eltérő darabszámot elfogadni a darab-nézet alapján kontrollálva.

 

3, A sor- és oszlopösszegeket csak akkor szabad számítani a kimutatásvarázslás során, ha ezek valóban aggregálható jelenségeket vonnak össze.

 

4, Klaszzikus órarendek az Excel kimutatás-varázslójával automatikusan elkészíthetők.

 

5, Az FKERES függvénnyel lehet, a pivot-tal nem lehet klasszikus órarendet összeállítani, melyben a napok és az időpontok metszeteként a tárgy, a terem és az óraadó olvasható.

 

6, Idősoros pivot kimutatásokban, ahol az idő az oszlopfejlécen van ábrázolva, alapvető hiba, ha egy mértékegységre való szűrés következtében időszakok tűnnek el sorok helyett!

 

7, A sor- és oszlopösszegeket mindig számítani kell a kimutatás varázslás során, hiszen ezek ellenőrző összegként funkcionálnak!

 

Ezek lennének... Bocs, hogy olyanokat is beírtam, ami egy másik kérdés válaszából következhet, de a többi kérdéssel való foglalatosságom közben, a jelenlegi informatikai tudásom, magabiztosságom a "ne mássz a fára, mert elüt a villamos" mondattal jellemezhető!:-)

Üdv:Edi

Törölt nick Creative Commons License 2007.11.17 0 0 6313
Bár ez nem excel probléma, és nem vagyok szakértője, de talán tudok segíteni.
Ha nincs meg a fájlod valahol mégis, egy másik néven, vagy emailben csatolt állományként, vagy ilyesmi, akkor még azt teheted, hogy elindítod az excelt, azután a feladatkezelőből leállítod. Ezután újraindítod, és ha szerencséd van, feldob egy olyan ablakot, hogy dokumentum-helyreállítás, és talán benne van a fájlod, ha mostanában szerkesztetted, vagy lagalább valami nem túl régi verzió.

Ha ez az út nem járható, akkor itt egy másik megközelítés.

Ha felülírsz egy fájlt, az (bár nem biztos, de szerintem) olyan, mintha törölted volna. Mármint, a rendszer elmenti a z új fájlt egy új helyre, és felszabadítja a régi által lefoglalt tárhelyet. Én törölt fájlok visszaállítási kísérleténél én ezt az utat szoktam követni:

1. Kikapcsolom a gépet (A), amin a törölt fájl van. Törlés után a fájl még ott van a merevlemezen, de az általa lefoglalt terülte szabadnak van nyilványtva, és csak idő kérdése, hogy mikor ír oda valamit a rendszer.
2. Keresek egy másik gépet (B), amire telepítek egy olyan programot, amivel törölt fájlokat vissza lehet hozni. Van ilyen sok, többségük nem ingyenes, de 15 v. 30 napig ingyen használható, ami teljesen megfelel a célnak.
3. Átrakom a törölt fájlt tartalmazó merevlemezt az A-ból a B gépbe, és Secondary Slave -ként konfigurálom, hogy véletlenül se erről próbálja a gép a rendszert betölteni.
4. Enildítom a B gépet, futtatom rajta a törlésvisszavonó programot, és végigszkennelem azt a bizonyos merevlemezt, hogy megtalálja-e. Ha megtalálja, és vissza tudja állítani, akkor jó.

Ha ez kínai, vagy nem vagy biztos a dolgodban, akkor érdemes inkább szakemberhez fordulni, mert könnyű nagy kárt okozni, ha az ember nem tudja mit csinál.

Előzmény: AgiSharm (6312)
AgiSharm Creative Commons License 2007.11.17 0 0 6312

Sziasztok!

 

Nem is tudom hova irjak, de surgos segitsegre lenne szuksegem!

 

Felul irtam egy excel fajlt egy regebbi verziojaval veletlenul, hogy tudom vissza allitani?! Nagyon fontos lenne tobb mint 2 M. 

 

Koszi

Udv

 Agi

stromba Creative Commons License 2007.11.16 0 0 6311

Ismét egy információbróker... őszinte részvétem. Mikulás Tanár úr még mindig tanítja ezt az ostobaságot? Nem jött még rá hogy így soha nem fogjátok megtanulni az excelt?

Nézegess vissza.

Korú és Abigél nevű fórumozók hasonló cipőben jártak tavaly, mint te most.

Ez az egyikük kérdésére adott válaszom:

http://www.torzsasztal.hu/Article/viewArticle?a=62035249&t=9009340

 

 

 

 

 

Előzmény: Eddy_ (6303)
Delila669 Creative Commons License 2007.11.16 0 0 6310
Igen. Azt hiszem, így szólt a kérdés.
Előzmény: Törölt nick (6307)
ndrv Creative Commons License 2007.11.16 0 0 6309
"A pivot-kimutatások darab-nézete azt mutatja be, hogy" az adott mezőnek hány eleme van az adatbázisban. Aztán azt, hogy ez hogy konvergál a "leíró adatokkal" és a "rendelkezésre álló adathellyel", mindenki döntse el a saját józan itélőképessége szerint... 
Előzmény: Eddy_ (6303)
ndrv Creative Commons License 2007.11.16 0 0 6308

Ennyire barom módon feltett kérdésekkel még nem találkoztam...:-(

 

A 2-es hamis, a másik kettőt nem is értem...

Előzmény: Eddy_ (6303)
Törölt nick Creative Commons License 2007.11.16 0 0 6307
Szia Delila!

Köszi a választ. Jól értem, hogy a Te megoldásod partner szerint összegzi a bejövő és kimenő tranzakciókat?
Előzmény: Delila669 (6306)
Delila669 Creative Commons License 2007.11.16 0 0 6306

Jimmy the Hand-nak szól a válasz, de ott nem jelent meg a válasz opció (mert előbb belépés nélkül akartam válaszolni).

 

Szia Jimmy!

 

Az összegző lap

B2-be: =SZUMHA(BE!$A$2:$B$50;$A2;BE!$B$2:$B$50)

C2-be: =SZUMHA(KI!$A$2:$B$50;$A2;KI!$B$2:$B$50)

D2-be: =B2-C2

 

Feltétel, hogy az összegző lapon minden partner szerepeljen.

A $50-et a BE és KI lapon lévő sorszámokra kell átírni.

Előzmény: Eddy_ (6303)
Törölt nick Creative Commons License 2007.11.16 0 0 6305
"A SZUMHA képlettel tökéletesen össze lehet hozni."

Erre én is kíváncsi lennék... Elmondod, hogyan?
Előzmény: Delila669 (6304)
Delila669 Creative Commons License 2007.11.16 0 0 6304

Szia,

 

A SZUMHA képlettel tökéletesen össze lehet hozni.

Egy hátránya van: új partner esetén az összegző lap utolsó sorába be kell írni az új nevet. Ez nem lehet túl macerás.

Előzmény: mzsperx (6302)
Eddy_ Creative Commons License 2007.11.16 0 0 6303

Sziasztok!

 

Egy kis segítségre lenne szükségem...

Fősulin vagyok első éves, és informatikából számomra elég "érdekes" a tematika, nem akarok untatni vele senkit, de a lényeg az, hogy igen nehéz vele bármit is megtanulni! (számomra)

Van egy lehetőség, hogy teszt kérdésekre kell válaszolni (igaz/hamis), és ez alapján kapuunk jegyet!

Feltennék itt 3-mat, és ha valaki tud rá nekem válaszolni, azt nagyon megköszönném!

 

1,A pivot-kimutatások darab-nézete azt mutatja be, hogy milyen leíró adatok esetén áll rendelkezésre az adathely.

     igaz v hamis

 

2, Idősororos pivot kimutatásokban, ahol az idő az oszlopfejlécben van ábrázolva, alapvető hiba, ha egy mértékegységre való szűrés következtében időszakok nem tűnnek el.

     igaz v hamis

 

3, Pivot táblázatokban végzett összegzések esetén csak nagyon indokolt esetben lehet eltérő darabszámú elemet elfogadni a darab-nézet alapján kontrolálva.

     igaz v hamis

 

Ha bárki tud, légyszi segítsen!

 

Üdv:Edi

 

Ui: Ha valakinek etikai aggodalma van, a tanár azt mondta: bármilyen segítséget igénybe lehet venni"

mzsperx Creative Commons License 2007.11.15 0 0 6302
küldtem, köszi
Előzmény: Törölt nick (6301)
Törölt nick Creative Commons License 2007.11.15 0 0 6301
Igen.
Előzmény: mzsperx (6300)
mzsperx Creative Commons License 2007.11.15 0 0 6300

nemgyó

egyes tételeket duplán rak be, másokat meg kihagy. elküldhetem?

mzsperx Creative Commons License 2007.11.15 0 0 6299

köszi, mindjárt nekilátok.

ha így is megy, nem állnék neki megtanulni az access-t, azt még sosem használtam :)

Előzmény: Törölt nick (6298)
Törölt nick Creative Commons License 2007.11.15 0 0 6298
Erre a feladatra az Access a legjobb, de Excelben is gond nélkül meg lehet csinálni.
Talán majd valaki ír egy makrós megoldást is, én most képletekkel mutatom meg.
Tegyük fel, hogy van egy Be és egy Ki nevű lap a bejövő és kimenő pénzeknek, illetve van egy harmadik lap, ahol az összesítés megy. A Be és Ki lapokon az A2 cellától lefelé vannak a dátumok, B2-től lefelé az egyes számlák végösszegei

Az összesítés lapján a következő képletek legyenek:
A2 cella: =HA(Be!A2>0;Be!A2;"")
B2 cella: =HA(Ki!A2>0;Ki!A2;"")
C2 cella: =Be!B2
D2 cella: =Ki!B2
E2 cella: =KICSI(A:B;SOR(A2)-1)
F2 cella: =HA(HIBÁS(FKERES(E2;A:C;3;HAMIS)); FKERES(E2;B:D;3;HAMIS);FKERES(E2;A:C;3;HAMIS))
G2 cella: =G1+F2

Ezeket a képleteket autokitöltéssel lehúzod addig a sorig, ameddig akarod, de legalább annyi sor legyen, mint a bejövő és kimenő számlák darabszáma együttesen.
Az E, F, és G ozlopok tartalmazzák a kívánt adatokat.
E: számladátumok növekvő időrendben
F: számlaérték
G: aktuális egyenleg.

Esetleg a G1 cellába írd be a kezdőegyenleget.


Előzmény: mzsperx (6297)
mzsperx Creative Commons License 2007.11.15 0 0 6297

sziasztok, van valami, amit nem tudom, excel-ben meg lehet-e csinálni?

 

adott két táblázat. az egyikben gyűlnek a befizetendő számlák, a másikban a kiadott számlák, vagyis a bevételek. mindegyiknek van ugye egy fizetési határideje

 

szeretnék egy harmadik táblát, amelybe automatikusan átveszi az adatokat, a bejövőt és a kimenőt egyaránt, ami a csavar benne, hogy szeretném, ha a kettőt összefésülné, a fizetendőt negatív előjellel. és persze lenne egy plusz oszlop, ami az aktuális egyenleget számolja. meg lehet ezt csinálni? nekem az lenne a fontos, hogy ha akármelyik táblázatba új tételt viszek be, megjelenjen az összesítő táblában is automatikusan, ne kelljen átmásolgatni.

 

ha meg nem excel, akkor melyik program? :)

 

köszi a segtséget

Delila669 Creative Commons License 2007.11.15 0 0 6296

Szívesen.

Sokat szenvedtem hajdan, míg erre rájöttem.

Szerencséd, hogy a ragacsok között nincs holttér (így kell írni?), mert akkor sokkal nehezebb lett volna a méretek meghatározása.

Előzmény: Törölt nick (6294)
Jozsef Creative Commons License 2007.11.14 0 0 6293
Szia!

Ha jól értem a problémádat, ismeretlen (saját) formátumú.méretű etikettre kellene nyomtatni?
Wordben megoldható a dolog:
1. Körlevél varázsló/ Címke
2. A Körlevél varázsló 2. lépésében Címke beállításai
Címkegyártó: Egyéb/egyéni
és utána Új címke gomb.
3. Egy jó vonalzó és sok próba (értsd szívás :)) segítségével definiálod az új címkét.
4. Ezután ugyanaz a helyzet, mint ismert gyártó esetén

Hogy jó sok időt megspóroljál, először nézd meg alaposan az etikett dobozát, hátha kompatibilis valamelyik gyártó termékével. Esetleg Google-n is rákereshetsz.
Üdv
József
Előzmény: Törölt nick (6291)
Delila669 Creative Commons License 2007.11.14 0 0 6292

Szia Zoli!

 

A Word körlevélbe beviszed az első személy adatait az első "ragacs" szerint.

A többi ragacs első mezője a "Word mező beszúrása" legördülőből a Következő rekord - ezt akármilyenre (apróra) formázhatod - ezután jönnek a személyek adatai.  A másodiktól akár másolhatod is a többire.

Előzmény: Törölt nick (6291)
Törölt nick Creative Commons License 2007.11.14 0 0 6290
Köszönöm ezt is! :-)
Előzmény: Törölt nick (6289)
Törölt nick Creative Commons License 2007.11.14 0 0 6289
Cells(i, t).Comment.Shape.Fill.ForeColor.SchemeColor = 6

illetve 6 helyett a kívánt színkód.

Előzmény: Törölt nick (6288)
Törölt nick Creative Commons License 2007.11.14 0 0 6288
Köszönöm szépen, tökéletes! Már csak azt szeretném megkérdezni, hogy a megjegyzés doboz színét, hogyan tudnám beállítani a programból?
Előzmény: Törölt nick (6287)
Törölt nick Creative Commons License 2007.11.14 0 0 6287
Nincs mit. Én is tanulok közben...
A válasz pedig:

Cells(i, t).Comment.Shape.TextFrame.Characters.Font.Name = "arial"
Cells(i, t).Comment.Shape.TextFrame.Characters.Font.Size = 10

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

Köszönöm, a segítséget. Szertném még megkérdezni, hogy ugyanitt hogyan tudnám a létrehozott megjegyzés szövegének betűtípusát (Arial) és méretét is (10) változtani?

 

Egyébként, ahogy mondtad, valóban felesleges a Cells(i, t).Select sor, de nagyon látványos, ahogy fut :-))

Előzmény: Törölt nick (6284)
Törölt nick Creative Commons License 2007.11.14 0 0 6285
Ja, ezt már mondtam egyszer ;-)
Előzmény: Törölt nick (6284)
Törölt nick Creative Commons License 2007.11.14 0 0 6284
Ami onnan hiányzik:

Cells(i, t).Comment.Shape.TextFrame.AutoSize = True

Egyébként a Cells(i, t).Select sor szerintem felesleges.
Előzmény: Törölt nick (6283)
Törölt nick Creative Commons License 2007.11.14 0 0 6283
Sziasztok!

 

Ismét segítséget szeretnék kérni a következőben. Egy adott cellába írt szövegből, a cellához tartozó megjegyzést kell létrehozni, és nem tudom beállítani, hogy a megjegyzésdoboz automatikus méretű legyen a beírt szövegnek megfelelően. Valahol csak egy-két szó, de van olyan is ahol 2-3 mondat a szöveg.  

 

For i = 1 To 1000

    For t = 1 To 1000

       

        Cells(i, t).Select

        Seged = UCase(Cells(i, t).Value) ’ nagybetűre alakítás

   

        Cells(i, t).AddComment

        Cells(i, t).Comment.Visible = False

        Cells(i, t).Comment.Text Text:=Seged

        Cells(i, t).Value = "OK"

             

              ’Itt kellene a megjegyzés ablakot automatikus méretre állítani a beírt szövegnek megfelelően                   

 

    Next t

Next i

 

Előre is köszönöm.
Törölt nick Creative Commons License 2007.11.12 0 0 6282
Pl. ilyen lesz:

Előzmény: Törölt nick (6281)
Törölt nick Creative Commons License 2007.11.12 0 0 6281
Az első kérdéshez itt található megoldás:

Add a Pop-Up Picture to a Cell in Excel:

http://www.mrexcel.com/tip089.shtml

Röviden a lényege (nálam 2000-es excelen):
Beszúrni egy megjegyzés, kitörölni belőle minden szöveget.
Jobb kattintás a megjegyzés doboz szélére, és a megjegyzés formázása menüből a színek és vonalakat választani (ha nem a szélére kattint az ember akkor nem ez a menü jön fel), itt szín - majd kitöltési effektusok, majd kép, és itt a képválasztással a kép betölthető, végén ok.
A képpel teli cellába ezután szöveg is beírható.
A cellára jobb kattintással a menüből a megjegyzés elrejtése , ha a kép ott akar maradni.


Előzmény: lacko1970 (6276)
ndrv Creative Commons License 2007.11.12 0 0 6280

A második kérdésedet kipróbáltam, nekem megy a dolog a következőképpen:

 

Lementettem ezt a fórumoldalt az explorer fájl menüjéből a mentés másként paranccsal a c:dokumentumok könyvtárba excel-indexfórum névvel, majd egy megnyitott excel munkafüzetlap egy cellájába ráállva jobb klikk--->hiperhivatkozás--->hely c:dokumentomok--->bal klikk az excel-index fórum.htm -re, majd ok gomb klikk.

Előzmény: lacko1970 (6276)
Törölt nick Creative Commons License 2007.11.12 0 0 6279
Köszönöm szépen a segítséget, tökéletesen működik! :-)
Előzmény: Törölt nick (6278)
Törölt nick Creative Commons License 2007.11.12 0 0 6278
Szia!

Két dolog elöljáróban.

1) A ciklust érdemes visszafelé futtatni, 1000-től 2-ig. Ha ugyanis kitörlöd pl. a 8. sort, akkor az összes alatta lévő feljebb ugrik eggyel, tehát a 9-esből lesz a 8-as. Ha a ciklusod előrefelé megy, akkor a 8 után 9 jön, tehát a 8-as sort, ami eddig 9-es volt, nem vizsgálja meg, az így egyszerűen kimarad.

2) A .Select gyakran fölösleges. Azon kívül, hogy az aktív ablakot oda rángatja, ahol a dolgok éppen történnek, nem nagyon csinál mást, mint hogy lelassítja a kód futását. Nem beszélve arról, hogy .Select utasítást csak az aktív munkalapon lehet kiadni, míg időnként arra van szükség, hogy a kód más munkalapokon is lefusson.

Ezek alapján így csinálnám:

For i = 1000 To 2 Step -1
If Cells(i, 2).Interior.ColorIndex = 3 Then Cells(i, 2).EntireRow.Delete
Next

Előzmény: Törölt nick (6277)
Törölt nick Creative Commons License 2007.11.12 0 0 6277
Sziasztok!

 

Ismét segítséget szeretnék kérni egy feladat megoldásához.

A lényeg, hogy a makrónak egy cikluson belül kellene átvizsgálni egy adott területet, és ha piros színre állított cellát talál az egész sort (és nem csak a cella tartalmát) törölnie kell.

Ez utóbbival nem boldogulok, ebben kérek segítséget.

 

For i = 2 To 1000

       

     Cells(i, 2).Select

    

     If Selection.Interior.ColorIndex = 3 Then

       

        ’Itt kellene az egész sort törölni…

       

     End If

 

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

lacko1970 Creative Commons License 2007.11.12 0 0 6276
sziasztok
Excelbe(2003) szeretnék egy olyan megjegyzést beszúrni egy cellába,amibe ne csak szöveget lehessen
beleírni hanem egy fénykép is felugorjon.Tehát ha rámegyek egy bizonyos cellára szeretném ha felugorna egy kis szövegrész és egy fénykép is hozzá.Filmjeim kategorizálására kellene.
Remélem érthető voltam.Köszi a segitséget elölre is.
Laca


Ja és mégvalami.
Hogyan tudok egy céllába egy hivatkozást beilleszteni, ami egy korábban elmentett internetes oldalra mutat.Mindig azt irja ki hogy nem tudja megnyitni az elmentett oldalt a winyórol mert nincs hozzá protokol rendelve.
ndrv Creative Commons License 2007.11.12 0 0 6275

Működik, valóban. Köszi a segítségeteket. .)

 

(Valamit elkefélhettem a hivatkozásnál - vagy nem tettem hozzá a.. _click-et, vagy  - eléggé el nem itélhető módon - a zárójeleket is hozzáraktam a végére, de ez már mindegy is.)

Előzmény: Törölt nick (6273)
bassboy Creative Commons License 2007.11.12 0 0 6274
A pivot tábla eredményét automatikusan külön munkalapokra lehet tenni. Nem találom ezt a funkciót, pedig van ilyen. Tudjátok hol van?
Így nem egy hosszú listám lenne bal oldalon a vevők neveivel, hanem minden vevő másik lapra kerülne.
Törölt nick Creative Commons License 2007.11.11 0 0 6273
Nekem működik így is...
Mi a kód a két gomb mögött?
Előzmény: ndrv (6272)
ndrv Creative Commons License 2007.11.11 0 0 6272
Pontosan. De így nem működik a dolog.
Előzmény: Törölt nick (6270)
Törölt nick Creative Commons License 2007.11.11 0 0 6271
Semmit nem mondtál arról, hogy mit tapasztalsz a kívánt eredmény helyett. Így nem tudunk segíteni.
Előzmény: PopSimon2 (6269)
Törölt nick Creative Commons License 2007.11.10 0 0 6270
Private Sub CommandButton1_Click()
ActiveCell.Interior.Color = 10
End Sub


Private Sub CommandButton2_Click()
CommandButton1_Click
End Sub

Ilyesmire gondolsz?
Előzmény: ndrv (6267)
PopSimon2 Creative Commons License 2007.11.10 0 0 6269

Szia!

 

Köszönöm a választ, sajna nem sikerül...

Biztosan bennem van a hiba.

PopSimon2

Előzmény: Törölt nick (6259)
Törölt nick Creative Commons License 2007.11.10 0 0 6268
Miért nem külön Private Sub-okat írsz? Azokat meghívhatod a CommandButton eseménykezelőjéből is, meg egymásból is.
Előzmény: ndrv (6267)
ndrv Creative Commons License 2007.11.10 0 0 6267

Sziasztok!

 

Szerintem egy egyszerűen megoldható problémám van, de én nem jövök rá a megoldásra:

 

Létrehozok egy userformot, rá mondjuk két command_ buttont és írok mögéjük egy-egy makrót. Azt szeretném, hogy az egyik makróból fusson a másik, de nem tudok az egyik makróban a hagyományos módon hivatkozni a másikra (a makró nevével).Hogy lehetne orvosolni ezt a kis problémát?

Törölt nick Creative Commons License 2007.11.10 0 0 6266
Ksözönöm, akkor ugyanaz történik, mint szerkesztés közben... Ha írok kézzel a cellába, vagy F2-t nyomok rajta, akkor a copy false lesz.  :(
Előzmény: Törölt nick (6265)
Törölt nick Creative Commons License 2007.11.10 0 0 6265
Próbálgattam a kódodat, step-by-step végrehatjással, és azt tapasztaltam, hogy a szaggatott vonal a
Range(Cells(SOR, 1), Cells(SOR, 12)).Font.ColorIndex = 0
sor végrehatjásakor tűnik el, más esetben nem.

Ha kipróbálod (SelectionChange eseménykezelő nélkül), hogy valahol Ctrl+C, aztán kijelölsz egy másik területet és megváltoztatod a font színét, akkor is eltűnik, szóval nem hiszem, hogy lehetne tenni ellene.
Hacsaknem eltárolod valahol a Copy-val kimásolt tartomány címét, és berakod az eseménykezelőbe, hogy a font színének megváltoztatása után újra hajtson végre egy Copy-t.
Előzmény: Törölt nick (6264)
Törölt nick Creative Commons License 2007.11.10 0 0 6264
Szia!
Jó gondolatovasó vagy.
Nincs benne CutCopyMoe = Flase

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim UTDAT As Date
On Error Resume Next
SOR = Target.Row
UTDAT = Cells(SOR, 12).Value

If UTDAT <> ISBLANK Then

On Error Resume Next
Range(Cells(SOR, 1), Cells(SOR, 12)).Font.ColorIndex = 0

End If

End Sub

Ez pl. lentebb írt problémát eredményezi. Bár nem rendszeresen, hanem általában ha a szagatottan villogó cella feletti tartományba lépegetek. Főleg, ha folyamatos kurzorgombnyomogatással. Valszeg a makró futásának a lassúsága okozza...
Előzmény: Törölt nick (6263)
Törölt nick Creative Commons License 2007.11.09 0 0 6263
Szia.
Feltéve, hogy "aktív copy" alatt a Ctrl+C hatására megjelenő szaggatott vonalat érted (gondolom, hogy azt, de talán tévedek), nos én kipróbáltam, de nem inaktiválódott SelectionChange eseményre. Szerintem az eseménykezelő kódodban lesz valami.
(CutCopyMode = False, hm?)
Előzmény: Törölt nick (6262)
Törölt nick Creative Commons License 2007.11.09 0 0 6262
Hahó!
Úgy vettem észre, ha Worksheet_SelectionChange eseményt használom, akkor az esemény bekövetkeztekor inaktív lesz a copy a cellában. Lehet ezt valahogy orvosolni?
Törölt nick Creative Commons License 2007.11.09 0 0 6261
Hahó!
Úgy vettem észre, ha Worksheet_SelectionChange eseményt használom, akkor az esemény bekövetkeztekor inaktív lesz a copy a cellában. Lehet ezt valahogy orvosolni.
fajlkezelo Creative Commons License 2007.11.08 0 0 6260
Sziasztok!

Ok, köszi a válaszokat,
ez a rövidítés már jó lesz.

A cellaformázásos tippnél még át kell alakítanom
azt dátumformává egy másik oszlopban,
de az már egyszerűbb, mint VBA-ban
megoldani.

Köszönöm mindenkinek.
Előzmény: Törölt nick (6257)
Törölt nick Creative Commons License 2007.11.08 0 0 6259
Ha A oszlop a fiúk, B oszlop a lányok, akkor legyen

C1-ben a képlet =DARABTELI(A:A;">160")
C2-ben a képlet =DARABTELI(B:B;">160")
D1-ben a képlet =DARABTELI(A:A;"<=160")
D2-ben a képlet =DARABTELI(B:B;"<=160")

Azután ábrázold C1:D2 tartományt azzal a halmozott oszlop típussal.

Előzmény: PopSimon2 (6254)
Törölt nick Creative Commons License 2007.11.08 0 0 6258
de ha nem ez volt a kérdés akkor itt lásd lent ;)
Előzmény: Törölt nick (6257)
Törölt nick Creative Commons License 2007.11.08 0 0 6257
írd így: 8-20
08-20
10-12
10-01
10-1
stb...
és az excel felismeri dátummként.
Ha csak hónap-napot írsz be, akkor a folyó évvelértelmezi. Ha más évszámot szeretnél, akkor írd elé hasonló formában az utolsó két karakterét. A kötőjel helyett lehet pont is. (Pl.: 1-10-31 (2001.10.31); 99-10-31 (1999.10.31)
Időnél szerintem nins hasonló egyszerűsítés.
Előzmény: fajlkezelo (6255)
toccata Creative Commons License 2007.11.08 0 0 6256
Jobb klikk a cellákon -> Cellák formázása -> Egyéni (ha jólemléxem), majd a formátumkód megadása:
00"/"00"/"00 és 00":"00.
Előzmény: fajlkezelo (6255)
fajlkezelo Creative Commons License 2007.11.07 0 0 6255
Sziasztok!

Egy kollégám igényét fogalmazom meg:

dátum, ill. idő rögzítésekor csak számokat kelljen írni.

Pl. 07/11/02 helyett 071102 beírásával
ill. időnél:
08:30 helyett 0830 (vagy 830) beírásával
könnyítsem meg az életét,
mivel az Access-ben van hasonló.

VBA-val meg tudnám oldani, de talán van egyszerűbb megoldás.


Kösz
PopSimon2 Creative Commons License 2007.11.07 0 0 6254

Sziasztok!

 

Remélem, érdekes kérdésem van...

Van egy iskolai osztály, amiben ugye vannak fiúk és lányok. Mindkét nem kéviselői között vannak alacsonyak (160 cm alatt) és magasak (160 cm felett). Mindezt úgy kéne ábrázolni egy grafikonon, hogy szemléletes legyen. Valami olyasmit képzelek, hogy halmozott oszlopon a fiúk és a lányok, és ezen téglalapok osztva (függőlegesen) a magasak  - alacsonyak arányában.

Van valakinek ötlete, hogy tudnám ezt megoldani Excellel?

Köszönöm, ha foglalkoztok vele:

Oszizsu

wawabagus Creative Commons License 2007.11.07 0 0 6253

Szia :-)!

Ez elég ígéretesnek hangzik. Szóval akkor az első lépés az, hogy megtudom milyen kódlapot használnak kint, igaz?

OK :-)...jó megoldásnak tűnik.

Köszi szépen a segítséget!

Y

Előzmény: magyarpityu (6252)
magyarpityu Creative Commons License 2007.11.07 0 0 6252
Két oldala van a dolognak. Egyrészt a gépen használsz valamilyen kódlapot, amit az oprendszer határoz meg. Mondjuk nálad a 852-es Latin-II van telepítve, amit Közép-Európában használunk, és ha mondjuk a franciák oprendszere a 863-asat használja, az már kavarodást okozhat. Másrészt az Excel is tárol területi beállításokat, amik akár munkalaponként is mások-mások lehetnek. Szerintem a megoldás, ha azonos kódlapot használsz a franciákkal, vagy esetleg unicode szövegeket írsz, mert az elvileg mindenhol jó lesz, már ha van ilyen betűtípus telepítve a gépeden és a franciák gépén.
Előzmény: wawabagus (6250)
wawabagus Creative Commons License 2007.11.07 0 0 6251

Ezt értsem úgy, hogy passzoljátok a kérdést?

:-DDD

wawabagus Creative Commons License 2007.11.07 0 0 6250

Sziasztok!

Volna egy kérdésem, bár nem tudom mennyire találkoztatok ilyen problémával.

Tehát, én Mo-ról dolgozom Franciaországnak és mindeféle hülye francia karaktert kell használjak a táblázataimban. Most nekem az a bajom, hogy kapok valamit Fro-ból és akkor a francia ékezetes betűk helyén kérdőjelek stb. vannak. Aztán én elküldök nekik valamit és az én gépemen minden szép és jó, erre az ő gépükön vannak kérdőjelek.

Szerintetek ezt ki lehet küszöbölni valahogy?

Köszi a segítséget!!!

Y

 

byszka11 Creative Commons License 2007.11.06 0 0 6249
Sziasztok


Egy Formon lévő Label -hez lehet valahogy jobb klikk menüt rendelni?


Előre is köszönöm
fajlkezelo Creative Commons License 2007.11.01 0 0 6248
Ja, ok!

Úgy látom, hogy az utolsó paraméternek
1-nek kell lennie és akkor jól működik.

Köszönöm
Előzmény: Jozsef (6247)
Jozsef Creative Commons License 2007.10.31 0 0 6247
FKERES(), KERES(lánykori nevén KUTAT) függvény
Előzmény: fajlkezelo (6246)
fajlkezelo Creative Commons License 2007.10.31 0 0 6246
Sziasztok!

Szeretnék egy képletet írni a következő probléma megoldására:

A B C
0 100 1%
101 200 2%
201 300 3%

Az A, B, C oszlopban csak példaszámok vannak,
a valóságban más számokkal (de rendezetten) kell dolgoznom.

Kérdéses függvény így működne:

=függvény(20) = 1%
=függvény(110) = 2%
=függvény(230) = 3%

Tehát ki kellene keresnem, hogy melyik tartományba
esik a kérdéses szám (20, 110, 230) és a neki megfelelő
% értéket kellene visszaadnia.

Sajnos nem jöttem rá, hogy kell.

Köszönöm.
Törölt nick Creative Commons License 2007.10.27 0 0 6245

Itt is egy link, szerintem ebből is ki lehet indulni:
How to automate Outlook by using Visual Basic?

http://support.microsoft.com/kb/220595
Előzmény: SpidyX30XE (6239)
Törölt nick Creative Commons License 2007.10.27 0 0 6244
kösz, megvan
k = 4 + (9 * n)
Előzmény: Törölt nick (6243)
Törölt nick Creative Commons License 2007.10.27 0 0 6243
vmi ilyesmi

For n = 0 To DB
k = n + 9
Cells(k, 4) = V(0, n)
Cells(k, 4) = V(1, n)
Next


De ez nem kó :(, mert ugye a 9-ik sortól bevágja egymás után az értékeket, és nem tudom mit kellene a Cells(k, 4) = V(0, n)-ban a "k" helyére írni
Persze az is lehet hogy úgy sz@r ez az egész ahogy van
Előzmény: Törölt nick (6242)
Törölt nick Creative Commons License 2007.10.27 0 0 6242
Halló!
Légyszi segítsetek, hogy a fenébe lehet feltölteni minden 9-ik sort egy oszlopban, a 4-ik sortól kezdve. (vagy akérhányadik sortól)

For ciklusom megvan, egy 2 dimenziós dinamikus tömbváltozóval
ReDim V(1, 1 To DB)

De lövésem nincs hogy kell visszaadni a celláknak a fennt leírt módon... :(
Próbálkozom a számlálós értékadással, de nem jövök rá, hogy kell...

stromba Creative Commons License 2007.10.27 0 0 6241

Nézd meg az 5811-es és 5814-es hozzászólásaimat.

 

Előzmény: SpidyX30XE (6239)
stromba Creative Commons License 2007.10.27 0 0 6240

Azt sajnos passzoltam hogy közvetlenül VB-ből hogyan lehet levelet küldeni outlookon keresztül, de mivel ez egy exceles fórum, excelen keresztül tudok rá megoldást, mert már csináltam párszor ilyet :)

 

Bővebben találsz leírást az exceles levélküldésről, példákkal együtt:

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

 

Sima outlookos mail küldéssel az a baj, hogy minden egyes elküldött levél után rákérdez hogy szeretnéd-e a levelet elküldeni. (ez valószínűleg VB-nél is így van)

Ha szeretnéd kikerülni az idióta microsoft hibaüzenetet, akkor ezt ajánlom: http://www.dimastr.com/redemption/

 

Ha érdekel egy konkrét exceles megoldás, dobj egy mailt.

 

Előzmény: SpidyX30XE (6239)
SpidyX30XE Creative Commons License 2007.10.27 0 0 6239

Sziasztok!

 

A kérdés csak kapcsolódik az Excelhez, inkább Visual Basic és inkább MS outlook, de itt olyan sok okos ember ül.

Szóval VB havonta előállít 20 filet, amit havonta 20 emberkének meg másolatban még párnak el kellene küldeni. Hogy tudom az outlookot megszólítani és szétküldeni ezeket? Vagy próbálkozzak Word mail merge-dzsel?

 

Köszi előre is!

 

toccata Creative Commons License 2007.10.26 0 0 6238
A munkalapot nem nevezted át?
Az idézőjelek közé a Munka1 helyére írd be annak a munkalapnak a nevét, amivel akarod indítani.
Előzmény: nkaresz1978 (6237)
nkaresz1978 Creative Commons License 2007.10.26 0 0 6237
Ez valamiért nem működik.
Az idézőjel a zárójelen belül kell ugye?


Private Sub Workbook_Open()
Sheets("Munka1").Activate
End Sub
Előzmény: Törölt nick (6090)
nkaresz1978 Creative Commons License 2007.10.23 0 0 6236
Köszönöm mindenkinek...
SIKERÜLT!! :-)
toccata Creative Commons License 2007.10.23 0 0 6235
Nyiss meg két új munkafüzetet!
Mentsd el őket mondjuk egyes.xls és kettes.xls néven.
Az egyes munkafüzetben a Munkalap1 munkalapján az a A1 cellába írj be valamilyen értéket (mondjuk 1-et). Majd nyomj Enter-t.
A ketes munkafüzet Munkalap1 munkalapján az A1 cellába írjy egy egyenlőségjelet (=) de még ne nyomj entert, hanem kattintsd az egyes munkafüzet Munkalap1 A1 cellájára.
Most nyomj Enter-t.
Előzmény: nkaresz1978 (6232)
nkaresz1978 Creative Commons License 2007.10.23 0 0 6234
Sajnos ebből nem tudom kibogozni :-(
Nemtok angolul túl sokat..
stromba Creative Commons License 2007.10.21 0 0 6233
Előzmény: nkaresz1978 (6232)
nkaresz1978 Creative Commons License 2007.10.21 0 0 6232
köszi!

Kezdjük az elején. Hogy kell hivatkozással beolvasni az adatokat?
Előzmény: toccata (6231)
toccata Creative Commons License 2007.10.20 0 0 6231
Hozz létre mégegy munkalapot, majd arra hivatkozással olvasd át a szükséges adatokat.
Innen már simán mehet az érvényesítés. Mégszebb, ha az átolvasott tartománynak nevet is adsz és az évényesítésnél azt adod meg.
Előzmény: nkaresz1978 (6227)
Törölt nick Creative Commons License 2007.10.20 0 0 6230
Szia Karesz!

Nem jó, ha név szerint fordulsz hozzám (vagy bárkihez) egy új kérdéssel. Így mások, akik esetleg segíteni tudnának, azt gondolhatják, hogy ez csak mi kettőnk dolga.

Ami magát a kérdést illeti:
1) Sajnos az adatérvényesítés problémájára nem tudom a megoldást. De erről már beszéltünk egyszer (lásd 6028-as hozzászólásodat, és rá a választ 6030-ban).

2) Amikor egy képlet egy másik munkafüzetre hivatkozik, akkor a munkafüzet neve szögletes zárójelek közé kerül. Próbáld ki függvényvarázslóval, hogy egy tetszőleges függvény megadásakor a paraméter cellát/cellákat egy másik munkafüzeten jelölöd ki, és látni fogod a rendszert.
Előzmény: nkaresz1978 (6227)
Törölt nick Creative Commons License 2007.10.20 0 0 6229
Szia!

Kijelölöd a kívánt oszlopokat, aztán a menüből Adatok -> Érvényesítés, majd ott a megengedett értékek közül kiválasztod, hogy egész, vagy tört szám legyen.
Előzmény: piramis1 (6228)
piramis1 Creative Commons License 2007.10.19 0 0 6228

Sziasztok!

Kellene egy kis segítség : hogyan lehet lekorlátozni, hogy az excel táblázat egy-egy oszlopába csak számokat lehessen beírni és betűket ne?

Segítséget előre is köszönöm

nkaresz1978 Creative Commons License 2007.10.19 0 0 6227
Szia Jimmy!

Egy korábbi problémára térnék vissza. A következő megoldást adtad a kérdésemre ami jó is volt...

"Egy lehetséges megoldás:

1. Vedd fel a munkalap A oszlopába az árucikkeket, a B oszlopba a cikkek árát.
2. Legyen C1, D1 és E1 értéke rendre "mennyiség", "cikk" és "ár" (vagyis ez egy fejléc).
3. Jelölj ki a D2-től kezdve lefelé annyi cellát, amennyit akarsz (akár az egész oszlopot is). Ezután a menüből válaszd ki, hogy Adatok -> Érvényesítés. Az érvényesítési feltételben a Megengedve mező értéke legyen "Lista", a Forrás mezőé legyen "=A:A" (idézőjelek nélkül). Ezzel a kijelölt cellákra megszabtad, hogy értéküket csak az A oszlopban felsorolt értékek közül lehet kiválasztani.
4. Az E2 cellába írd ezt a képletet:
=HA(HIBÁS(FKERES(D2;A:B;2;HAMIS)*C2);"";FKERES(D2;A:B;2;HAMIS)*C2)
5. A képletet terjeszd ki lefelé amilyen mélyen akarod.
6. Teszteld a megoldást úgy, hogy a C és D oszlopokba különféle értékeket írogatsz.
7. Esetleg az A és B oszlopokat el is rejtheted (Formátum -> Oszlop -> Elrejtés)"

Na most az van hogy az artabla munkalap egy külön munkafüzetben lesz. Ez azért van mert sok helyet foglal. Innen hívnám be az adatokat egy másik munkafüzetbe. Mindkét munkafüzet meg lenne nyitva abban a pillanatban amikor szükség van rá.
De.
Sajnos az érvényesítésben nem engedi hogy másik munkafüzetben lévő munkalapot adjak meg. Hogy lehet ezt kikerülni? Jah és a képletet sem tudom hogy hogy tudnám így összehozni :(

ha tudsz valami megoldást légyszíves segíts! Köszi
Előzmény: Törölt nick (6217)
Törölt nick Creative Commons License 2007.10.19 0 0 6226
tényleg köszönöm mindenkinek, aki segített. Egy csomó mindent meg tudok már önállóan oldani, csak türelmetlen vagyok.
Törölt nick Creative Commons License 2007.10.19 0 0 6225
Igazából nem a lentebb feltett kérdéseim egyenes megoldását alkalmaztam, hanem találtam más lehetőséget dinamikus tömb formájában, aminél ugye nincs üres.
(Egy másik fórumon vezettek rá erre, szóval nem az én érdemem)
Illetva ha van, mert még nem kapott értéket a dinamikus változó , akkor így írtam ki msgbox-ra:

For i = 0 To UBound(NINCS)
V = V & Chr(10) & NINCS(i)
Next

És a V változót kapta meg az MsgBox (többek között)

Egyébként egy másik fórumon vezettek rá a megoldásra, hogy hogy kell ezt csinálni.
Előzmény: stromba (6224)
stromba Creative Commons License 2007.10.19 0 0 6224
Szerintem elnézzük, de talán piszkítsd ide azt is hogy hogyan csináltad, hátha tanulunk belőle. :)))
Előzmény: Törölt nick (6223)
Törölt nick Creative Commons License 2007.10.19 0 0 6223
ok megoldottam mindkettőt, elnézést, hogy mindig ide piszkítok.
Előzmény: Törölt nick (6222)
Törölt nick Creative Commons License 2007.10.18 0 0 6222
vagy hogy lehet egy msgbox-ra kiíratni a tömbváltozó nem üres elemeit? Van erre valami egyzserű szép megoldás?
Törölt nick Creative Commons License 2007.10.18 0 0 6221
Azt hogy lehet figyelni, hogy egy tömbváltozó üres (vagy nem)?
Törölt nick Creative Commons License 2007.10.18 0 0 6220
Kivéve akkor, ha a nem összefüggő tartomány két dimenziós (vagyis egynél több sor és egynél több oszlop).
Előzmény: Törölt nick (6217)
Törölt nick Creative Commons License 2007.10.18 0 0 6219
Egyébként én is kérdeztem máshol. Nem lehetséges változóba írni nem összefüggő tartományt, csak a for ciklusos megoldással.
Előzmény: Törölt nick (6217)
Törölt nick Creative Commons License 2007.10.18 0 0 6218
Igen, azt hiszem ez a legegyszerűbb megoldás. Köszi.
Előzmény: Törölt nick (6217)
Törölt nick Creative Commons License 2007.10.18 0 0 6217
Talán egyszerűbb, talán nem, de ha a nem összefüggő cellatartományt Copy/Paste átmásolod valahová, mondjuk egy rejtett munkalapra, akkor összefüggő tartományt kapsz, amelyre alkalmazható a 6149-ben leírt módszer.
Előzmény: Törölt nick (6214)
AAAaaa Creative Commons License 2007.10.17 0 0 6216

Koszi, nalunk angol Excel van.

Itt irja le mas is a hasonlo tapasztalatat:

http://www.pcreview.co.uk/forums/thread-3077186.php

Előzmény: stromba (6205)
Törölt nick Creative Commons License 2007.10.17 0 0 6215
Egyébként a union-nal lehet több tartomány egyesítését kezelni, de szerintem az itt nem jó erre.
Előzmény: Törölt nick (6214)
Törölt nick Creative Commons License 2007.10.17 0 0 6214
Köszönöm, azt hittem van egyszerűbb módszer is. Hasonló favágóbb módon megcsináltam én is. A For ciklusban MEZO(0 To 4) - ben a MEZO(4) változót visszaírtam a különálló cella tartalmával.)
Előzmény: Törölt nick (6213)
Törölt nick Creative Commons License 2007.10.17 0 0 6213

Egydimenziós tömbbe írni nem összefüggő tartományt, pl. így:

 

Sub Gomb1_Kattintáskor()


Dim MEZO()
Dim i
Dim C
Dim T


Set T = Range("A1,A5:A8")
For Each C In T
             i = i + 1
             ReDim Preserve MEZO(0 To i)
             MEZO(i) = C
Next


MsgBox WorksheetFunction.Sum(MEZO)


Set T = Nothing

End Sub

Előzmény: Törölt nick (6212)
Törölt nick Creative Commons License 2007.10.17 0 0 6212
Magyarul hogy tudok ilyen tömbváltozóba írni Range()-el, ha amegadott tartomány nem egybefüggő, hanem pl Range("C9,C5:C8")
Előzmény: Törölt nick (6210)
Törölt nick Creative Commons License 2007.10.17 0 0 6211
Nem tudom. Próbálkoztam tegnap a ciklus kikerülésével, de nem ment.
Felvetettem a kérdést egy másik fórumon. Ha valami okosat mondanak, szólok.
Előzmény: Törölt nick (6210)
Törölt nick Creative Commons License 2007.10.17 0 0 6210
Hát igen, ez tisztább, szárazabb érzés, ki is cserélem a jegyzetemben is, meg ezt én is értem (kb... :)
Lentire valami esetleg? :)
Előzmény: Törölt nick (6208)
Törölt nick Creative Commons License 2007.10.17 0 0 6209
Ebben a formában miért nem működik?
Típuseltéréssel kiakad.

Dim MEZO()
MEZO = Range("C2,C5:C8")

Meg a tied nem egy db MEZO() változóba pakolja el, hanem MEZO/MEZO(1,1), MEZO/MEZO1,2) stb...
És úgy kellene szerintem, hogy MEZO/MEZO(1), MEZO/MEZO(2) stb...

Ez miért van?
Előzmény: Törölt nick (6204)
Törölt nick Creative Commons License 2007.10.17 0 0 6208
Hát nem lemaradt a vége? :(
Szóval:

=KÖZÉP(";" & $D$1 & ";";SZÖVEG.KERES("@";HELYETTE(";" & $D$1 & ";";";";"@";SOR(A1)))+1;SZÖVEG.KERES("#";HELYETTE(";" & $D$1 & ";";";";"#";SOR(A1)+1))-SZÖVEG.KERES("@";HELYETTE(";" & $D$1 & ";";";";"@";SOR(A1)))-1)


Előzmény: Törölt nick (6207)
Törölt nick Creative Commons License 2007.10.17 0 0 6207
Mivel nem férek a bőrömbe, és mivel éreztem, hogy lehet ezt egyszerűbben is, gyúrtam még egy kicsit a dolgot. Ez a képlet ugyanazt csinálja, de rövidebb, és még értem is :)

=KÖZÉP(";"&$A$1&";";SZÖVEG.KERES("@";HELYETTE(";"&$A$1&";";";";"@";SOR(A1)))+1;SZÖVEG.KERES("#";HELYETTE(";"&$A$1&";";";";"#";SOR(A1)+1))-SZÖVEG.KERES("@";HELYETTE(";"&$A$1&";";";";"@";SOR(A1)))-1)
Előzmény: Törölt nick (6202)
Törölt nick Creative Commons License 2007.10.16 0 0 6206
Ha már makrós megoldást csináltál, akkor én is írok egyet:
Az aktív cellában levő pontosvesszős felsorolás elemeit az aktív cella alatti sorokba teszi:


Sub Gomb1_Kattintáskor()
Dim k As Integer
Dim C As Range
Dim A
Set C = ActiveCell
A = Split(C, ";")
For i = LBound(A) To UBound(A)
Cells(C.Row + i + 1, C.Column) = A(i)
Next i
Set C = Nothing
End Sub
Előzmény: Törölt nick (6202)
stromba Creative Commons License 2007.10.16 0 0 6205

ron bácsinak erre is van megoldása:

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

Előzmény: AAAaaa (6203)
Törölt nick Creative Commons License 2007.10.16 0 0 6204

Általában értettem.  Pl. "A2:C9" nyilván már kétdimenziós tömböt ad.

Egyébként visszafele is működik az értékadás. Így pl. áttmásolja cellatartományt, persze így önmagában felesleges erre külön változót használni:

 

Dim MEZO()
MEZO = Range("A2:C9")

Range("E2:G9") = MEZO

Előzmény: Törölt nick (6201)
AAAaaa Creative Commons License 2007.10.16 0 0 6203

Meg nem ertunk a vegere, de egy tapasztalat az Excel 2007 alkalmazassal.

 

Hasznaljuk az Analysis Toolpack Add-ins altal kinalt edate(), eomonth(), XIRR() es hasonlo funkciokat. A korabban Office 2003-ban keszult file-ok kinyitasanal megjelenik egy hiba uzenet, hogy nehany adat megsemmisult, majd azok a cellak amikben ezek a kepletek voltak atalakulnak =#N/A -re mikozben mutatjak az utolso erteket.

 

Nehany file-t el is mentettunk anelkul, hogy ezt a hibat eszrevettuk volna (csak akkor veszed eszre, ha ramesz a cellara) es nem kis munkat kell visszanezni.

 

Szoval ha hasznaltok Toolpack-ot es attertek 2007-re akkor jarjatok korul eloszor a temat...

Törölt nick Creative Commons License 2007.10.16 0 0 6202
Gratulálok. Ez nem semmi.
Köszönöm szépen, az a helyzet hogy közben írtam rá makrót, marha jó is lett.
Ronda és finom, mert működik. Kipróbáltam. Megy a jegyzeteim közé ez is.
Előzmény: Törölt nick (6198)
Törölt nick Creative Commons License 2007.10.16 0 0 6201
Hahó!
Nagyon köszönni segítség!
De mitől is lesz egy tömb többdimenziós?
Mert pl a MEZO = Range("C2:C9") egydimenziós ha jól vágom.

Előzmény: Törölt nick (6197)
Törölt nick Creative Commons License 2007.10.16 0 0 6200
Azért egy kis magyarázat mégis. Vagyis inkább használati utasítás.

A képlet az A1 cellában lévő sztringet, azaz pontosvesszővel elválasztott értékeket szedi szét cellákba. A szétszedés úgy történik, hogy a képletet az autokitöltés funkcióval lefelé másoljuk egy összefüggő cellatartományba.
Amennyiben az A1-ben a sztring "@" vagy "#" karaktereket tartalmaz, a képlet nem működik helyesen. Amennyiben az A1 helyett mondjuk D23 tartalmazza a sztringet, a képletben csak a $A$1-eket kell megváltoztatni, ám a SOR(A1) kifejezések maradjanak változatlanul!

Asszem ennyi.

Előzmény: Törölt nick (6198)
Törölt nick Creative Commons License 2007.10.16 0 0 6199

Egyébként Array típusú lesz a MEZO ekkor.

 

Előzmény: Törölt nick (6197)
Törölt nick Creative Commons License 2007.10.16 0 0 6198
Khmm...
Ezt próbáld meg!

=KÖZÉP(HELYETTE(HELYETTE(";" & $A$1 & ";";";";"@";SOR(A1));";";"#";SOR(A1));SZÖVEG.KERES("@";HELYETTE(HELYETTE(";" & $A$1 & ";";";";"@";SOR(A1));";";"#";SOR(A1)))+1;SZÖVEG.KERES("#";HELYETTE(HELYETTE(";" & $A$1 & ";";";";"@";SOR(A1));";";"#";SOR(A1)))-SZÖVEG.KERES("@";HELYETTE(HELYETTE(";" & $A$1 & ";";";";"@";SOR(A1));";";"#";SOR(A1)))-1)

Elég ronda, és igazából nem is értem, de nekem működik.
(Nem vállalkozom rá, hogy elmagyarázom :))

Előzmény: Törölt nick (6193)
Törölt nick Creative Commons License 2007.10.16 0 0 6197

Pl. MEZO egy tömb lesz, pl. összegzéshez:

 

Sub Gomb1_Kattintáskor()
Dim MEZO()
MEZO = Range("C2:C9")
MsgBox WorksheetFunction.Sum(MEZO)
End Sub

vagy így a tartomány megadás:

MEZO = Range(Cells(2, 3), Cells(9, 3)) 'C2-C9

 

Egyébként a tömb dimenzió-határai lekérdezhetők így, ha mondjuk több dimenziós lenne a tömb:

UBound(MEZO, 1) ' első dimenzió felső határa
MsgBox LBound(MEZO, 2) ) ' második dimenzió alsóhatára

Előzmény: Törölt nick (6195)
Törölt nick Creative Commons License 2007.10.16 0 0 6196
Lehet ennél szebben, egyszerűbben?:

Dim MEZO(0 To 7) As String
For i = 0 To UBound(MEZO)
MEZO(i) = Cells(i + 2, 3).Value
Next

Előzmény: Törölt nick (6195)
Törölt nick Creative Commons License 2007.10.16 0 0 6195
hogy tudok egy cellatartományt változóba (tömbszerűen) rakni?
Pl:

Dim MEZO(0 To 7) As Range
MEZO = Range("C2:C9") ????

byszka11 Creative Commons License 2007.10.16 0 0 6194
Köszönöm müxik!!!
Előzmény: Törölt nick (6190)
Törölt nick Creative Commons License 2007.10.16 0 0 6193
Pl ez működik:
=CSERE(KÖZÉP($D$23;SZÖVEG.KERES("@";HELYETTE($D$23;";";"@";SOROK($A$1:A1));1);11);1;1;"")
Probléma hogy az első lemarad, és ha eltérő hosszúságú a pontosvesszők közötti szöveg, akkor már nem tökéletes.
Előzmény: Törölt nick (6192)
Törölt nick Creative Commons License 2007.10.16 0 0 6192
Hahó!
Szépen le van itt naplózva, hogy éppen mit csinálok :) Most folytatom megint egy kérdéssel.
Beépített függvényekkel, makró nélkül, (és nem a szövegtagolóval) hogy lehetne szétszedni egy pontosvesszővel tagolt listát külön-külön sorokba? (egymás alá)
Szrtem SZÖVEG függvényekkel meg lehet csinálni de még nem jöttem rá, hogy hogyan. (én a KÖZÉP-be ágyazott HELYETTE függvényekel próbálkozok eddig)
Törölt nick Creative Commons License 2007.10.15 0 0 6191
Ha létrehozol egy új objektum-osztályt, annak a dolgait (tulajdonságait, metódusait) tudod itt tárolni. Ha találsz jó irodalmat objektum-orientált programozásról, és ha abban le van írva a felhasználói objektumosztályok témája, az nagyjából érvényes lesz az Excelre is, bármilyen programnyelvhez íródott a könyv. A szintaxis bizonyára más, de általános képet azért kaphatsz.
Előzmény: Törölt nick (6188)
Törölt nick Creative Commons License 2007.10.15 0 0 6190
Sub Proba()

UgrasIde:
.
.
.
GoTo UgrasIde
End Sub


De szerintem jobban jársz egy Do... Loop Until szerkezettel...
Előzmény: byszka11 (6189)
byszka11 Creative Commons License 2007.10.15 0 0 6189
Sziasztok!


Milyen utasítással tudok visszaugrani a makró elejére?

Köszönöm
Törölt nick Creative Commons License 2007.10.15 0 0 6188
A Class Modules-t mire szokták használni? Egyik könyvemben sem találok erre utalást.

Törölt nick Creative Commons License 2007.10.15 0 0 6187
Jó napot! :)
Eeeeeez aaaaazz, köszönöm!
Ismertem ezt az Application.WorksheetFunction-t - de nem gondoltam, hogy ennyire egyszerű :(
Így sokkal szebb, meg egyszerűbb is így megírni. Meg talán gyorsabb is.
Előzmény: Törölt nick (6186)
Törölt nick Creative Commons License 2007.10.15 0 0 6186
Jó reggelt! :)

Csak még annyit, hogy az összegzést így is megcsinálhatod:

TOTAL = Application.WorksheetFunction.Sum(OSSZEG)

Nem biztos, hogy a kód lefutása gyorsabb lesz, (bár gyanítom, hogy az,) de sztem elegánsabb így.
Előzmény: Törölt nick (6185)
Törölt nick Creative Commons License 2007.10.14 0 0 6185
Oké, sikerült ez is. Csak az if-be kellet egy Else: NINCS(i) = KERES(i) ág.

KÖSZÖNÖM!!!!!!
Előzmény: Törölt nick (6184)
Törölt nick Creative Commons License 2007.10.14 0 0 6184
Köszönöm az önzetlen segítséget.

Esetleg valami ötleted van még arra, hogy amiket nem talált meg azokat hogy lehetne egy változóba írni?
Előzmény: Törölt nick (6180)
Törölt nick Creative Commons License 2007.10.14 0 0 6183
Ok, rossz helyre tettem az End If-et. Szépen működik, de így meg nem tudom eltárolni, hogy mit nem talált meg. :)
Előzmény: Törölt nick (6181)
Törölt nick Creative Commons License 2007.10.14 0 0 6182
Dim CELLA
Dim TOTAL As Long
Dim OSSZEG(0 To 10) As Long
Dim NINCS(0 To 10) As String
Dim TALALAT As Range
CELLA = ActiveCell
KERES = Split(CELLA, ";")
Db = UBound(KERES)
Wsn = ActiveSheet.Name
Sheets("Nyitott Tételek Szállító").Select
Columns("D:D").Select


For i = 0 To Db

'On Error GoTo ErrorHandler

Set TALALAT = Selection.Find(What:=KERES(i), After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not TALALAT Is Nothing Then
End If
OSSZEG(i) = Cells(TALALAT.Row, 15).Value
TOTAL = OSSZEG(0) + OSSZEG(1) + OSSZEG(2) + OSSZEG(3) + OSSZEG(4) + OSSZEG(5) + OSSZEG(6) + OSSZEG(7) + OSSZEG(8) + OSSZEG(9) + OSSZEG(10)
MsgBox TOTAL

'ErrorHandler:
'
' If Err = 91 Then
' NINCS(i) = KERES(i)
' MsgBox "A " & NINCS(i) & " számlaszámot nem találtam meg."
' Err.Clear
' End If


Next
Sheets(Wsn).Activate
MsgBox TOTAL







Előzmény: Törölt nick (6181)
Törölt nick Creative Commons License 2007.10.14 0 0 6181
Megcsináltam ugyanígy "Set"-el, de ugyanaz a gond. (A hibakezelést kikommenteltem)

Ha nincs találat, akkor azokat is be kell írnom egy másik "NINCS" változóba, mert szükség lesz rá később.
Megőrülök.
Előzmény: Törölt nick (6180)
Törölt nick Creative Commons License 2007.10.14 0 0 6180
A Find-nak van egy másik felhasználási módja:


Dim Talalat as Range

Set Talalat = Selection.Find(What:=KERES(i), After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)

If Not Talalat Is Nothing Then

mert ha a Talalat = Nothing, na olyankor szokott hibára menni a te változatod. Így viszont le lehet kérdezni, és nincs hiba.

Előzmény: Törölt nick (6179)
Törölt nick Creative Commons License 2007.10.14 0 0 6179
Dim CELLA, ADAT
Dim TOTAL As Long
Dim OSSZEG(0 To 10) As Long
Dim NINCS(0 To 10) As String
CELLA = ActiveCell
KERES = Split(CELLA, ";")
Db = UBound(KERES)

Wsn = ActiveSheet.Name


Sheets("xy").Select
Columns("D:D").Select

For i = 0 To Db

On Error GoTo ErrorHandler
Selection.Find(What:=KERES(i), After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
OSSZEG(i) = Cells(ActiveCell.Row, 15).Value
TOTAL = TOTAL + OSSZEG(0) + OSSZEG(1) + OSSZEG(2) + OSSZEG(3) + OSSZEG(4) + OSSZEG(5) + OSSZEG(6) + OSSZEG(7) + OSSZEG(8) + OSSZEG(9) + OSSZEG(10)
MsgBox TOTAL
'Exit Sub
ErrorHandler:
If Err.Number = 91 Then
NINCS(i) = KERES(i)
MsgBox "A " & NINCS(i) & " számlaszámot nem találtam meg."

End If

Next
Sheets(Wsn).Activate
Előzmény: Törölt nick (6178)
Törölt nick Creative Commons License 2007.10.14 0 0 6178
Ciklusnál talán gyorsabb ha egyesével összeadogaom ahogy a 6128-ban példálóztam. Fene tudja...

Még egy kérdés, az "On Error GoTo címke" hibakezelés lehetséges, hogy csak egyzser működik ésha ugyanaz a 91-es hiba 2x fordul elő, mert 2x nem talál a Find, akkor a második 91-es hibánál már kiakad? Ezt egyszerűen nem tudom lekezelni, az elsőnél lekezeli, de amikor másodszorra is 91-es hiba van, akkor nem kezeli le hanem megáll.
Előzmény: toccata (6177)
toccata Creative Commons License 2007.10.14 0 0 6177
Ciklusban?
FOR i= 0 TO 10
TOTAL=TOTAL+OSSZEG(i)
NEXT
Előzmény: Törölt nick (6176)
Törölt nick Creative Commons License 2007.10.14 0 0 6176
Ezen kívűl lehet máshogy?
TOTAL = OSSZEG(0) + ........ + OSSZEG(10)
Köszönöm
Előzmény: Törölt nick (6175)
Törölt nick Creative Commons License 2007.10.14 0 0 6175
Jó, odáig eljutottam, hogy beleírom így: Dim OSSZEG(0 To 10) As Long
OSSZEG(i) = Cells(ActiveCell.Row, 15).Value

De hogy adjam írassam ki összeadva, ami az OSSZEG változóba beíródnak?
Előzmény: Törölt nick (6174)
Törölt nick Creative Commons License 2007.10.14 0 0 6174
Változóba írok egy Find-el megtalált értéket így: OSSZEG = Cells(ActiveCell.Row, 14).Value
A gondom az, hogy mivel ez a Find egy For i ciklusban van, így mindig "i" ActiveCell van, aminek a tartalma az OSSZEG változóba íródik - nyilván találatonként más - és más. A kérdésem az, hogy kell ezeket a találatokat összegöngyölítve (összeadva) egy TOTAl változóba írni?
byszka11 Creative Commons License 2007.10.12 0 0 6173
Ezer köszönet!!!!!! Működik. Azt hiszem erre soha nem jöttem volna rá.
Előzmény: stromba (6172)
stromba Creative Commons License 2007.10.12 0 0 6172

 

alternatíva az a és b xls-ben:

 

Private Sub Workbook_Open()
Workbooks("Start.xls").Save
VBAProject.Form1.Show

Workbooks("Start.xls").Close
End Sub

És a showmodal tulajdonság marad true.

 

 

másik megoldási lehetőség a Start.xls-ben:

Private Sub CommandButton1_Click()
If Range("A1")=1 Then
Workbooks.Open Filename:="D:/a.xls"
Workbooks("Start.xls").Save
Workbooks("Start.xls").Close
Else
Workbooks.Open Filename:="D:/b.xls"

Workbooks("Start.xls").Save
Workbooks("Start.xls").Close

End If

End Sub

Egyik esetben sem kell a Private Sub Form_Activate()-ban bezárni még egyszer a fájlt.


 

 

Előzmény: byszka11 (6169)
Törölt nick Creative Commons License 2007.10.12 0 0 6171
A ShowModal = False egyébként azt teszi, hogy akkor nyitott Form mellett szabadon mászkálhatsz az Excelben, munkafüzetek/munkalapok/cellák között, sőt még a menűben is.
Előzmény: Törölt nick (6170)
Törölt nick Creative Commons License 2007.10.12 0 0 6170
Ha a Form1 űrlap ShowModal tulajdonságát False-ra állítod, akkor nem tűnik el.
Előzmény: byszka11 (6169)
byszka11 Creative Commons License 2007.10.12 0 0 6169
Szia


A Start.xls tökéletesen bezáródik, de sajnos ezzel együtt még mindig a Form is.
Előzmény: Törölt nick (6165)
Törölt nick Creative Commons License 2007.10.12 0 0 6168
Nem találkoztam ilyennel, de nekem elsőre nem tűnik olyan bonyolultnak a konverziós képlet. Ha pl. 1970. jan. 1. 00 óra 00 perc a referencia, akkor így csinálnék Excel dátumot (ExD) az eGroupWare dátumból (egD):

ExD = eGD / 86400 + 25669

Azér' még tesztelném, de szerintem jó...
Előzmény: fajlkezelo (6167)
fajlkezelo Creative Commons License 2007.10.12 0 0 6167
Sziasztok!

A csodás eGroupWare (www.egroupware.org) alkalmazásból ODBC-n keresztül szedek
le adatokat (Todo) Excelbe, de a dátumot, időt (úgy látom) 1970-től
eltelt másodpercek formájában tárolja.

Szeretném ezt átkonvertálni Excel formátumúra, de elég bonyolultnak
tűnik Excel függvénnyel (vagy csak nem jól gondolom).

Találkozott már esetleg valaki ilyen problémával?

Kösz.
Bububá Creative Commons License 2007.10.12 0 0 6166

Szia!

 

Az adatlapomon van egy mail cím, írj oda, beszéljük meg ezt külön, mert itt OFF. (Amúgy a válasz: igen.) 

 

BB

Előzmény: Törölt nick (6161)
Törölt nick Creative Commons License 2007.10.12 0 0 6165
Private Sub Form_Activate()
Windows("Start.xls").Activate
ActiveWorkbook.Save
ActiveWindow.Close
End Sub


helyett


Private Sub Form_Activate()
Workbooks("Start.xls").Close (True)
End Sub
Előzmény: byszka11 (6164)
byszka11 Creative Commons License 2007.10.11 0 0 6164
A Form1 az a és a b xls-ben van.

Start.xls

Private Sub CommandButton1_Click()
If Range("A1")=1 Then
Workbooks.Open Filename:="D:a.xls"
Else
Workbooks.Open Filename:="D:b.xls"
End If
End Sub


a és b xls

Private Sub Workbook_Open()
VBAProject.Form1.Show
End Sub


Private Sub Form_Activate()
Windows("Start.xls").Activate
ActiveWorkbook.Save
ActiveWindow.Close
End Sub

Ilyenkor visszatér ugye a vagy b xls-be és bezáródik a nyitott Form1. Valami jó ötlet?
Előzmény: stromba (6153)
Bububá Creative Commons License 2007.10.11 0 0 6160

Hello!

 

Ismeretlenül - mert véletlenül találtam ide - beleszólok: A SAP mindezt tudja maga is. Kell hozzá egy jobb programozó kb. fél órára. Kulcsszó: batch-input recorder. Ennek segítségével nagyon egyszerűen generálható egy batch-input program, amit nagyon könnyű átírni, hogy bevegyen egy szövegállományt - pl. tagolt txt-t - amit meg bármivel - akár Excle segítségével is - létrehozhatsz.

 

Abban meg az előttem szólónak igaza van, hogy ha már van...

 

egy kétkezi SAP-os:

Bububá

Előzmény: Törölt nick (6156)
bubu88 Creative Commons License 2007.10.10 0 0 6159
Köszi mindkettőtöknek, működik!
Előzmény: toccata (6148)
stromba Creative Commons License 2007.10.10 0 0 6155

FF67-ben elvileg van egy képernyő ahol a beírandó adatok egymás mellett/alatt vannak, gondolom ezt használtad ki. Azért csak zárójelben annyit, hogy a bankok azért már elég régen képesek arra hogy olyan fájlt adjanak át neked amit automatikusan be tudsz tölteni sap-ba és nem kell kézzel bankkivonatot könyvelni. És ha nincs pénz kis fejlesztésekre , akkor minek vett a cég SAP rendszert, az már önmagában k. drága...

Előzmény: Törölt nick (6146)
Törölt nick Creative Commons License 2007.10.10 0 0 6154
No, hát úgy látom, az SAP-hoz nálam jobban értő szakemberre leltél Stromba személyében. (Ami nem nehéz, mert nekem lövésem sincs hozzá...)
Ő valami más utat javasol, mint amit én elképzeltem. Megvárnám, hogy mi lesz annak az eredménye, mert amire én gondoltam, az első blikkre úgy néz ki, hogy valószínűleg elvezet a Windows API függvények hívásának világába, amely szintén felderítetlen terület még nekem...
Előzmény: Törölt nick (6141)
stromba Creative Commons License 2007.10.10 0 0 6153

Le kellene írnod a start.xls a / b .xls fájlokat megnyitó kódját és az a/b.xls-nek az automatikusan lefutó kódját + azt amivel a start.xls-t zárod.

 

Előzmény: byszka11 (6150)
Törölt nick Creative Commons License 2007.10.10 0 0 6152
Mi most a Form1 aktiválásához társított kód?
Előzmény: byszka11 (6150)
Törölt nick Creative Commons License 2007.10.10 0 0 6151
Az nem lehet, hogy bezárul a futás közben az a munkafüzet, amelyikben a Form1 meg van írva? Ez esetben ebből következik a következmény...
Előzmény: byszka11 (6150)
byszka11 Creative Commons License 2007.10.10 0 0 6150
Sziasztok!

Ez mitől van?:

Van egy start.xls egy a.xls és egy b.xls. A start.xls különböző adatok alapján kiszámolja hogy a vagy b .xls-t kell megnyitni. Az a és b xls-ben a megnyitáskor elindul a form1. Ha ez aktiválódik akkor visszalép a start.xls-be menti majd bezárja és visszatér az a vagy b xls-be. Az a baj, hogy viszont visszatéréskor a form1 bezáródik pedig aktívnak kéne maradnia.
Próbáltam már azt is hogy ne a form1 aktiválódásakor zárja a start.xls-t hanem az a vagy b xls megnitásakor. Egyszerűen nem megy. Valakinek van valami ötlete?
Előre is köszönöm.
Törölt nick Creative Commons License 2007.10.09 0 0 6149
Vagyis, ha A1 a szám, akkor b1-be:
=KÖZÉP($A$1;SOROK($A$1:A1);1), ha vízszintesen akarod, akkor "SOROK" helyett "OSZLOPOK"
Előzmény: Törölt nick (6145)
toccata Creative Commons License 2007.10.09 0 0 6148
Bocsika, elszúrtam.

Erre gondoltam:

A4 tartalmazza a számot
B4: =TEXT(A4;0)
C4: =MID($B$4;1;1)
D4: =MID($B$4;2;1)
E4: =MID($B$4;3;1)

és így tovább.
Előzmény: toccata (6147)
toccata Creative Commons License 2007.10.09 0 0 6147
Amíg nincs jobb megoldás:

A4 tartalmazza a számot
B4: =TEXT(A4;0)
C4: =MID($B$4;C3;1)
D4: =MID($B$4;D3;2)
E4: =MID($B$4;E3;3)

és így tovább.
Előzmény: bubu88 (6144)
Törölt nick Creative Commons License 2007.10.09 0 0 6145
BAL(), JOBB()
Előzmény: bubu88 (6144)
bubu88 Creative Commons License 2007.10.09 0 0 6144
Sziasztok!
Létezik olyan függvény Excelben, amelyik egy adott szám minden számjegyét külön cellába teszi?
köszi előre is!
stromba Creative Commons License 2007.10.09 0 0 6143
Melyik tranzakciót használod? A saját munka nem mondott sokat :))))
Előzmény: Törölt nick (6142)
Fabula_D16 Creative Commons License 2007.10.09 0 0 6140
Ügyes. Kösz.
Előzmény: stromba (6138)
stromba Creative Commons License 2007.10.09 0 0 6139

Ha ez egyszerű lenne, nem lennének ABAP programozók és az SAP nem keresné magát hülyére ;(

 

Amennyiben master data (törzsadat) feltöltésre kell, úgy a legjobb megoldás a CATT. Erről itt olvashatsz bővebben:

http://www.sap-basis-abap.com/sapab027.htm

Ennek a használatára van reális esélyed, ha nem is neked mert mondjuk nincs hozzá jogosultságod akkor a cégednél az SAP támogató csapatnak (már ha értenek hozzá, ha nem akkor ön rossz sap szakértőt választott)

 

Ha valamelyik tranzakciót szeretnéd így megtáplálni - pl F-02 GL account posting, akkor azt bizony jobb leprogramoztatni vagy venni kell egy kész alkalmazást.

 

zOption az egyik legjobb kész alkalmazás:

http://www.zoption.com/zglsu.htm

 

Az EXCEL - SAP kommunikációról itt olvashatsz bővebben:

http://help.sap.com/saphelp_nw04/helpdata/en/40/b297f3c32711d194ac00a0c94260a5/content.htm

 

Előzmény: Törölt nick (6133)
stromba Creative Commons License 2007.10.09 0 0 6138

Szia,

 

Átjött, nézem. Addig is, hátha valaki másnak is okozott már problémát:

Ha egy pivot tábla (kimutatásvarázsló) mögötti adattartomány változik, egyes esetekben megmaradnak a tételek (items) nevei holott már nincs is az adatbázisban az adott elem. Ez különösen programozásnál jelenthet gondot, pl. az adatbázisban most csak 20 féle adat van, de korábban 500 volt, akkor továbbra is olyan mintha 500 elem lenne elérhető a pivot táblából.

 

Ez a te esetedben így törölhető, ha a pivot tábla az aktív munkalapon van, neve Kimutatás1 és a Cikkszám: mező elemeit kell megregulázni:

 

Sub delOldItems()

 

Dim pItem As Object

Application.ScreenUpdating = False
For Each pItem In ActiveSheet.PivotTables("Kimutatás1").PivotFields("Cikkszám:").PivotItems
        On Error Resume Next
        pItem.Delete
        On Error GoTo 0
   
Next
 
End Sub

 

 

Előzmény: Fabula_D16 (6132)
Törölt nick Creative Commons License 2007.10.09 0 0 6137
Khmm... Valahol kihagytam egy dőlt betűs szakasz lezárást...
Előzmény: Törölt nick (6136)
Törölt nick Creative Commons License 2007.10.09 0 0 6136
"Szervusz Mester, köszönöm, hogy meghallgatsz."

Ne túlozz, erre a megszólításra nem szolgáltam rá.

"Ez egy SAP egy tranzakciójának az ablaka. Képzelj el egy ablkalot sok-sok beviteli mezővel, ahová adatokat kell beírogatni. Tehát valahogy meg kell célozni 1-1 XY helyen lévő beviteli mezőt az SAP ablakban."

Hát, ez már komolyabb dolognak tűnik, mint a notepad...
Kapásból nem tudom, de utánanézek.

"De baj van. Megáll a SendKeys-nél. De nem a SendKeys-el van baja szerintem, hanem feljebb, de mi? Még nem jöttem rá. (a notepad.exe-t megnyitja)"

A Sendkeys az aktív applikációra küldi a karaktersorozatot. Tippelek: ha pl. van egy olyan programod, ami állandóan elöl van, talán akor nem megy át. Azt megfigyeltem, hogy ha VBA editorból indítom a makrót, akkor nem küldi át a sztinget, hanem beleírja a makróba. Lehet gond az időzítéssel is, pl. ha a notepad túl lassan nyílik meg, és még nem kész a karakterek fogadására, amikor a Sendkeys végrehajtódik.

Mondom, nem tudom még, hogy lesz ez, de valószínűleg először explicite aktiválni kell a SAP megfelelő ablakát, ott fókuszálni a megfelelő beviteli mezőt, és utána küldeni a karaktereket.

"Nem kell ehhez valamit bekapcsolnia a VBA/Tools/References-ben?"

Szerintem nem. Max jelöld be az OLE Automation-t, hátha az segít. Nekem be volt jelölve, bár nem én jelöltem be, és amikor eltávolítottam, a makróm akkor is működött...
Előzmény: Törölt nick (6133)
Fabula_D16 Creative Commons License 2007.10.09 0 0 6132

stromba,

két címre is küldtem. Ha nem ment át, küldj egy címet. köszönöm.

Előzmény: stromba (6128)
Törölt nick Creative Commons License 2007.10.09 0 0 6131
Lehetséges, de alkalmazástól függ?en eltér? módszerek lehetnek. Több infó kellene.
Kezdetnek legyen itt egy egyszer? példa:

Sub notep()
Dim uzenet As String
uzenet = "Szia :-)"
Shell "C:windowsnotepad.exe", vbMaximizedFocus
Application.SendKeys uzenet
End Sub

Előzmény: Törölt nick (6130)
tbando Creative Commons License 2007.10.08 0 0 6129

József, nagyon köszönöm a felajánlott segítséget. A címedet elraktam, és ha újra beleszaladok valami megoldhatatlannak tűnő problémába, jelentkezem. Most is nagyon szívesen elküldeném a hibás változatot, mert igaz ugyan hogy kijavítottam, bár talán helyesebb, ha azt mondom, hogy megjavult a sokszori csesztetésemtől. És most hibátlan, de nem tudom mitől. Márpedig az nem ártana. Most megpróbáltam újra ugyanazt az utat bejárni, amit a nem müködő verzióknál követtem, de most hiba nélkül müxik.  Így csak elmesélni tudom, hogy milyen szimptomák jelentkeztek. Talán neked mond valamit.

 

1. A célcellában (mondjuk az A1-ben) hülye eredmény van.  B1-ből hivatkozol A1-re: Nullát ír ki. Feltehetőleg üres cellát lát.

 

2. A célcellát körkörös hivatkozás miatt nem tudja kiszámítani. Megnézed, hogy mi a fene lehet, hát az egyik módosuló cellára történő hivatkozást kicserélte önmagára, azaz a célcellára. Visszaállítod 100 szor, de nem unja meg, csak a 101-ikre. (Na jó, lehet hogy közben újra beírtam a képletet) És onnantól jó. Itt talán az adhat neked valami támpontot, hogy a célcellában egy 6 tényezős szorzat volt, a modosuló cella mindegyik tényezőben szerepelt, de az emlitett csere csak az első 5 tényezőben történt meg, az utolsóban soha.

 

3. Feltételnek megadod, hogy a módosuló cella nem lehet negatív. Nem zavarja, átmegy negatívba. Aztán egyszercsak ez is megjavul.

 

Hát ezek voltak. Nem lepődnék meg, ha megint előfordulna

Előzmény: Jozsef (6127)
stromba Creative Commons License 2007.10.08 0 0 6128

Úgy egész pontosan még most se teljesen tiszta, hogy akkor mit is szeretnél csinálni. Küldj egy mailt ha kell több segítség.

 

 

"Valószínűleg újbol létre kellene hozni a kimutatást, mert sem a frissítés, sem a mező levétele és újra felrakása nem segít. Újraépíteni pedig nem kis munka, a formázások, oldalbeállítás, és a csatolások miatt. "

 

Egyszer kell jól leprogramozni és akkor nincs vele több gond, ez miért lenne baj? Pivot táblát is lehet makróval csinálni.

 

 

"Probléma még, hogy ha a makró lapoz, nem működik a kimutatásadatotvesz függvény, ami egyébként jó."

 

Miért, ha nem makróval csinálod hanem kézzel választassz ki másik tételt a kimutatásban neked szokott frissíteni ez a függvény? Nekem sose. Nem is szoktam használni a függvényt.

 

"És meg kellene oldani a nyomtatást is úgy, hogy ne küldje el egyszerre az ezervalahány oldalt a nyomtatóra, de ne is egyesével kelljen jóváhagyni."

 

... akkor most hogy is? Amit előzőleg küldtem makrót, nem mész végig az összes tételen hanem csak bizonyos határok között, ezt vagy kézzel beállítod a makróban vagy bekéred minden indításnál egy userform vagy inputbox(ok) segítségével.

 

Vagy csinálsz egy előzetes vizsgálatot a tételekről, ahol egy külön munkalapra kilistázod a tételek számát/nevét, majd a tételek mellett jelölöd, hogy melyiket akarod kinyomtatni is. Amikor a ciklus fut, vizsgálod hogy teljesül-e ez a feltétel, és ahol igen azt kinyomtatod.

 

Vagy az egyes tételekről külön fájlt csinálsz, azokat lemented egy helyre. Ilyenkor érdemes a pivot adatokat törölni és csak a kimutatást magát megtartani. A mentett fájlneveket közben gyűjtöd egy listába, és a listában választod ki hogy melyeket akarod kinyomtatni. (Plusz oszlop segítségével). Amit ki akarsz nyomtatni, azt egyenként kinyitod, nyomtatod, bezárod. Ezeket persze mind makróval, kézzel sok értelme nem lenne.

 

 

 

 

 

 

Előzmény: Fabula_D16 (6126)
Jozsef Creative Commons License 2007.10.08 0 0 6127
bosszantó, hogy irgalmatlanul labilis. Az még hagyján, hogy a kezdőértékekre érzékeny. De van, hogy megmagyarázhatatlan okokból átírja a célcella képletét. Aztán vagy jelzi, vagy

Első blikkre szerintem, a célcellát is be raktad a módosuló cellák közé, ez sok mindent megmagyaráz(na).
Ha nem boldogulsz, küldd át emailben címemre: jozsef kukac torzsasztal pont hu, , megpróbálok ránézni. Kérlek, azt is írd meg, mi lenne az eredeti feladat :)
Üdv
József
Előzmény: tbando (6123)
Fabula_D16 Creative Commons License 2007.10.08 0 0 6126
stromba,
köszönöm az ötletet, de sajnos ez még nem az. A hét végén sokat agyaltam rajta, mert a probléma nagyon  is valós, a megoldás pedig sürgős. Annyit elértem, hogy egy makró végiglapozza az oldalakat, de megakad, ha nemlétező tételhez ér a ciklus. A nemlétező tételek pedig bekerülhettek úgy is, hogy a kimutatást másik adatforráshoz használtam, ahol léteztek, és a kimutatásvarázsló felvette. Most pedig nem tudom törölni. Valószínűleg újbol létre kellene hozni a kimutatást, mert sem a frissítés, sem a mező levétele és újra felrakása nem segít. Újraépíteni pedig nem kis munka, a formázások, oldalbeállítás, és a csatolások miatt. Probléma még, hogy ha a makró lapoz, nem működik a kimutatásadatotvesz függvény, ami egyébként jó. És meg kellene oldani a nyomtatást is úgy, hogy ne küldje el egyszerre az ezervalahány oldalt a nyomtatóra, de ne is egyesével kelljen jóváhagyni. Átnéztem az összes könyvet és a fórumot, de egyelőre nem találtam megoldást.
Ha valakinek van ötlete és ideje, kérem segítsen.
Üdv.
Előzmény: stromba (6114)
tbando Creative Commons License 2007.10.07 0 0 6125
Én szivesen feltenném az exceltabla kivágásokat, de nem értek hozzá. Anélkül meg nem érthetők meg a problémák. De ha abban benne vagy, hogy felteszed őket, akkor én elküldhetem neked, te pedig feldobod. Egyébként 3 napja tökölök egy Solveres problémán. Ma délutánra vált müködőképessé. De halvány fingom sincs, hogy mitől jó most, amikor látszólag ugyanolyan szerkezetű mint amikor nem müködött. Talán valami olyasmi lehet az oka, hogyha egy futtatás nem tud végigmenni valamiért, akkor a háttérben beragadó számítás bezavar  következő futtatásnál. De azért ez sem biztos, mert próbáltam a resetálást is, és nem volt feltétlenül eredményes. Ilyen jellegü tapasztalata nincs valakinek.?
Előzmény: Törölt nick (6124)
Törölt nick Creative Commons License 2007.10.07 0 0 6124
Jozsef ezeket nagyon vágja szerintem. De amit lehet, ne priviben, mert másnak is hasznára válhat. Pl. nekem:)
Nekem nem volt problémám még vele - bár én kisebb dolgokat szoktam vele orvosolni, és szó ami szó, több mindenre is lehetne használni....
Előzmény: tbando (6123)
tbando Creative Commons License 2007.10.07 0 0 6123

Sziasztok!

 

Aziránt érdeklődöm, hogy van-e köztetek valaki aki otthon van a Solverben. És hajlandó lenne velem konzultálni. Mert amilyen hasznos ez a funkció amikor jól müködik, annyira bosszantó, hogy irgalmatlanul labilis. Az még hagyján, hogy a kezdőértékekre érzékeny. De van, hogy megmagyarázhatatlan okokból átírja a célcella képletét. Aztán vagy jelzi, vagy nem, hogy hibás eredményt adott. Máskor nem ír át semmit, de nem vesz figyelembe egy korlátozó feltételt.  Olyat, amit egy korábbi futtatásnál figyelembe vett. A legjobb lenne, hagyni a fenébe. Amit azonban még se szívesen tennék, mert már sok optimalizálási problémát megoldottam vele, amit szeretnék a továbbiakban is.  

 

Szóval, ha van valaki, aki már megbirkózott hasonló problémákkal, örömmel venném ha jelezné nekem.  Akár priviben is. 

 

tBando

Törölt nick Creative Commons License 2007.10.05 0 0 6122
Köszi ez még jobb, ezzel megoldottam a múltkori autoszűrős kérdésemet is. thx!

Private Sub ToggleButton1_Click()
If ToggleButton1.Value Then
OK:
Application.Calculation = xlCalculationManual
Selection.AutoFilter Field:=5, Criteria1:="*" & InputBox("Szótöredék:") & "*", Operator:=xlAnd
ScreenUpdating = False
'MsgBox "Autofilter bekapcsolva. Automatikus lapfrissítés kikpcsolva"

Select Case MsgBox("Újabb szűrés?", vbYesNoCancel)
Case vbYes
GoTo OK
Case vbNo
On Error Resume Next
ActiveSheet.ShowAllData
Application.Calculation = xlCalculationAutomatic
'MsgBox "Automatikus lapfrissítés visszakapcsolva"
ToggleButton1.Value = False
Case Else
ToggleButton1.Value = False
Exit Sub
End Select
End If
End Sub

marhára örül a fejem ha sikerül valami. Igaz Goto nélkül nem tudam hogy kell, de nekem tökéletes így is.
Előzmény: Törölt nick (6121)
Törölt nick Creative Commons License 2007.10.05 0 0 6121
Vagy, ha több lehetőség van:

Dim a As Long
a = MsgBox("Kérdés", vbYesNoCancel)
Select Case a
Case vbYes
...
Case vbNo
...
Case Else
...
End Select
Előzmény: Törölt nick (6119)
Törölt nick Creative Commons License 2007.10.05 0 0 6120
francba :) egy apróságon csúsztam el. Köszönöm szépen, a gyorsaságot is.
Előzmény: Törölt nick (6119)
Törölt nick Creative Commons License 2007.10.05 0 0 6119
If MsgBox("Egyetértesz?", vbYesNo) = vbYes Then
MsgBox("Akkor jó.")
Else
MsgBox("Reklamációnak helye nincs.")
End if
Előzmény: Törölt nick (6117)
Törölt nick Creative Commons License 2007.10.05 0 0 6118
Szerintem a funkció billentyűket nem lehet testre szabni, vagy ha lehet, akkor az túlmutat az Excel lehetőségein. (Szerintem. Lehet, hogy tévedek.)

A második kérdésre:

Sub Makró1
If (Not Form1.Visible) Or Form2.Visible Then Exit Sub
...
End Sub
Előzmény: byszka11 (6115)
Törölt nick Creative Commons License 2007.10.05 0 0 6117
Szasztok, tudnátok segíteni abban, hogy miként lehet feltételhez rendelni azt hogy ha egy MsgBox-on No avagy Yes gombot nyomtak meg? Tehát ha No akkor ez van ha Yes, akkor amaz
Törölt nick Creative Commons License 2007.10.05 0 0 6116
Csak ctrl vagy ctrl+shift funkcióhoz lehet szrtem billentyűt rendelni.

Előzmény: byszka11 (6115)
byszka11 Creative Commons License 2007.10.05 0 0 6115
Sziasztok!


Valahogy az megoldható, hogy a funkció billentyűkhöz (F1 - F12) hozzárendeljek makrót? Illetve azt szeretném elérhi, hogy van egy makró ami lefut ctrl+m -re, de csak akkor fusson ha az form1 aktív, ha a form2 aktív akkor ne fusson (a form2 csak akkor aktív ha a form1 is meg van nyitva, de inaktív).
Előre is köszönöm.
stromba Creative Commons License 2007.10.04 0 0 6114

Ez így továbbra sem teljesen elég de azért már nagyjából értem. A lenti kódot egy olyan alkalmazásból vettem ki, amit akkor használtam amikor sokszáz leányvállalat adatait kellett egy pivot táblából különböző fájlokba szétdobálni.

 

Mondjuk a pivottábla neve "PivotTable1" és amiket szűrsz azok leányvállalatok az a mező ("Affiliate").


Sub idu()

 

Application.Screenupdating = False


'Két egymásba ágyazott ciklust használunk:

 i = ActiveSheet.PivotTables("PivotTable1").PivotFields("Affiliate").PivotItems.Count

    For i1 = 1 To i

            'végigmész az összes különbözo rekordon

                For i2 = 1 To i
                     'a pivot táblának csak azon elemei lesznek láthatóak, amelyeket szeretnénk, a többit elrejtjük


                          With ActiveSheet.PivotTables("PivotTable1").PivotFields("Affiliate")
                            If i2 = i1 Then
                                           
                                            .PivotItems(i2).Visible = True
                                            On Error Resume Next
                                           
                                            .PivotItems(i2 - 1).Visible = False
                                            On Error GoTo 0
                                           
                                 Else


                                On Error Resume Next 'ez az esetleges üres mezok miatt kell
                                            .PivotItems(i2).Visible = False
                                On Error GoTo 0
                            End If
                       
                        End With
                   
                Next i2

'nyomtatás

 

        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

 

'esetleg betehetsz egy ilyet hogy lásd hányadik elem lett kinyomtatva.

c = msgbox(i1 & " / " & i &  "  elem kinyomtatva", vbokonly)

 

 

Next i1

 

Application.Screenupdating = True

 

End Sub

Előzmény: Fabula_D16 (6113)
Fabula_D16 Creative Commons License 2007.10.04 0 0 6113

Elnézést, ha rosszul fogalmaztam. Részletesebben:

Az oldalmező egy szűrő a Kimutatás oldalterületén. Lényegében hasonlóképpen néz ki, mint egy tábázat fejlécén az autoszűrő. Egy lenyíló lista, benne rendezetten láthatók az alatta lévő oszlopban található adatok.  Lenyitod a listát, szűrsz az első tételre, kinyomtatod. Szűrsz a másodikra, kinyomtatod, és így tovább. Lényegében ezt szeretném egy makróval megoldani. Az objektum nevek mások, mert Pivot Tábláról van szó. Azon kívül, mivel az eredmény több mint ezer oldal lesz, valamivel kezelni kellene a folyamatot.

Üdv.

Előzmény: stromba (6111)
Törölt nick Creative Commons License 2007.10.04 0 0 6112
Szerintem itt valami kimutatásvarázslóval készített izéről van szó... és ha így van, akkor ez a probléma kívül esik a komfortzónámon :(
Előzmény: stromba (6111)
stromba Creative Commons License 2007.10.03 0 0 6111

Mi az az oldalmező?

Ha az oldalmező azt jelenti hogy van egy oszlop ahol egy adott érték már új oldalra kell hogy kerüljön, akkor: (feltételezve hogy ez az érték az A oszlopban van és mindig "q")

 

Sub oldaltores()
'
Cells.Select
ActiveSheet.ResetAllPageBreaks
Selection.SpecialCells(xlCellTypeLastCell).Select
X = ActiveCell.Row ' a tartomány -ig sora

For i = 2 To X
    If Cells(i, 1) = "q" Then
        Rows(i).Select
        ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
    Else
    End If
Next i
End Sub

 

Előzmény: Fabula_D16 (6109)
Törölt nick Creative Commons License 2007.10.03 0 0 6110
Szerintem pontosíts, mert ezek félinformácók
Előzmény: Fabula_D16 (6109)
Fabula_D16 Creative Commons License 2007.10.03 0 0 6109
Üdvözlet Mindenkinek,
Segítséget kérek. Egy oldalmező tételei szerint szeretnék kinyomtatni egy kimutatást, minden tételt új oldalon kezdve. A tételszám ezres nagyságrendű. Az oldalankénti nyomtatás funkció nem jó. Egy makró kellene. Tudtok segíteni? Köszönöm.
Törölt nick Creative Commons License 2007.10.02 0 0 6108
Köszönöm, én is gondoltam valami ilyesmire, számítottam valami frappáns megoldásra. Mindenesetre target változóval megcsináltam, aztán majd kiderül mennyire válik be.
köszi még1x
Előzmény: Törölt nick (6106)
Törölt nick Creative Commons License 2007.10.02 0 0 6107
Bocsánat, figyelmetlen voltam és elbénáztam a másolást!

Szóval, nagyon jó, tökéletesen működik! Még egyszer köszönöm!
Előzmény: Törölt nick (6105)
Törölt nick Creative Commons License 2007.10.02 0 0 6106
Értem már. Nos, egy kerülő megoldást tudnék javasolni.

Mivel az autoszűrés nem váltja ki a Worksheet_Change eseményt, szerintem szűréskor kapcsold ki az automata számolást, és Worksheet_Change eseménnyel kapcsold be. Amíg csak szűrsz, addig nem kell számolgatni, viszont ha a munkalapon módosul valami, akkor elképzelhető, hogy kell.

A gond itt az lehet, hogy Application.Calculation = xlCalculationAutomatic utasításra mindnképpen átszámolja a képleteket, ha addig xlCalculationManual volt az érték. Tehát esetleg akkor is, ha a szűrés után az első változás olyan cellában történik, amely nem része semmilyen képletnek. Ezért indokolt lehet a Change esemény lekorlátozása a Target változó segítségével.

Nem tudom, jó megoldás-e, első ránézésre annak tűnik...
Előzmény: Törölt nick (6104)
Törölt nick Creative Commons License 2007.10.02 0 0 6105

Köszönöm szépen!

Sajnos valami nem jó, nem írja át a cellába a cellához tartozó megjegyzés szövegét.

Esetleg tudnál abban segíteni, hogy lehet egy változóba átírni egy cellához tartozó megjegyzés szövegét?

Előzmény: Törölt nick (6095)
Törölt nick Creative Commons License 2007.10.02 0 0 6104
Bocs, ha nem volt érthető - pedig igyekeztem.
A fő probléma az, hogy egy 6000 soros táblázat szűrésekor a táblázat frissül, újraszámolja az egészet és ez sokáig tart. Ugyanakkor a Beállítások/számolás fülön a kikapcsolt frissítést vissza kell kapcsolnom a makró végén - hisz a további használat során szükség van erre. Viszont visszakapcsoláskor - ami teljesen helyénvaló - frissül a táblázat.

Például ez a kód az lefut:

Sub K()
Application.Calculation = xlCalculationManual
Selection.AutoFilter Field:=5, Criteria1:="*" & InputBox("Szótöredék:") & "*", Operator:=xlAnd
ScreenUpdating = False
Application.Calculation = xlCalculationAutomatic
End Sub

De az utolsó sorban a visszakapcsolás miatt frissül a táblázat és számolgat egy csomót. Magyarul azt el lehet kerülni, hogy autoszűrő használatakor ne frissüljön a táblázat?
Előzmény: Törölt nick (6102)
Impi2000 Creative Commons License 2007.10.02 0 0 6103

Üdv OZ Juice :)

Megkérhetlek, hogy küld el, vagy Írd be azt a makrót (ha publikus) amit készítettél erre a 4 soros nyomtatásos dologra.

#5985  vagy #5987-es hozzászólás.

Nekem is elkélne!

Köszönettel

Előzmény: OZ Juice (6033)
Törölt nick Creative Commons License 2007.10.02 0 0 6102
Nem értem a problémát. Tehát maradjon bekapcsolva az automatikus frissítés, de úgy, hogy ne frissüljön a tábla?(??)

Előzmény: Törölt nick (6093)
Törölt nick Creative Commons License 2007.10.02 0 0 6101
Nem nagyon használtam még Office 2007-est, de úgy rémlik, azt olvastam valahol, hogy a kezelőfelületét át lehet állítani a megszokott régire. Hogy hogyan, azt nem tudom, de szerintem a Súgó tudja. Esetleg a Súgó tudhatja azt is, hogy az X-et hogyan kell kitenni a jobb felső sarokba...
Előzmény: fajlkezelo (6096)
Törölt nick Creative Commons License 2007.10.02 0 0 6100
Szia Karesz,

Gondolj úgy a képletekre, mint az általános iskola első osztályának matekkönyvében szereplő, szaloncukor alakú "gép"-ekre. (Az én időmben még ilyenekkel etettek :))
Felül bedobsz valahány számot, alul kijön egy darab érték. Az Excel függvényei általában ilyen, 1 azaz egy kimenettel rendelkező gépek. Azt mondom, "általában", mert lehet, hogy tévedek, de most nem tudnék olyan függvényt mondani, amelyiknek két kimenő adata van. Olyat sem láttam még, hogy egy beírt képlet a beírás cellájától eltérő cellában módosít értéket. (Hacsak nem felhasználó által, VBA kóddal megírt függvényről van szó, mert ott akármi is történhet.)

Magyarul és röviden: ha az E1-ben képlettel számított értéket akarsz látni, akkor oda (E1-be) be kell írnod azt a képletet, amely az értéket kiszámítja.

Esetedben a mennyiségi egység kimásolása hasonló képlettel működik, mint az ár kiszámítása. Az FKERES függvény paraméterei változnak. A keresési érték ugyanaz (vagyis az árucikk), a tartomány A:B oszlopokról A:C oszlopokra módosul, az oszlopszám 3, a tartományban keres pedig marad hamis. (Legalábbis, ha jól látom a helyzetet.) Ja, és persze - ellentétben az egységárral - ezt nem kell beszorozni a mennyiséggel.

Jimmy



Előzmény: nkaresz1978 (6098)
Törölt nick Creative Commons License 2007.10.02 0 0 6099
Ezt hogy csináltad, hogy a behúzások így megmaradtak? Nekem mindig trim-meli az összes soromat a fórum szoftver, és minden sorom a doboz elején kezdődik...
Előzmény: Törölt nick (6095)
nkaresz1978 Creative Commons License 2007.10.02 0 0 6098
Szia Jimmy!

Az utóbbi problémával továbbra is küzködök. Nem igazán értem ezeket a képleteket.
A felállás a következő:
Egy munkafüzeten belül van egy ártábla (artabla) munkalap ami tartalmazza az:

A1 | B1 | C1 |
nevet | árat | mennyiségi egységet |

Egy másik lapra került a képlet:

C1 | D1 | E1 | F1|
mennyiség | cikk | mennyiségi egység | ár |

szóval amíg az első megoldást javasoltad, azt sikerült megcsinálnom úgy is hogy az árakat egy másik lapon helyeztem el. Ezt megoldottam a lap elnevezésével és az érvényesítésnél megadtam az adatok lap nevét. Teljesen jól működött. De aztán hozzájött ez a mennyiégi egység amit az artabla lapon csak az ár utáni oszlopba raktam be C1től lefele az árak mellé. Namármost azt szeretném ha az összesítőn ha kiválasztom a terméket akkor bemásolja mellé az artabla lapon lévő mennyiségi egységet is autómatikusan az E1 cellába.
Gondolom ezt is képletként kell megadni a korábban írt képletbe, vagy ez külön képlet az E1-re vonatkozóan??

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

Üdv: Karesz
Előzmény: Törölt nick (6091)
Törölt nick Creative Commons License 2007.10.01 0 0 6097
ctrl+f4?
Előzmény: fajlkezelo (6096)
fajlkezelo Creative Commons License 2007.10.01 0 0 6096
Sziasztok!

Egyik kollégám olyan kedvező helyzetbe jutott,
hogy Office 2007-et kapott (szenved is rendesen az új külalakkal).

Szóval szeretné (és most már én is), hogy az Excelben (Wordben is)
ott legyen a dokumentumbezárás (x) ikon a jobb felső sarokban.

Addig is most állandóan bezárja az egész Excelt.

Kösz.
Törölt nick Creative Commons License 2007.10.01 0 0 6095

 

Próbáld ki ezt:

 

Dim i As Integer
Dim k As Integer
Dim Kom
For i = 4 To 700
        For t = 4 To 128
            If Cells(i, t) = "M" Then
                Set Kom = Cells(i, t).Comment
                If Not Kom Is Nothing Then Cells(i, t) = Cells(i, t).Comment.Text
                Set Kom = Nothing
            End If
        Next t
Next i

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

Sziasztok!

 

Segítséget szeretnék kérni egy feladat megoldásához. Egy adott értékü cella megjegyzésének tartalmát (a szöveget) kellene visszaírni az adott cellába úgy, hogy a megjegyzés is megmaradjon, de a cella értéke (szöveg) természetesen így felülíródik. Egy nagy tábláról van szó, ahol elég sok cellához tartozik ilyen megjegyzés, de bőven van megjegyzés nélküli cella is.

 

Szóval, próbálkoztam egy kis makróval, de nem találom a megoldást. Az alábbi ciklus akkor akad ki, ha az adott "M" értékű cellához nem tartozik megjegyzés (egyébként, rendesen átírja a megjegyzés értékét a cellába). 

 

For i = 4 To 700
     
    For t = 4 To 128
   
    ActiveSheet.Cells(i, t).Select
        
    If Cells(i, t).Value = "M" Then
    Cells(i, t).Value =  Cells(i, t).Comment.Text
   
    End If
   
           
    Next t

    Next i

 

Előre is nagyon köszönöm, ha valaki segít a probléma megoldásában.

Törölt nick Creative Commons License 2007.10.01 0 0 6093
Sub K()
Application.Calculation = xlCalculationManual
Selection.AutoFilter Field:=5, Criteria1:="*" & InputBox("Szótöredék:") & "*", Operator:=xlAnd
ScreenUpdating = False
End Sub


Ez működne, de így meg kikapcsolva marad az aut. frissítés. Ha a sor végére rakom a Application.Calculation = xlCalculationAutomatic -ot akkor cseberből vederbe jutok, mert megint frissül a táblázat.
Előzmény: Törölt nick (6092)
Törölt nick Creative Commons License 2007.10.01 0 0 6092
van egy hatalmas táblám, amiben inputboxszal kérek be egy autoszűrővel szűrendő értéket.
A gond az, hogy a szűréskor újrafrissül a tábla, és ezt kellene kikpacsolni vhogy, de az automatikus frissítés is maradjon bekapcsolva a makró lefutása után. A ScreenUpdating = False és a Application.Calculation = xlCalculationManual/Automatic
nem jó, mert a Selection.AutoFilter Field:=5, sor lefutása után frissül a tábla azonnal.
Törölt nick Creative Commons License 2007.09.29 0 0 6091
Hát... igazán nincs mit...
Ha segítség kell, mármint az Access projekt kivitelezésében, szerintem itt is, de az Access topikban biztosan kapsz.
Előzmény: Impi2000 (6089)
Törölt nick Creative Commons License 2007.09.28 0 0 6090

Pl. egy bizonyos xls fájl megnyitásakor mindig a Munka1 nevu munkalapja legyen aktiv:

A Vb szerkesztoben a ThisWorkbook objektumra duplán kattintva, a kódablakban a Workbook open eseményhez tartozó eljárás módosítható az alábbiak szerint, majd az excel fájl elmentendo:

 

Private Sub Workbook_Open()
      Sheets("Munka1").Activate
End Sub

Előzmény: nkaresz1978 (6088)
Impi2000 Creative Commons License 2007.09.28 0 0 6089

Üdv Jimmy the Hand

Megfogadom a tanácsod, valamikor küzdöttem az Access-al is

Köszönettel

Előzmény: Törölt nick (6079)
nkaresz1978 Creative Commons License 2007.09.28 0 0 6088
Azt hogyan tudom megoldani hogy egy munkafüzeten belül egy bizonyos munkalap legyen mindíg a nyitóoldal?
Most az van ha egy másik munkalapon maradok, rámentek és onnan lépek ki, akkor a köv. megnyitáskor az jelenik meg, nem a főoldal (1. oldal)
nkaresz1978 Creative Commons License 2007.09.28 0 0 6087
Én sem tudom, de sikerült megoldani :-)

thx
Előzmény: Törölt nick (6083)
Törölt nick Creative Commons License 2007.09.28 0 0 6084

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

Module-Level Variables

These are variables that are dimensioned (Dim) outside the Procedure itself at the very top of any Private or Public Module. See Example below;

Dim lRows as Long

Sub MyMacro ()
'Code Here
End Sub

All variables dimensioned at this level are available to all Procedures that they are within the same Module the variable is dimensioned in. Its value is retained unless the Workbook closes or the End Statement is used.

Project-Level, Workbook Level, or Public Module-Level

These variables are dimensioned at the top of any standard public module, like shown below;

Public lRows as Long

All variables dimensioned at this level are available to all Procedures in all Modules. Its value is retained unless the Workbook closes or the End Statement is used.

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

 

 

Forrás:  Ozgrid

Előzmény: Gavriel (6082)
Törölt nick Creative Commons License 2007.09.28 0 0 6083
Nem igazán értem a kérdést. Vagyis azt nem értem, mi a probléma a beszúrással.
Menü: Beszúrás -> Oszlopok
és kész.
A képletek elvileg automatikusan követik a változást, és a beszúrás után is a megfelelő cellákra fognak hivatkozni....
Vagy pedig, mi a gond?
Előzmény: nkaresz1978 (6081)
nkaresz1978 Creative Commons License 2007.09.28 0 0 6081
Szia Jimmy!

Köszönöm a segítséged, közben rájöttem én is hogy ez így nem megy. Az Acces-t még hanyagolom, bár tanultam valamikor azt is.

Tehát a lista marad egy munkafüzeten belül, a lagutolsó munkalapként. Így a frissítés is egyszerűbb lesz, ezt sikerült is megoldani. De van még egy kérdés.
Utólag hogyan tudok a mennyiség és a cikk közé beszúrni még egy mennyiségi egységet amit alistában harmadik oszlopként utólag megadnák?

erről lenne szó:

kifli | 100 | db |
liszt| 50 |zsák|

thx
Előzmény: Törölt nick (6079)
toccata Creative Commons License 2007.09.28 0 0 6080
Talán jobb és egyszerűbb az a megoldás, amikor az ártáblázatok munkafüzetében (egy külön munkalapon) direkt hivatkozásokkal vanak átolvasva az adatok az eredeti fájlból.
Így nem kell mekrózni, meg másolni, hanem a fájl minden megnyitásakor automaikusan frissülnek (amennyiben ezt választjuk) az adatok.
Minden nemű változtatást az eredeti fájlban (és csak ott) lehet és kell elvégezni, mégis minden rendben fog működni.
Előzmény: Törölt nick (6078)
Törölt nick Creative Commons License 2007.09.28 0 0 6079
Szia, és üdv a fórumon :)

A kérdésed tipikusan olyan feladat, amire az Access 100-szor alkalmasabb, mint az Excel. És még makrót sem feltétlenül kellene írni hozzá. Szóval szerintem Access-szel kellene hozzáfognod, ha ez szóba jöhet egyáltalán.
Előzmény: Impi2000 (6077)
Törölt nick Creative Commons License 2007.09.28 0 0 6078

"Még annyi kérdésem lenne ha ezt az ártáblázatot külön munkafüzetben akarom tárolni, az megoldható e?"

A végösszeget számoló képlet szempontjából megoldható, mert az FKERES függvény hajlandó dolgozni másik munkafüzetből származó adatokkal is. Viszont az adatérvényesítés szivacs, mert ő nem hajlandó.

 

 

Szóval, ha másik munkafüzet tartalmazza az adatbázist, akkor máshogyan kell megoldani, hogy csak a listában szereplő árucikkeket lehessen a cellákba írni. Erre momentán csak olyan ötletem van, ami makró kóddal operál, és egyébként nem túlságosan elegáns.

 

"Tudom annak egyidőben nyitva kell lennie."

Ez így, ebben a formában nem teljesen igaz, ugyanis zárt munkafüzetből is lehet adatokat kibányászni. De ezt csak az érdekesség kevéért mondtam.

 

"A lényeg hogy ha árajánlatot akarok készíteni akkor ne kelljen mindegyikben szerepelnie az ártáblának hanem egy közös munkalapból vennék le a lista értékeit."

Ezt a feladatot én legegyszerűbben így oldanám meg:

1. Tegyük fel, hogy a munkalapot (amelyet korábbi útmutatásom alapján elkészítettél) "Lista" a neve.

2. A "Lista" munkalapon marad minden úgy, ahogy most van, kivéve, hogy teszek rá egy gombot, ami egy makrót futtat le.

3. A makró átmásolja egy új munkafüzet első munkalapjára a "Lista" lapon elkészített árajánlatot, de csak az értékeket, viszont a képleteket, és az árucikkek adatbázisát nem.

4. Az új munkafüzetet szépen megformázza (fejléc, színek, keretek, betűméret, munkalap neve, stb.), majd pedig elmenti egy adott néven.

 

Kérdés persze, hogy szükséges-e az elkészített árajánlatokat eredeti, képletes formában is megőrizni, mert pl. utólagos módosításra van szükség, stb.

Ha igen, akkor a fenti ötletem ebben a formában nem jó.

Előzmény: nkaresz1978 (6076)
Impi2000 Creative Commons License 2007.09.28 0 0 6077

Üdvözletem mindenkinek :)
Segítségeteket szeretném kérni. Mivel tudom nem kis feladatot kérek,
minden részmegoldásnak is nagyon örülnék.
Végignéztem 1500 hozzászólást és nem igazán jutottam előre, no meg
az Excel programozása sem az erősségem.
Nem nőket akarok futtatni, csak gondoltam érthetőbb, mintha soroskő,
élfóz, vízorr kifejezésekkel gyötörném a segítőket  :)
A kérés: Adott egy beviteli mező, ahol lenyíló listákon lehet kiválasztani
az adatokat, kivétel a dátum. Ezen adatoknak kellene a kimeneti listában
megjelenni úgy, hogy a vezérlőgombokkal is lehessen talózni stb...
Szóval makró hegyeket kellene írni.


Egy kép, hátha érthetőbb :)

http://www.pichosting.fileorgy.de/uploads/7f98901147.jpg

Hálás köszönettel, Üdv Impi

nkaresz1978 Creative Commons License 2007.09.28 0 0 6076
Még annyi kérdésem lenne ha ezt az ártáblázatot külön munkafüzetben akarom tárolni, az megoldható e? Tudom annak egyidőben nyitva kell lennie.
A lényeg hogy ha árajánlatot akarok készíteni akkor ne kelljen mindegyikben szerepelnie az ártáblának hanem egy közös munkalapból vennék le a lista értékeit.

Köszönöm a segítséget.
Előzmény: Törölt nick (6070)
Törölt nick Creative Commons License 2007.09.27 0 0 6075
Amúgy meg az autoszűrőben van "tartalmazza" kritérium megadási lehetőség is. Rögzítsd le nézd meg mit csinál, de egyébként ez ugyanaz, mintha jokerkaraktert (pl *) használnál valahogy így: *valami*
Előzmény: Törölt nick (6074)
Törölt nick Creative Commons License 2007.09.27 0 0 6074
Joker karakterek a szűrési kritérium megadásánál? (akár a makróban, akár manuálisan)
Nekem van ilyen módon működő táblázatom, én így adtam meg a szűrés kritériumát:

Dim C As String
C = "*" & Cells(1, 7).Value & "*"
Selection.AutoFilter, Criteria1:=C

Ebben a formában nyilván nem működik, mert kitöröltem a felesleges sorokat
Előzmény: byszka11 (6071)
nkaresz1978 Creative Commons License 2007.09.27 0 0 6073
Jimmy!

Köszönöm szépen! Fantasztikusan működik!

Üdv: Karesz
byszka11 Creative Commons License 2007.09.27 0 0 6072
Az előző email címes kérdésemre köszönöm mindenkinek a válaszát kipróbáltam őket és működnek. Úgy vagyok vele hogy mindig lehet hibássan megadni úgyhogy ezek tökéletesek lesznek.
byszka11 Creative Commons License 2007.09.27 0 0 6071
Sziasztok


Van egy adatbázisom amiben vannak : Cikkszám , Megnevezés. Ezeket irányított szűrővel szűrőm egy cellába beírtak alapján ami tökéletesen működik. Viszont azon gondolkodom, hogy megoldható-e valahogy az, hogy amikor keresek akkor ne csak a szövek elejétől keressen hanem akárhonnan. Láttam már ilyet valahol ott úgy működött a dolog, hogy beítam pl: %valami és kidobta "kisvalami" és a "nagyvalami" is. Nem tudom mennyire érthető hogy mit szeretnék, de reméllem igen. Előre is köszönöm
Törölt nick Creative Commons License 2007.09.27 0 0 6070
Egy lehetséges megoldás:

1. Vedd fel a munkalap A oszlopába az árucikkeket, a B oszlopba a cikkek árát.
2. Legyen C1, D1 és E1 értéke rendre "mennyiség", "cikk" és "ár" (vagyis ez egy fejléc).
3. Jelölj ki a D2-től kezdve lefelé annyi cellát, amennyit akarsz (akár az egész oszlopot is). Ezután a menüből válaszd ki, hogy Adatok -> Érvényesítés. Az érvényesítési feltételben a Megengedve mező értéke legyen "Lista", a Forrás mezőé legyen "=A:A" (idézőjelek nélkül). Ezzel a kijelölt cellákra megszabtad, hogy értéküket csak az A oszlopban felsorolt értékek közül lehet kiválasztani.
4. Az E2 cellába írd ezt a képletet:
=HA(HIBÁS(FKERES(D2;A:B;2;HAMIS)*C2);"";FKERES(D2;A:B;2;HAMIS)*C2)
5. A képletet terjeszd ki lefelé amilyen mélyen akarod.
6. Teszteld a megoldást úgy, hogy a C és D oszlopokba különféle értékeket írogatsz.
7. Esetleg az A és B oszlopokat el is rejtheted (Formátum -> Oszlop -> Elrejtés)




Előzmény: nkaresz1978 (6069)
nkaresz1978 Creative Commons License 2007.09.27 0 0 6069
Helló!

Nekem egy olyan választéklistát kéne csinálnom ami tartalmazza az árakat is.
ha pl az előtte lévő mezőben van egy darabszám akkor miután kiválasztom a listából hogy pl kenyér akkor a következő cellában szerepeljen ezek együttes ára. kb így nézne ki:

darabszám | megnevezés | össz |
2 | kenyér | 450ft |

persze a kenyér cellája egy legördülőmenü lenne amiben sokfajta áru van és ez tartalmazza nyílván valahogy az árakat is. Ezt nem tudom, hogy hogyan oldjam meg. :(

Várom a szíves ötleteket!
Köszönöm!
Törölt nick Creative Commons License 2007.09.26 0 0 6068
Nekem sincs...
Előzmény: Törölt nick (6067)
Törölt nick Creative Commons License 2007.09.26 0 0 6067

Most látom csak, hogy a másolásnál a fórum lenyelte a patternből a visszaper-jeleket. De gondolom az eredetit próbáltad a hibatkozott oldalon, sajnos az sem tökéletes.

Nyilván lehet tökéletest írni, csak a pattern szintaktikát kell megérteni, nekem nincs most éppen erre időm.

Előzmény: Törölt nick (6065)
Törölt nick Creative Commons License 2007.09.26 0 0 6066
Szívesen :)
Előzmény: Törölt nick (6058)
Törölt nick Creative Commons License 2007.09.26 0 0 6065
Kipróbáltam :)
Meglehetősen jól szűr. Egy apróságot azért találtam. Azt tapasztaltam, hogy a "vala..ki@valami.com" típust (tehát a felhasználónévben két v. több pont egymás után) átengedi. Regisztráltam egy ilyesmi email címet a freemail-en. A freemail elfogadta, és megcsinálta. Egy másik freemail-es címről tudtam is oda levelet küldeni. A céges Exchange szerverünk azonban visszadobta azzal, hogy "Az e-mail cím formátuma nem megfelelő."

De azt hiszem, ez már tényleg szőrszálhasogatás.
Előzmény: Törölt nick (6064)
Törölt nick Creative Commons License 2007.09.26 0 0 6064

Ezt próbáld ki:

 

.Pattern = "^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$"

 

Egyébként innen van:

http://msdn2.microsoft.com/en-us/library/01escwtf(VS.71).aspx

 

 

Előzmény: Törölt nick (6060)
Törölt nick Creative Commons License 2007.09.26 0 0 6063
<i> Bár nem vagyok biztos benne, hogy elvileg hány @ szerepelhet az email címben... talán a "valaki@valami.c@om" vagy a "valaki@@valami.com" is szabályos email címek? </

Nem hiszem hogy szabályos, mert akkor lehetne ilyen e-mail cím: @@@@@@@.com
vagy valaki@@@@@.com
Ha több @ lenne, a mailserver nem tudná szerintem beazonosítani a felhasználó nevet és a számítógép azonosítót
Előzmény: Törölt nick (6060)
ro_lee1 Creative Commons License 2007.09.26 0 0 6062
Pont erre gondoltam. Köszi szépen.
Előzmény: Törölt nick (6061)
Törölt nick Creative Commons License 2007.09.26 0 0 6061
pédául:
=HA(NEM(VAGY(B1<120;B1>1003));IGAZ;HAMIS)
Előzmény: ro_lee1 (6059)
Törölt nick Creative Commons License 2007.09.26 0 0 6060
Ez jó :)
Én Excelben még egyáltalán nem találkoztam regular expression lehetőséggel, igaz nem is kerestem, és az is igaz, hogy máshol se nagyon dolgoztam vele. Teszteltem a mintádat, elég jó, de két kukac átment rajta (pl. valaki@@valami.com). Ez nem tudom, hogy jó-e.

A linkről kiindulva eljutottam a Regular Expression Library honlapra, ahol ezt találtam:

http://regexlib.com/REDetails.aspx?regexp_id=1921

Ezt is teszteltem, ezen pedig a "valaki@valami.c@om" sztringgel tudtam kifogni.

Bár nem vagyok biztos benne, hogy elvileg hány @ szerepelhet az email címben... talán a "valaki@valami.c@om" vagy a "valaki@@valami.com" is szabályos email címek?
Előzmény: Törölt nick (6057)
ro_lee1 Creative Commons License 2007.09.26 0 0 6059
Segítséget szeretnék kérni hozzáértőktől: Olyan HA függvényt szeretnék csinálni ami egy étéktartományon belül igazat, ha azon kívül esik akkor hamisat mutat. Leírom egyszerűen amit szeretnék: ha mondjuk 'B1' 120-nál nagyobb de 1003-nál kissebb akkor igaz, ha nem akkor hamis. Magyarul nem tudom hogy a kissebb és nagyobbat hogy kell függvényben leírni.
Törölt nick Creative Commons License 2007.09.26 0 0 6058
Ez hogy nem jutott eszembe :(
Ráadásul az én formom esetében még egyszerűbb is volt, mert csak ez az egy sor kellett 1 shift-tab-bal
Application.SendKeys ("+{TAB}")

Köszönöm a segítséget
Előzmény: Törölt nick (6053)
Törölt nick Creative Commons License 2007.09.26 0 0 6057

Ilyennel még nem foglalkoztam, a talált példák alapján ez elsőre működni látszik:

 

StringToSearch = "valaki@valami.com"

 

Set RegularExpressionObject = New RegExp

With RegularExpressionObject
.Pattern = "^[_]*([a-z0-9]+(.|_*)?)+@([a-z][a-z0-9-]+(.|-*.))+[a-z]{2,6}$"
.IgnoreCase = True
.Global = True
End With


expressionmatch = RegularExpressionObject.Test(StringToSearch)


Set RegularExpressionObject = Nothing

'az  expressionmatch változó értéke true ha egyezik a minta.

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

Meg lehetne próbálni a mintakeresést a regular expression-modullal.

Vba references-ben bejelölni: Microsoft vbscript regular expressions

itt van példa, nem próbáltam:

http://authors.aspalliance.com/brettb/VBScriptRegularExpressions.asp

 

 

Előzmény: Törölt nick (6055)
Törölt nick Creative Commons License 2007.09.26 0 0 6055
Ja és még az jutott eszembe, hogy célszerű ellenőrizni a @ karakterek számát is. Pl. úgy, hogy összehasonlítom az első @ pozícióját az utolsóval

Instr(S, "@") = InstrRev(S, "@") ?

Előzmény: Törölt nick (6054)
Törölt nick Creative Commons License 2007.09.26 0 0 6054
Ha mondjuk Form-on, szövegdobozzal csinálod, akkor az alábbi elképzelés jó lehet.

Private Sub CommandButton2_Click()
Dim S As String, Valid As Boolean
Dim kukac As Long, pont As Long, Dom As String
Valid = True
S = TextBox1.Text
kukac = InStr(S, "@") '--> a @ pozíciója
pont = InStrRev(S, ".") ' --> az utolsó pont pozíciója
Dom = Mid(S, pont + 1) '--> az utolsó pont utáni rész

If kukac = 0 Then Valid = False ' --> ha nincs "@"
If pont = 0 Then Valid = False ' --> ha nincs "."
If pont = kukac + 1 Then Valid = False '--> ha "@" és "." között nincs karakter
If pont < kukac Then Valid = False '--> ha az utolsó pont megelőzi a @-ot

If Dom <> "hu" Then Valid = False '--> ha a pont után nem "hu" van

If Not Valid Then MsgBox ("Az email cím hibásnak tűnik.")
End Sub

Még be lehet építeni egy rakás kritériumot, amennyit csak akarsz.
Egyes kritériumokat össze is lehet vonni, hogy a kód rövidebb, tömörebb legyen. Itt csak azért bontottam így ki, hogy egyértelműbb, érthetőbb legyen. De pl. az első 4 kritérium összevonható így:
If (pont*kukac = 0) Or (pont < kukac + 2) Then Valid = False

Az egész kód lehet egy függvény is, vagy beépíthető a TextBox AfterUpdate ill. Exit eseménykezelőjébe. (Egyébként József megoldása a múltkori első kérdésre jobb, mint az enyém, mert nem enged ki a textbox-ból, amíg rossz a beírt adat.)
Előzmény: byszka11 (6051)
Törölt nick Creative Commons License 2007.09.26 0 0 6053
"És ahoz mi kell, hogy pl kijelölje a textbox tartalmát?"

Nem találtam közvetlenül ilyen lehetőséget. A Help azt írja, hogy SetFocus-nál nem jelöli ki a szövegdoboz tartalmát, függetlenül attól, hogy az AutoWordSelect tulajdonság mire van beállítva. Ezért csak kerülő megoldást tudok javasolni.

Algoritmus:
1. SetFocus
2. Tab
3. Shift + Tab

Kódban:
Private Sub CommandButton1_Click()
TextBox1.SetFocus
Application.SendKeys ("{TAB}+{TAB}")
End Sub



Előzmény: Törölt nick (6052)
Törölt nick Creative Commons License 2007.09.25 0 0 6052
Jimmy,

És ahoz mi kell, hogy pl kijelölje a textbox tartalmát?

UserForm1.TextBox1. ??

Vagy az elején villogjon a kurzor és insert módban felülírja a tartalmát ha írnak bele



Előzmény: Törölt nick (6049)
byszka11 Creative Commons License 2007.09.25 0 0 6051
Egyelőre sajnos még nem. Azon gondolkodtam, hogy pl: beírja egy cellába a tartalmatn és keres-el megnézi, hogy van e benne @ és .hu vagy .com. Bár ez még így sem tökéletes.
byszka11 Creative Commons License 2007.09.25 0 0 6050
Pont ez kell. Nem értem magam, hogy miért nem találtam ezt meg :(. Köszönöm
Előzmény: Törölt nick (6049)
Törölt nick Creative Commons License 2007.09.25 0 0 6049
valami ilyesmi?


Private Sub CommandButton1_Click()
TextBox1.SetFocus
End Sub


Egyébként sikerült az emailcímes szövegdoboz problémáját (ld. 5995. hsz) megoldani?
Előzmény: byszka11 (6048)
byszka11 Creative Commons License 2007.09.25 0 0 6048
Sziasztok!

Ismételten lenne egy kérdésem. Azt szeretném elérni, hogy a form-on lévő gombra kattintva a texbox1-ben villogjon a kurzor.

Előre is köszönöm
Törölt nick Creative Commons License 2007.09.24 0 0 6047
A második kérdésre:  legegyszerűbb megoldásnak nekem az tűnik, ha több textboxot használ erre egymás mellett, külön az email cím változó részeire (valaki, valami), és a köztük levő fix karaktereket pedig labeleken megjeleníted, és esetleg vizsgálni, hogy a szövegdobozokba ne kerüljön @ vagy .
Előzmény: byszka11 (6043)
byszka11 Creative Commons License 2007.09.24 0 0 6046
Köszönöm, működik. A másikra esetleg??
Előzmény: Törölt nick (6044)
Jozsef Creative Commons License 2007.09.24 0 0 6045
Azt meg lehet valahogy oldani, hogy a form-on lévő texbox csak számot fogadjon el illetve

A TextBox az Exit eseményére kell ráépülni az ellenőrzéssel.
Pl. csak számot fogadjon el

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1.Text <> "" And Not IsNumeric(TextBox1.Text) Then
Cancel = True
Else
Cancel = False
End If

End Sub

Üdv
József
Előzmény: byszka11 (6043)
Törölt nick Creative Commons License 2007.09.24 0 0 6044
Olyat nem tudok, ami (mint pl. az Access-ben) élből megakadályozná, hogy rossz adatot írjon be a felhasználó, viszont lehet írni utólagos vizsgálatot az AfterUpdate eseménybe. Pl:

Private Sub TextBox1_AfterUpdate()
If Not (IsNumeric(TextBox1.Text) Or (TextBox1.Text = "")) Then
MsgBox ("Számot írj be!")
TextBox1.Text = ""
End If
End Sub

Ez a rutin megvizsgálja, hogy a textboxba szám van-e beírva, és ha nem az, akkor szól, és mellesleg törli a hibás értéket. Hasonlóképpen meg lehet oldani, hogy az email címnek szánt textbox is ellenőrizve legyen. Csak az kicsit bonyolultabbnak tűnik, legalábbis első ránézésre.

Előzmény: byszka11 (6043)
byszka11 Creative Commons License 2007.09.24 0 0 6043
Sziasztok!


Azt meg lehet valahogy oldani, hogy a form-on lévő texbox csak számot fogadjon el illetve egy másik textbox-nak adott formátunak kell lennie (pl.: valaki@valami.hu). Előre is köszi.
Törölt nick Creative Commons License 2007.09.20 0 0 6041
Az adott helyzetben nincs értelme alkalmaznom ezt. Köszönöm a segítségedet!
Előzmény: Törölt nick (6040)
Törölt nick Creative Commons License 2007.09.20 0 0 6040
Hát a szöveg az szöveg.... Az úgy jelenik meg, ahogy beírod.
Esetleg ezzel a képlettel egy másik cellában meg tudod jeleníteni a kívánt formában:

=SZÖVEG(ÉRTÉK(A1);"####_ ####_ ####_ ####_ ####_ ####_ ####_ ####_ ####")

Előzmény: Törölt nick (6039)
Törölt nick Creative Commons License 2007.09.20 0 0 6039
vagyis majdnem ezt, mert 5db # kellett nem 4
Előzmény: Törölt nick (6038)
Törölt nick Creative Commons License 2007.09.20 0 0 6038
Köszönöm. Ezt már próbáltam. Számra jó, de szövegformátumú számra sajnos nem
Előzmény: Törölt nick (6037)
Törölt nick Creative Commons License 2007.09.20 0 0 6037
Próbáld ki ezt a formátumkódot

####_ ####_ ####_ ####_ ####_ ####_ ####_ ####_ ####

Előzmény: Törölt nick (6036)
Törölt nick Creative Commons License 2007.09.20 0 0 6036
egyszerű kérdés: egyéni számformátummal be lehet tagolni négyesével egy 24 karakteres szövegformátumú számot? biztos be lehet csak én vagypk béna
OZ Juice Creative Commons License 2007.09.20 0 0 6035
Makróval már sikerült megoldanom, ezt akartam elkerülni. Mindenestre köszönöm szépen a tanácsokat!
Előzmény: Törölt nick (6034)
Törölt nick Creative Commons License 2007.09.20 0 0 6034
Ilyet a Lista funkció nem tud sajnos. Ha semmiképpen nem akarsz makrós megoldást, akkor még lehet próbálkozni az Menü/Adatok/Űrlap funkciójával is, bár a leírásod alpján ez sem ezt csinálja.

Ez csak makróval fog menni. Én egy formon képzelném el beviteli mezőnek egy textboxszal + listbox ami mindig az utolsó üres sor feletti 4 sort mutatja.

Valahogy megcsinálnám én is, de a többiek jobban értenek hozzá biztosan segítenek.
Előzmény: OZ Juice (6033)
OZ Juice Creative Commons License 2007.09.20 0 0 6033
hali, hogy még konkrétabb legyen, így néz ki a lap:




Az lenne a cél, hogy alaphelyzetben csak 4 sor látszódjon (10-13). A többi (14-35) csak akkor váljon láthatóvá, illetve nyomtatandóvá, ha a felett lévő sorban a panel nem üres, tehát miközben tölti ki az illető folyamatosan ugrálnak fel a sorok.
Előzmény: Törölt nick (6011)
Törölt nick Creative Commons License 2007.09.19 0 0 6032

Instr használatáról :

http://www.techonthenet.com/excel/formulas/instr.php

 

Többi sztring (és egyéb) függvény Excel (vba)ban:

http://www.techonthenet.com/excel/formulas/

 

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

Vb-ben:

instr()

 

MsgBox InStr("abcdefmitghij", "mit")

7

Előzmény: Gavriel (6026)
Törölt nick Creative Commons License 2007.09.19 0 0 6030
SZÖVEG.KERES vagy SZÖVEG.TALÁL asszem
Előzmény: Gavriel (6029)
Törölt nick Creative Commons License 2007.09.19 0 0 6028
Vagy így is lehet:

ActiveCell.FormulaR1C1 = "=SEARCH("bc",A1,1)"


Előzmény: Törölt nick (6027)
Törölt nick Creative Commons License 2007.09.19 0 0 6027
Pl:

Sub C()
K = Application.Search("bc", Cells(1, 1))
MsgBox K
End Sub
Előzmény: Gavriel (6026)
Törölt nick Creative Commons License 2007.09.19 0 0 6025
Akkor ez a képlet gyakorlatilag egy bonyolult de rövid hatékony megoldás a lentebb többször is tárgyalt MAXIF/MINIF problémára :)

{=HA(B1=MAX($B$1:$B$18*(($A$1:$A$18)=A1));B1;"")}

Tényleg nagyon jó
Törölt nick Creative Commons License 2007.09.19 0 0 6024
Köszi :-)
Előzmény: Törölt nick (6023)
Törölt nick Creative Commons License 2007.09.19 0 0 6021
Sebaj, csak fél órám ment rá a magyarázatra...
;-)
Előzmény: Törölt nick (6019)
Törölt nick Creative Commons License 2007.09.19 0 0 6020
Sajnos én sem vagyok ebben a témakörben profi, de azért megpróbálom. Tehát

{=HA(B1=MAX($B$1:$B$6*(($A$1:$A$6)=A1));"max";"")}

A tömbképletek úgy működnek, mint egy programban a ciklusok, más szóval a tömbképlet kiértékelésekor az Excel egy kis ciklust végigfuttat a képlet argumentumául szolgáló tartományon, és egyenként számol valamit az összetartozó cellákon. Hogy mit számol, az magától a képlettől függ.

Esetünkben a MAX függvény használ tömbszerű argumentumot. A C1 cellába írt képlet kiértékelésekor, a ciklus lefuttatása után a MAX függvény bemenő értékei így néznek ki:
B1*(A1=A1)
B2*(A2=A1)
B3*(A3=A1)
...
B6*(A6=A1)

Látható tehát, hogy a tömbön a ciklus úgy fut végig, hogy az A1 cella a B1 cellával van párosítva, az A2 a B2-vel, stb. A zárójelen belül logikai kifejezések vannak, amelyek lehetséges értékei az IGAZ illetve a HAMIS. Ezek számértéke matematikai műveletekben 1 illetve 0 (nulla).

Tehát, ha az An cellában lévő érték megegyezik az A1 cella értékével, akkor a zárójelben lévő kifejezés értéke 1, egyébként meg 0.

Ezt megszorozva a Bn cella értékével megkapjuk a B oszlop másolatát, azzal a különbséggel, hogy minden olyan dátum, amely mellett nem az A1 oszlopban lévő azonosító van, nullázódik.
A Józsi által hozott példán szemléltetve
B1*(A1=A1) = 07.01.02
B2*(A2=A1) = 0
B3*(A3=A1) = 07.06.01
B4*(A4=A1) = 07.03.01
B5*(A5=A1) = 0
B6*(A6=A1) = 0

Ez tehát a MAX függvény tényleges argumentumlistája, de még mindig csak a C1 cella kiértékelésénél tartunk.

A következő lépés, a HA() függvény már egyértelmű: ha a B1 értéke megegyezik a MAX függvény által visszaadott értékkel (vagyis a nem lenullázott dátumok legnagyobbikával), akkor "max" az eredmény, egyébként meg üres sztring.

A C2 cella kiértékelésekor a MAX függvény argumentumlistája:
B1*(A1=A2) = 0
B2*(A2=A2) = 07.02.01
B3*(A3=A2) = 0
B4*(A4=A2) = 0
B5*(A5=A2) = 07.06.05
B6*(A6=A2) = 07.01.15

és a többi.

Ha mélyebben érdekel a téma, akkor keress rá a guglin az "array formula", "excel" kifejezésre, és bőven találsz anyagot. Példának itt egy (az első találat):

http://www.cpearson.com/excel/ArrayFormulas.aspx

Előzmény: Törölt nick (6018)
tagore72 Creative Commons License 2007.09.19 0 0 6016
Szia!

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

Józsi
Előzmény: Törölt nick (6015)
Törölt nick Creative Commons License 2007.09.19 0 0 6015
C1-be írd ezt a képletet:

=HA(B1=MAX($B$1:$B$6*(($A$1:$A$6)=A1));"max";"")

A végén nyomj Ctrl+Shift+Enter-t (ez a tömbképletek beviteli módja), amire az Excel automatikusan hozzáadja a kapcsos zárójeleket, tehát a végeredmény így néz ki:

{=HA(B1=MAX($B$1:$B$6*(($A$1:$A$6)=A1));"max";"")}

Természetesen a $B$1:$B$6 és $A$1:$A$6 tartományok tetszés szerint módosíthatóak. Ha módosítod a tömbképletet, ne feledd, hogy azt mindig Ctrl+Shift+Enter-rel kell bevinni. Ha egy cellában már működik, akkor ugyanúgy kiterjeszthető a szomszédos cellákra mint bármely hagyományos képlet.
Előzmény: tagore72 (6014)
tagore72 Creative Commons License 2007.09.18 0 0 6014
Sziasztok!

Van egy ilyen táblázatom:

Azonosító Dátum Maxdate
1-10001 07.01.02
1-10025 07.02.01
1-10001 07.06.01 max
1-10001 07.03.01
1-10025 07.06.05 max
1-10025 07.01.15

Egy olyan képletet szeretnék a Maxdate oszlopba,
amely pl. kiírja, hogy "max", ha adott azonosítójú
tételhez ott van a legkésőbbi dátum.
Pl. 1-10001 háromszor fordul elő, de 07.06.01-es
dátum a legkésőbbi közülük, tehát kell a "max" szöveg.

Kösz

Joe
Törölt nick Creative Commons License 2007.09.18 0 0 6013
Ha az oszlopcímekhez rögzíted is az ablaktáblát, akkor még jobb az eredmény
Előzmény: Törölt nick (6012)
Törölt nick Creative Commons License 2007.09.18 0 0 6012
Hogy példával is éljek:
Nekem van egy ilyen listám, amit átkapcsoltam oldaltörés nézetre, így a listatartományt nem képező sorok/oszlopok szürkék. Ha beírok a beszúrási sorba ( ami a Lista funkciója) akkor a nyomtatási tartomyány is igazodik a listához...
Előzmény: Törölt nick (6011)
Törölt nick Creative Commons License 2007.09.18 0 0 6011
a Listát lehet ilyesmire használni. (Adatok/Lista)
Előzmény: OZ Juice (6008)
Törölt nick Creative Commons License 2007.09.18 0 0 6010
Oh, elnézést, látom, azóta kristályosodott a dolog...
Előzmény: Törölt nick (6009)
Törölt nick Creative Commons License 2007.09.18 0 0 6009
Meg lehet csinálni, most hirtelen két út jut eszembe. Az igaz, hogy egyik sem túl elegáns...

1.) A Worksheet_Change eseményt fel lehet használni erre is. Írni kell egy makrót, ami figyeli, hogy hol, mi változik meg, és annak megfelelően formázza a változásban érintett sorokat.

2.) Írni kell egy felhasználói függvényt, amelynek bemenő paraméterei a kérdéses cellák. Ez a függvény mondjuk üres sztring értékkel tér vissza, de közben megcsinálja a sorok formázását a bemenő paraméterek értéke alapján.

Sajnos a problémaleírásod annyira általános (és nem is egyértelmű), hogy ennél konkrátabb javaslatot nem tudok tenni.
Előzmény: OZ Juice (6006)
OZ Juice Creative Commons License 2007.09.18 0 0 6008
Makróval megy. Nélküle szerettem volna.

A lényeg az, hogy egy kitöltendő űrlapról lenne szó, amelyben előre nem lehet tudni, hogy hány sort töltenek ki egy-egy részben. Nem akarom, hogy az üres űrlapban eleve ott legyen a sok kitöltetlen sor, hanem azt szeretném, hogy egy az újabb sort csak akkor fedje fel, ha már a fölötte lévőbe beírtak valamit.

(nem hinném, hogy makró nélkül meg lehet oldani, de gondoltam egy kérdést megér...)
Előzmény: Törölt nick (6007)
Törölt nick Creative Commons License 2007.09.18 0 0 6007
makróval biztosan, de pontosabb feladatmegfogalmazás kéne.
Előzmény: OZ Juice (6006)
OZ Juice Creative Commons License 2007.09.18 0 0 6006
Sziasztok,

az lenne a kérdés, hogy vajon meg lehet-e csinálni, hogy egy sor csak akkor látszódjék, ha a felette lévő sor adott cellájában van valami, vagy a cella értéke valamivel egyenlő.
Előre is köszönöm!
wawabagus Creative Commons License 2007.09.17 0 0 6005
ja, bocs, szóval azt ami a munkalapon van azt szeretném sorbaállítani...több szempont alapján, tehát garantáltan mixelnie kellene az adatokat a 3 munkalapról.
Előzmény: wawabagus (6004)
wawabagus Creative Commons License 2007.09.17 0 0 6004

igen. szóval ki tudom jelölni az összes 3 db munkalapot, viszont sorrendbe kellene állítanom a dolgokat több szempont alapján. de ahogy nézem a sorbarakás funkció nem is aktív ennél a csoportos kijelölésnél. Jajaj...

Előzmény: Törölt nick (6003)
Törölt nick Creative Commons License 2007.09.17 0 0 6003
Munkalapot akartál mondani? Több munkalapot kijelülni úgy tudsz, hogy a ctrl billentyű nyomvatartásával rákattintassz a kijelölendő munkalapokra. A munkalapokat akarod sorbaállítanil, vagy ami azokon van? A többi nekem nem egyértelmű.
Előzmény: wawabagus (6001)
Törölt nick Creative Commons License 2007.09.17 0 0 6002
én meg 2003 óta foglalkozom vele és azt sem tudtam, hogy van ilyen :(
Előzmény: extekergo (6000)
wawabagus Creative Commons License 2007.09.17 0 0 6001

Jaj, adódott még egy gondom. Tudtok segíteni?

Az szeretném csinálni egyrészt, hogy egyszerre kijelölni több munkafüzetet, ahol sorrendbe kellene állítani a dolgokat. 

A másik, hogy van egy nagyon hosszú listám és hozzá kell még toldanom egy hosszú listát. Hogyancsináljam azt, hogy automatikusan tördelje fel a bemásolandó dolgot munkafüzetre, ha szükséges.

Remélem érti valaki mire gondolom.

Please!

Köszi előre is!!!

 

extekergo Creative Commons License 2007.09.17 0 0 6000
Régen foglalkoztam már az exellel. Tényleg el is felejtettem, hogy ez a különleges függvény nincs a listán, s kézzel kell beírni. :(
Törölt nick Creative Commons License 2007.09.17 0 0 5999
A NEM természetesen kimaradt...
Előzmény: Törölt nick (5997)
Jozsef Creative Commons License 2007.09.17 0 0 5998
Vanni van, be lehet írni kézzel, csak a függvényvarázsló nem hozza fel, pl. dátum idő függvények között.
Előzmény: extekergo (5995)
Törölt nick Creative Commons License 2007.09.17 0 0 5997
Van benne, de a függvényvrázsló ajánlja fel. Illetve ha beírom kézzel, akkor nem ajánlja fel az argumentumokat sem. Komolyan. Excel 2003
Előzmény: extekergo (5995)
wawabagus Creative Commons License 2007.09.17 0 0 5996

robbantomester és József!!!!!

ZSENIK VAGYTOK!!!!!

És most már azt is értem miért kellett a +1 :-)!

Szuper!!!!

EZER KÖSZÖNET!!!!!!!!!!!!!!!!!!!

Y

extekergo Creative Commons License 2007.09.17 0 0 5995
Micsoda nincs a 2003-ban? A DÁTUMTÓLIG függvény? Mert az enyémben van. Régebben ajánlottam én is.
Előzmény: Törölt nick (5993)
Törölt nick Creative Commons License 2007.09.17 0 0 5994
Rájöttem egy tök jó dologra,megosztom, hátha vki még nem ismeri (mint eddig én sem):
Ha "A1" dátum akkor
B1 =SZÖVEG(HÉT.NAPJA(A1;1); "nnnn")
Ez megmondja milyen nap van.
Törölt nick Creative Commons License 2007.09.17 0 0 5993
2003-ban nincs az is tuti
Előzmény: Jozsef (5991)
Jozsef Creative Commons License 2007.09.17 0 0 5992
Ez a magyar verzióról szól.
Előzmény: Jozsef (5991)
Jozsef Creative Commons License 2007.09.17 0 0 5991
Pontosabban: ahogy emlékszem az Excel 97-ben benne volt, Excel 2000, XP tuti nem, Excel 2003, úgy rémlik, hogy szintén nem, Excel 2007 nem néztem.
Előzmény: Törölt nick (5990)
Törölt nick Creative Commons License 2007.09.17 0 0 5990
Ha nincs benne a függvényvarázslóban, akkor honnan vetted? Mintha a Lotus 1-2-3-ban lett volna ilyen függvény...
Előzmény: Jozsef (5983)
Törölt nick Creative Commons License 2007.09.17 0 0 5989

Ha ugyanazon éven belüli dátumokról van csak szó, akkor c1 cellában 

=hónap(b1)-hónap(a1) képlet is jó erre, és a c1 cella formátumát számra kell állítani, ha szükséges.

Előzmény: wawabagus (5986)
Törölt nick Creative Commons License 2007.09.17 0 0 5988
Nézd meg ezt: Eszközök/Beállítások/Számolás - Automatikus be van jelölve?
Nézegesd itt a beállításokat...
Előzmény: katobala (5985)
Jozsef Creative Commons License 2007.09.17 0 0 5987
C1 cella tartalma
=DÁTUMTÓLIG(A1;B1;"m")
Előzmény: wawabagus (5986)
wawabagus Creative Commons License 2007.09.17 0 0 5986

Tehát, ha konkrét példáról van szó:

 

A1                         B1                         C1

2006.02.20           2006.05.25           3

 

Tehát akkor, hogyan írom be konkrétan a függvényt a C1-be? Bocs, hogy ennyire példához ragadt vagyok, de így könnyebben megy :-).

Ezer köszönet a segítségét :-)!!!

 

Előzmény: Jozsef (5983)
katobala Creative Commons License 2007.09.17 0 0 5985
Sziasztok

Egy óriási problémám lenne excelben. Van egy xls fájlom amiben nem frissülnek a függvények, de ha megnyitom ezt a fájlt akkor utána már más excel táblában sem frissül. Ahoz hogy újra működjön be kell zárni az excelt.
Van-e valakinek ötlete hogy mi lehet ezzel a fájlal???
Jozsef Creative Commons License 2007.09.17 0 0 5984
A feladat megoldásához +1 kell hozzáadni.
Előzmény: Jozsef (5983)
Jozsef Creative Commons License 2007.09.17 0 0 5983
Neki azt kellene kiszámolnia, hogy a konrét vásárlás a program kezdetétől hányadik hónapban történt.

DÁTUMTÓLIG(kezdődátum;végdátum;különbségtípus) függvény
típus:
"y"- években
"m" -hónapokban
"d" - napokban
"ym" - tört éven belüli hónap (pl. x év y hónapnál y adja vissza"
"yd" -tört éven belüli nap
"md" -tört hónapon belüli nap
Nincs benne az Excel magyar helpben, és függvényvarázsló sem hozza fel, így kézzel kell beírni.
Angolul DATEDIFF a függvény neve.
Üdv
József
Előzmény: wawabagus (5982)
wawabagus Creative Commons License 2007.09.17 0 0 5982

Sziasztok!

Tudna valaki segíteni?

Azt szeretném, hogy az excel kiszámolja, hogy ... ő

tehát, van két oszlopom dátummal:

1. program kezdetének időpontja

2. konkrét vásárlás idópontja

Neki azt kellene kiszámolnia, hogy a konrét vásárlás a program kezdetétől hányadik hónapban történt.

Például:

2007.02.28-ám kezdte a programot a vásárlás 2007.05.30-án történt, akkor azt szeretném, hogy ő tegyen egy külön oszlopba egy 4-est.

 

Tud valaki segíteni?

Ezer köszönet :-)!!!

Y

Törölt nick Creative Commons License 2007.09.14 0 0 5981
Ha közzéteszed a makródat, feltuningoljuk :)
Előzmény: Törölt nick (5977)
stromba Creative Commons License 2007.09.14 0 0 5980

A negatív számok zárójelben történő megjelenítése elsősorban a pénzügyi kimutatásokra jellemző az USA-ban, valószínűleg azért hogy a negatív értékek, elsősorban nyomtatásban jobban elkülöníthetőek legyenek. Csak példaképpen, a General Motors 2. negyedéves 10Q riportjának eredménykimutatása:

 

http://phx.corporate-ir.net/phoenix.zhtml?c=84530&p=irol-SECText&TEXT=aHR0cDovL2NjYm4uMTBrd2l6YXJkLmNvbS94bWwvZmlsaW5nLnhtbD9yZXBvPXRlbmsmaXBhZ2U9NTA5MTc1NSZkb2M9MSZudW09Mw%3d%3d

 

Láthatod, hogy a szöveges részben is jelzik, hogy a zárójeles számok negatív értékek / veszteséget jelentenek : Operating income (loss) = Működési eredmény (veszteség)

 

A negatív számokat a matematikában azért angolszász kultúrában is mínusz jellel szokás jelölni.... http://www.intmath.com/Numbers/1_Integers.php#negative

 

Előzmény: locsemege (5974)
Törölt nick Creative Commons License 2007.09.13 0 0 5977
A következő problémát csak nagyon lassú reakcióidővel sikerült megoldanom, ezért kérném a segítségeteket.

Adott 11 munkalap egy munkafüzetben.
A munkalapok "A" oszlopainak soraiban azonosítószámok találhatóak. Akár többször is ugyanaz. (235 azonosítószám)
Egy 12-ik munkalapon az azonosítószám alapján össze kell gyűjtenem, hogy milyen érékek találhatóak hozzá és mi azoknak az értékeknek az oszlopcíme.

Összehoztam egy működőképes makrót, de iszonyatlassú...

katobala Creative Commons License 2007.09.13 0 0 5976
Sziasztok

Egy óriási problémám lenne excelben. Van egy xls fájlom amiben nem frissülnek a függvények, de ha megnyitom ezt a fájlt akkor utána már más excel táblában sem frissül. Ahoz hogy újra működjön be kell zárni az excelt.
Van-e valakinek ötlete hogy mi lehet ezzel a fájlal???
GTI205 Creative Commons License 2007.09.12 0 0 5975

Köszönöm a segítségedet!

Így már megfelelő mert ha nincs helyrajzi szám, vagy házszám a körlevélbe nem tesz nullát a helyére!))

Előzmény: toccata (5933)
locsemege Creative Commons License 2007.09.11 0 0 5974
Lehet, hogy az USA-ban hagyomány a negatív pénzösszegeknél a zárójelezés. Onnan gondolom, hogy a default ez szokott lenni a területi beállításoknál a pénznem esetében. Mint ahogyan az ezres szeparátor a vessző, Magyarországon viszont a szóköz.
Előzmény: Sánta Kutya (SK) (5973)
Sánta Kutya (SK) Creative Commons License 2007.09.11 0 0 5973
Köszi. Hát nem értem, minek egy mínuszjelet egy szokatlan és ugyanakkor bonyolultabb dologgal helyettesíteni.
Előzmény: Törölt nick (5972)
Törölt nick Creative Commons License 2007.09.11 0 0 5972

Nem ismertem ezt a zárójelezési dolgot, de a súgóban megtaláltam: pl. a számok bevitele kifejezésre keresve. Érdekes.

Negatív számok bevitele   A negatív számok elé írjunk egy mínusz (-) jelet, vagy írjuk a számot zárójelbe ( ).

Excel 2000

Előzmény: Sánta Kutya (SK) (5963)
Sánta Kutya (SK) Creative Commons License 2007.09.11 0 0 5971
Office 2000
Előzmény: Törölt nick (5969)
Törölt nick Creative Commons License 2007.09.11 0 0 5970
Bocs, tényleg:) nemtom mi ez még nem találkoztam vele
Előzmény: Sánta Kutya (SK) (5966)
Törölt nick Creative Commons License 2007.09.11 0 0 5969
Melyik excel ez?
Előzmény: Sánta Kutya (SK) (5963)
Törölt nick Creative Commons License 2007.09.11 0 0 5968
Keresgéltem is egy kicsit, nem találtam semmit... Kipróbáltam, nálam nem történt semmi, a beírt érték változatlanul megjelent a cellában. Nem tudom mi lehet ez nálad:(
Előzmény: Sánta Kutya (SK) (5966)
wawabagus Creative Commons License 2007.09.11 0 0 5967

Robbantomester és DJCarlos!!!

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

Y

Sánta Kutya (SK) Creative Commons License 2007.09.11 0 0 5966
Eddig én is azt hittem, de akkor miért írja ki a zárójelben levő szám ellentettjét? Illetve csak pozitív szám esetén. Próbáld ki! Ha negatív számot írok bele, akkor az történik, amit vártam, vagyis megmarad a beírt szövegem szövegként.
Előzmény: Törölt nick (5965)
Törölt nick Creative Commons License 2007.09.11 0 0 5965
semmit nem jelent a (
Előzmény: Sánta Kutya (SK) (5963)
byszka11 Creative Commons License 2007.09.11 0 0 5964
Nagyon Köszönöm mégegyszer!
Előzmény: Törölt nick (5961)
Sánta Kutya (SK) Creative Commons License 2007.09.11 0 0 5963
Beírtam egy cellába: (2008)
Meglepetésemre -2008 jelent meg számként, jobbra igazítva.
Pontosan mit jelent a zárójel?
Törölt nick Creative Commons License 2007.09.07 0 0 5962

 

Képlettel kitöltéshez:

Ha mondjuk az A oszlopban vannak számértékek, amelyekből a B oszlopban képlettel számolunk akarunk valamit, és az A oszlopban nem folytonosan szerepelnek az értékek, és ki akarom tölteni a B oszlopot képlettel:

Beírom a képletet a B oszlop első (vagy ahonnan kezdeni akarom) cellájába.

Az utolsó cellába állok a B oszlopban, ahol még szerepel A-ban érték, majd:

ctrl-shift - nyil fel: a B oszlopot kijelöli az aktuális cellától az elejéig.

ctrl - L kitölti képlettel.

Előzmény: wawabagus (5947)
Törölt nick Creative Commons License 2007.09.07 0 0 5961

 

Módosítottam az eljárást, hogy rugalmasabb legyen használható:

Az eljárásban:

a Range("A1") -ben megadható más keresendő cella A1-helyett

elsoSora=2 megadható hányadik sortól keressen elsoOszlopa -pedig hányadik oszloptól.

Mitirjonbe = 2 mit írjon a találatnál. pl. 2-t.

 


Sub Rögzítés1()

Dim T As Range
Dim C As Range
Dim S As Long
Dim O As Long
Dim elsoSora As Long
Dim elsoOszlopa As Long
Dim KCella As Range
Dim Mitkeres
Dim Mitirjonbe
On Error GoTo Hiba

 

'keresendo cella itt adható meg: pl. A1
Set KCella = Range("A1")

 

'honnan keresse:
elsoSora = 2
elsoOszlopa = 1

 

'mit írjon be:
Mitirjonbe = 2

 

Mitkeres = KCella
S = ActiveSheet.UsedRange.Rows.Count
O = ActiveSheet.UsedRange.Columns.Count
Set T = Range(Cells(elsoSora, elsoOszlopa), Cells(S, O))
For Each C In T
    If C = Mitkeres And Trim(Cells(KCella.Row, KCella.Column)) <> "" _
    And Not (C.Row = KCella.Row And C.Column = KCella.Column) Then _
    Cells(C.Row, C.Column + 1) = Mitirjonbe
Next
Set T = Nothing
Set KCella = Nothing
Exit Sub
Hiba:
Set T = Nothing
Set KCella = Nothing
End Sub

 

Előzmény: byszka11 (5959)
karesz1978 Creative Commons License 2007.09.07 0 0 5960
thx! Szuper!
byszka11 Creative Commons License 2007.09.06 0 0 5959
Szia DJCarlos!


Az általad írt "keres"-sel lenne pár kérdésem. Azt hol lehet meghatározni, hogy melyik sortól keressen, illetve ha nem az "A" oszlopban szeretnék keresni?

Előre is köszönöm
Előzmény: Törölt nick (5939)
byszka11 Creative Commons License 2007.09.06 0 0 5958
Köszönöm mindenkinek a segítséget. Működik a szűrő és a makró is.
Előzmény: Törölt nick (5941)
Törölt nick Creative Commons License 2007.09.06 0 0 5957
Sub Zar()
ActiveWindow.Close
End Sub

Előzmény: karesz1978 (5955)
Törölt nick Creative Commons License 2007.09.06 0 0 5956
Igen, tényleg az zavart engem, hogy ha megváltoztatom a számformátumot, akkor a függvényem nem követte azonnal, csak ha frissítettem. Viszont a másik amit te csináltál az tisztább, szárazabb érzés, jobban használható mint az enyém, Köszönöm.
Előzmény: stromba (5954)
karesz1978 Creative Commons License 2007.09.06 0 0 5955
Sziasztok!

Én excelben egy gombot szeretnék készíteni amit ha megnyomunk bezáródik az aktuális munkalap. Kérdésem hogy a ctrl+f4-et milyen formába hogyan illesszem be?
thx
stromba Creative Commons License 2007.09.05 0 0 5954

Csak akkor nem frissül ha nem változtatsz semmit csak a cellaformátumot. Az application.volatile parancs ekkor nem működik. Esetleg segíthet a

 

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.Calculate
End Sub

Ehhez is legalább egy másik cellát ki kell hogy jelölj.

 

...és ha már megcsináltam, bemásolom ezt is, ez magát a currency kódot adja eredményként.

 

Public Function valuta(ByVal cella As Range) As String
    Application.Volatile
   
    If cella.Cells.Count > 1 Then Exit Function
    t = cella.NumberFormat
    i = Application.WorksheetFunction.Find("$", t, 1)
   
        If Mid(t, i + 1, 1) = "#" Then valuta = "$"
        If Mid(t, i + 2, 1) = "-" Then valuta = Mid(t, i + 1, 1)
        If Mid(t, i + 3, 1) = "-" Then valuta = Mid(t, i + 1, 2)
        If valuta = "" Then valuta = Mid(t, i + 1, 3)
 
   
End Function

 

 

Előzmény: Törölt nick (5953)
Törölt nick Creative Commons License 2007.09.05 0 0 5953
Még annyiban kérhetek segítséget, hogy mit kell tennem ahhoz,m hogy ez rögtön frissüljön is? Pórbáltam így is de nem jó:

Function SzamForma(Hivatkozas As Object)
SzamForma = Hivatkozas.NumberFormat
Application.Volatile
End Function
Előzmény: Törölt nick (5952)
Törölt nick Creative Commons License 2007.09.05 0 0 5952
Közben felhasználói függvénnyel megoldottam

Function SzamForma(Hivatkozas As Object)
SzamForma = Hivatkozas.NumberFormat
End Function
Előzmény: Törölt nick (5945)
Törölt nick Creative Commons License 2007.09.05 0 0 5951
Enter helyett ctrl
Előzmény: Törölt nick (5950)
Törölt nick Creative Commons License 2007.09.05 0 0 5950
ez az autofit megoldás csak akkor megy ha folytonos adatsor van a szomszédos cellákban. Használd ctrl+c és ctrl+v - Shift+Enter+le/felkurzorgombok vagy az egyéb kijelölési lehetőségeket (lásd excel súgója...)
Előzmény: wawabagus (5947)
Törölt nick Creative Commons License 2007.09.05 0 0 5949
Neeem... Ha ilyen egyszerű lenne akkor megoldanám a JOBB() függvénnyel stb...

a számformátum van így beállítva. azt hiszem itt csak egy felhasználói függvény fog segíteni ami visszaadja a cellának a NumberFormat-ot
Előzmény: wawabagus (5948)
wawabagus Creative Commons License 2007.09.05 0 0 5948

És a pénznem mindig a szám után van space-szel elválasztva (124 HUN) esetleg?

Ha igen és mondjuk access megoldás is érdekel, akkor lehet hogy ki lehet valamit találni...jobbról indulva átteni a space jel utáni infót.

De nem tudom, hogy ilyen megoldás érdekel-e.

 

 

Előzmény: Törölt nick (5946)
wawabagus Creative Commons License 2007.09.05 0 0 5947

Sziasztok!

Tudja valaki miért van az, hogy ha beírok egy függvényt és szeretném azt átvinni az alatta lévő cellákra (ergo az oszlopon belül másolnám), akkor normál esetben ha ráklikkelek az jobb alsó sarokra, akkor átmásloja a függvényt. DE valami miatt ez nem mindig működik...van valakinek ötlete, hogy miért nem működik? Mit lehet csinálni, ha nem akarom végig húzni az egeremmel (ami ráadásul szar) mind a 12ezer sort?

Ezer köszönet a segítségért!

Y

 

 

Törölt nick Creative Commons License 2007.09.05 0 0 5946
Konkrétabban a pénzformátumot kéne valahogy megkapnom... (HUF, USD, stb...)
Előzmény: Törölt nick (5945)
Törölt nick Creative Commons License 2007.09.05 0 0 5945
Tudtok arra valamilyen képletes trükköt, hogy egy szám formátumát hogy lehetne kinyerni? Makróval tudom hopgy kell, de az sajnos kivitelezhetetlen az adott helyzetben. Ismerem a Cella függvényt is de az sem megoldás....
Köszönöm előre is ha vkinek van ötlete.
Jozsef Creative Commons License 2007.09.05 0 0 5944
1, Irányított szűrő használata esetén hogyan tudom megadni, hogy a 0 és a 2 értékekre szűrjön?
Irányított szűrő esetén a VAGY művelettel összekapcsolt feltételeket külön sorban kell megadni a szűrőtartományban, pl. így
Mezőnév
0
2

Jelentése Mezőnév értéke=0 VAGY Mezőnév értéke=2.
Üdv
József
Előzmény: byszka11 (5938)
wawabagus Creative Commons License 2007.09.05 0 0 5943

NEKED IS KÖSZI!!!

:-)

Előzmény: Törölt nick (5937)
wawabagus Creative Commons License 2007.09.05 0 0 5942
KÖSZI!!!
Előzmény: Törölt nick (5936)
Törölt nick Creative Commons License 2007.09.05 0 0 5941
Hát, ha már összebénáztam, bemásolom az én verziómat is az 2.-re:

Sub KERES()
Dim KERES, BeIr As Byte
KERES = Cells(1, 1).Value
BeIr = 2
Db = Application.CountIf(Range("1:65536"), KERES)

For i = 1 To Db Step 1
Cells.Find(What:=KERES, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
Cells.FindNext(After:=ActiveCell).Activate
ActiveCell.Offset(0, 1).Value = BeIr
Next
End Sub
Előzmény: byszka11 (5938)
Törölt nick Creative Commons License 2007.09.05 0 0 5940

1. Ha erre gondolsz: autoszűrőt lenyitva/Egyéni: {=0 VAGY =2}

Előzmény: byszka11 (5938)
Törölt nick Creative Commons License 2007.09.05 0 0 5939

 

2. egy megoldás:

 

Sub Rögzítés1()

Dim T As Range
Dim C As Range
Dim S As Long
Dim O As Long
On Error GoTo Hiba
S = ActiveSheet.UsedRange.Rows.Count
O = ActiveSheet.UsedRange.Columns.Count
Set T = Range(Cells(1, 1), Cells(S, O))
For Each C In T
    If C = Cells(1, 1) And Trim(Cells(1, 1)) <> "" _
    And Not (C.Row = 1 And C.Column = 1) Then Cells(C.Row, C.Column + 1) = 2
Next
Set T = Nothing
Exit Sub
Hiba:
Set T = Nothing

End Sub

Előzmény: byszka11 (5938)
byszka11 Creative Commons License 2007.09.04 0 0 5938
Sziasztok


2 kérdésem is lenne.

1, Irányított szűrő használata esetén hogyan tudom megadni, hogy a 0 és a 2 értékekre szűrjön? A '=0 '=2 használata esetén valamilyért együttetesen (külön cellába) nincs találat. Ha csak az egyiket használom akkor működik.

2, Makróval szeretném elérni: az A1-ben lévő szöveget megkeresi a táblázatban majd a találat melletti cellának az értékét átírja 2-re.

Előre is köszönöm
Törölt nick Creative Commons License 2007.09.04 0 0 5937
Az is lehetséges, hogy több munkalap van kijelölve egyszerre, ilyenkor jelenik meg zárójelben a címsorban lévő filenév mellett, hogy [csoport]. Pl lehet hogy ctrl+munkalapra kattintással, vagy Shift+Ctrl+pgdown/up billentyűkombinációval ezt érted el...

ilynkor rá kell kattintani vmelyik munkalapra és megszűnik a csoportos kijelölés.
Előzmény: wawabagus (5935)
Törölt nick Creative Commons License 2007.09.04 0 0 5936

 

A közös használatú dokumentumra gondolsz?

Eszközök - Közös használat - Szerkesztés - Közös használat engedélyezés mezőben törölni a pipát. Részletes leírás a súgóban a közös használat -ra keresve megtalálható.

Előzmény: wawabagus (5935)
wawabagus Creative Commons License 2007.09.04 0 0 5935

SOS!

Ugye van itt valaki?

Hogy lehet megszüntni a csoportos dokumentumot?

Please!!!

Ezere köszönet!!

y

Törölt nick Creative Commons License 2007.09.04 0 0 5934
Vagy: Menü/Eszközök/Beállítások/Megejelenítés/Zéró mint érték pipa kivesz
Előzmény: GTI205 (5932)
toccata Creative Commons License 2007.09.04 0 0 5933
Csak kinézetileg zavaró a nulla? Akkor a feltételes formázással állítsd be, hogy nulla esetén ugyanolyan legyen (gondolom fehér) a karakterek színe is, mint a háttéré.

Ha sehogy se szeretnéd a nullát, akkor a keresést tedd bele egy IF-be (HA-ba) valahogy így:
=HA(FKERES($B2;Munka1!$1:$65536;6;HAMIS)=0;" ";FKERES($B2;Munka1!$1:$65536;6;HAMIS))
így a nulla helyett egy szóköz lesz az eredmény, ami már nem fog zavarni.
Előzmény: GTI205 (5932)
GTI205 Creative Commons License 2007.09.04 0 0 5932

Hali!

 

Excel munkafüzetet használok. Az első lapon tárolom az alap adatokat, azonosító, név, irányítószám, település név, utca, házszám, helyrajzi szám. A többi lapon eseményeket az első lapon szereplőkkel. Az FKERES függvénnyel /=FKERES($B2;Munka1!$1:$65536;6;HAMIS)/az alap adatok átkerülnek és körlevélben használom fel.

 

A gondom az, ha üres egy cella az első lapon /elsősorban a házszám, vagy a helyrajzi szám / a keresés eredményeképpen "0" jelenik meg mint érték.

A HA és SZÖVEG.E függvényt körkörös hivatkozás miatt nem engedi. Újabb oszlopot nem szeretnék beszúrni. Tudtok valami megoldást?

 

GTI205

kenny1 Creative Commons License 2007.09.03 0 0 5931
Az első verzió nekem is megvolt, a másodikon még elmélkedem egy kicsit de igazából egyik sem az amire én vágyom.
köszönöm a választ
Előzmény: Törölt nick (5929)
Martin Eden Creative Commons License 2007.09.03 0 0 5930
Köszönöm a választ, kipróbálom hamarosan.
Thx.
Előzmény: Törölt nick (5927)
Törölt nick Creative Commons License 2007.09.03 0 0 5929

 

Lehet pl. logaritmikusan ábrázoltatni (az y tengelyen) az adatokat, akkor normálisabban néz ki. A diagramon az y tengelyre kattintva, Tengely formázása Skála, Logaritmikus skála-t válalasztva.

De lehet több y tengelyt is megadni, több adatsorhoz. A kisebb számokhoz az egyik tengelyt, a nagyobbakhoz a másikat rendelve. Ha már fel van véve több adatsor, akkor adatsorra kattintva, adatsor formázása tengely, első tengelyhez, második tengelyhez opciók...

Előzmény: kenny1 (5928)
kenny1 Creative Commons License 2007.09.02 0 0 5928
Hali!

Biztos nagyon meglepő de egy excelhez kapcsolódó kérdésem lenne:
nagyon különböző számokból (pl.: 1,2,10,1.000.000, 25.000) szeretnék diagramot (oszlop) készíteni de úgy,hogy az normálisan nézzen ki. Tudom,hogy lehetséges (mert már láttam) az adatokat (és így a tengelyt) megtörni,hogy használható legyen az ábra csak éppen nem tudom hogyan?
Ebben kérném a tisztelt nagyérdemű :) segítségét!

Előre is köszi,

üdv

AndrásBandi
Törölt nick Creative Commons License 2007.09.01 0 0 5927

 

Pl. felhasználói függvényes megoldás, ha van legalább egy space a közterület neve előtt.

Az első Szetvalaszt1 függvény a közterület előtti részt adja az akutális cellában, a második a közterületet:

 

Public Function Szetvalaszt1(Be As Range) As String
Dim A As String
    A = Trim$(Cells(Be.Row, Be.Column).Value)
    Szetvalaszt1 = Left(A, InStrRev(A, " "))
End Function

 

 

Public Function Szetvalaszt2(Be As Range) As String
Dim A As String
    A = Trim$(Cells(Be.Row, Be.Column).Value)
    Szetvalaszt2 = Right(A, Len(A) - InStrRev(A, " "))
End Function

 

Pl.

A1 cellában: Dózsa György körút, és B1-ben =Szetvalaszt1(A1) akkor B1-ben

Dózsa György -et adja, ha C1-ban Szetvalaszt2(A1) ,akkor ide a körút kerül.

 

Előzmény: Martin Eden (5926)
Martin Eden Creative Commons License 2007.09.01 0 0 5926

Üdv Emberek!

 

 Nekem a következő gondom lenne: adott egy oszlop, tele utcanevekkel és a közterületek megnevezésével.

Kb. Bajcsy-Zs. E. utcaNyírfa utca 

Kossuth Lajos tér

Dózsa György körút

...

Ezt kellene szétbontanom úgy, hogy az utca, tér, körút, stb. közterület jellegek külön oszlopba kerüljenek. Elég lenne ha az utolsó space utáni részt vágnám le, csak nem jöttem rá hogyan lehetne az utolsót megkeresi, amikor lehet 2, 3 vagy 4 is akár a cellában (illetve van ahol nincs is space, mert egyszerűen lemaradt a végéről hogy utca vagy akármi, de ez a pár kivétel már kevésbé aggaszt).

 

Ha valakinek van ötlete megköszönném.

Törölt nick Creative Commons License 2007.08.29 0 0 5925
Jól értetted, csak sorbarendezve működik. Nem rég én is ugyanerre a problémára kerestem megoldást és nekem sem jutott eszembe, hogy rákeressek MAXIF-re. Megjegyzem tényleg nagyon nagyon jó ez a függvény és egyéb hasznos dolgokat is találtam ezen az oldalon.
Kösz én is
Előzmény: Redondo (5924)
Redondo Creative Commons License 2007.08.29 0 0 5924

köszi a segítséget, a lenti linken egy jóval bonyolultabb, de tökéletesen működő megoldást találtam... nem tölthet el a büszkeség, h önerőből oldottam meg a problémát, de legalább gyorsan... :-)

 

nálam sajnos a te képleted nem működik tökéletesen, ha jól értelmezem, akkor ez csak akkor működik jól, ha a feltételek szerint sorba van rendezve a tábla, sajnos málam ez nincs (nem lehet) így... azért term. köszönöm a te segítségedet is, ebből a képletből is tanultam.

 

üdv,

 

Előzmény: Törölt nick (5922)
Redondo Creative Commons License 2007.08.29 0 0 5923

eszembe sem jutott, h a google erre is jó lehet... nagyon köszönöm, tökéletesen működik.

 

üdv,

Előzmény: Törölt nick (5915)
Törölt nick Creative Commons License 2007.08.29 0 0 5922
lemaradt a képlet másik fele:

=MAX(INDIREKT("F"&HOL.VAN(A2;A:A;0) &":"& "F"&HOL.VAN(A2;A:A;0)+DARABTELI(A:A;A2)-1;1))

továbbá még azt is elfelejtettem leírni, hogy csak úgy működik, ha a "csoportosítási" alap együtt van (egymás alatt-felett az "A" oszlop soraiban
Előzmény: Törölt nick (5921)
Törölt nick Creative Commons License 2007.08.29 0 0 5921
Ha "A" oszlopban azok az adatok vannak, melyek szerint csoportosítani kell és "F" oszlopban az értékek, akkor pl: "H" oszlopba le lehet húznia köv. képletet:


=MAX(INDIREKT("F"&HOL.VAN(A2;A:A;0)&":"&"F"&HOL.VAN(A2;A:A;0)))


Előzmény: Redondo (5914)
Dinkáné Creative Commons License 2007.08.29 0 0 5920

Képlettel probálkoztam én is, de nem akarodzik menni.

Törölt nick Creative Commons License 2007.08.29 0 0 5919
képlettel 1 lépésben meg lehet csinálni. Nekem sikerült, bár nem kis vessződséggel.
Előzmény: Redondo (5914)
Dinkáné Creative Commons License 2007.08.29 0 0 5918
Elküldhetném emailban?
Sánta Kutya (SK) Creative Commons License 2007.08.29 0 0 5917
=MA() -- mindig az aznapi dátumot írja ki
=MA()-1000 -- mindig az 1000 nappal ezelőttit írja ki
Ha ilyesmire gondolsz, ez a legegyszerűbb.
Előzmény: Dinkáné (5916)
Dinkáné Creative Commons License 2007.08.29 0 0 5916

sziasztok!

 

Ki tudna nekem segiteni?egy táblázat lenne, és az egyik oszlopban lévö idöt kellene minden nappal egyel növelni!?

Törölt nick Creative Commons License 2007.08.29 0 0 5915
Előzmény: Redondo (5914)
Redondo Creative Commons License 2007.08.29 0 0 5914

sziasztok,

 

a SUMIF, ill. COUNTIF függvényekhez teljesen hasonlóan működő "MAXIF", ill. "MINIF" függvények léteznek / létezhetnek valahol? Vagy makróban már megírta valaki?

 

köszi,

Törölt nick Creative Commons License 2007.08.29 0 0 5913
Ha "fül" alatt munkalapot értesz, akkor
készíts egy biztonsági másolatot a fájlodról, aztán próbáld ki ezt a makrót:

Sub egyesit()
Dim Rng As Range, WS As Worksheet, BWS As Worksheet
Set BWS = ThisWorkbook.Worksheets(1)
For Each WS In ThisWorkbook.Worksheets
If WS.Index > 1 Then
Set Rng = WS.Range("A1", WS.Range("A1").SpecialCells(xlCellTypeLastCell))
Rng.Copy Intersect(BWS.Range("A1").SpecialCells(xlCellTypeLastCell).EntireRow, _
BWS.Range("A:A")).Offset(2)
End If
Next
End Sub
Előzmény: kaleb (5912)
kaleb Creative Commons License 2007.08.28 0 0 5912

Lenne egy kérdésem.

 

Van Excel 2003-ban egy csomó fülem. Mindegyik mögött azonos szerkezetű táblák. Ezeket szeretném egy táblában látni, úgy, hogy egymás alá kerüljenek.

 

A copy/paste nem játszik, mert túls sok a fül. Nincs ötletetek, mit tehetnék, ami automatikusan egyesítené a lapjaimat?

Törölt nick Creative Commons License 2007.08.28 0 0 5911
köszönöm, akkor nem kell semmit bepótolnom :)
Jozsef Creative Commons License 2007.08.28 0 0 5910
"Nemzetközi Makrólap" mire jó , mire lehet használni és hogy? Ismeri ezt vki?

Tudomásom szerint még az Excel 4.0 és az előtti verziókban volt jelentősége, amikor még nem volt (majdnem :( ) egységes programozási felülete az Excelnek, mint most a VBA.
Az ilyen munkalapra rakott makrók bármilyen nyelvű Excel változaton futottak.
Jelenleg már nincs jeletősége.
Üdv
József
Előzmény: Törölt nick (5909)
Törölt nick Creative Commons License 2007.08.28 0 0 5909
A "Nemzetközi Makrólap" mire jó , mire lehet használni és hogy? Ismeri ezt vki?
Törölt nick Creative Commons License 2007.08.26 0 0 5907
Akkor vagy hibával kilép, mert nincs olyan mezőnév az excelben, mint a kódban. Vagy a VBA szerkesztőből futtatod le... Nem tudok másra gondolni, mert pl ha hozzárendelem egy gmakrógombhoz, akkor nem történik semmi ilyesmi amit írsz.
Hori R1100S Creative Commons License 2007.08.25 0 0 5904

Szia!

 

Kösz a tippet,néha a legalapvetőbb dolgok nemjutnak az ember eszébe...

Előzmény: toccata (5903)
toccata Creative Commons License 2007.08.25 0 0 5903
A Microsoft-ot nem kérdezted még? Nem segítenek?
Előzmény: Hori R1100S (5899)
Törölt nick Creative Commons License 2007.08.25 0 0 5902
Sub mezo()
Set c = Worksheets("Munka1").Cells(2, 5)

Application.Goto Reference:="MEZŐ"
MsgBox c.Address(RowAbsolute:=False)
End Sub


Előzmény: Gavriel (5901)

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