2417
megoldást keresek erre a problémára
  • Delila1
    #1014
    Ez a makró kiírja a sor számát, ahol a keresett szöveged először előfordul az A oszlopban. Az Sz="Keresett szöveg"-et írd át a záró szövegre.

    http://imagerz.com/QEMTUUtvAwJQVVIcRAVR
  • zmrzlina
    #1013
    Valami olyan fv-re vagy egyéb megoldásra lenne szükségem ami a kijelölt tartomány méretét (elég lenne a sorok száma is) adja vissza.

    Egy külső adatbázis kb 1500 soros html formátumú tábláját másolom be egy munkalapra amit aztán megfelelő formázás után megjelenítek és feldolgozok egy másik lapon. E-mailben (Outlook, Thunderbird) naponta érkezik az adattábla abban mindent kijelölök és beillesztem Excelbe.

    A baj ott van, hogy néha hibázik a levelezőprogram és az 1500 sorból csak pl 700-at jelöl ki. Namármost ha ezt így beillesztem a munkalapra akkor az adattábla fele aktuális lesz a másik fele pedig az előző napi. Arra kellene valami megoldás, hogy a munkalap figyelmeztessen a hibás kijelölésre. Az adattábla nem állandó méretű (1450-1650 sor)naponta változik, illetve mindig ugyanaz a szöveg zárja le és az mindig a legutolsó sor első cellájában van.

    Tudom egyszerűbb minden beillesztés után (vagy még inkább kijelöléskor) leellenőrizni a tartományt de a felhasználóim miatt jobb és kényelmesebb volna valami megoldás ami jó nagy piros betűkkel kiírná, hogy "BAJ VAN!!!"
  • k1ll3rIMi
    #1012
    Közben sikerült megoldanom is:)

  • k1ll3rIMi
    #1011
    Ja elfejetettem excel 2003-ban dolgozok
  • k1ll3rIMi
    #1010
    Sziasztok!

    szeretnék összegyúrni 2db HA-s függvényt de nem megy mert nem tudom hogy kéne csinálnom
    Külön-külön megy
    A két függvény

    =HA($F$4="RIM ONYX PRD";"476050/476039";"")
    =HA($F$4="RIM JAVELIN PRD";"476050/476016";"")

    Az F4-es cella 1 legördülő lista
    És azt szeretném ha beállítom az egyiket akkor a hozzátartozót megjelenítse ill fordítva

    Előre is köszi
  • Delila1
    #1009
    Makró

    A kék színnel írt megjegyzések az alattuk lévő sorokat értelmezik.
    A Cells(11,2) a 11. sor, 2. oszlopot (B11) jelenti, a Cells(11,3) a C11-et.
    A kék csillagos sorok közé írtakat kell lemásolnod az End Sub fölé, és értelemszerűen írd át a hivatkozásokat.
  • mcngoht
    #1008
    Ha több oszlopban, több értékkel szeretném ezt alkalmazni, akkor min kell változatni?
  • Delila1
    #1007
    Ezt a kódot rendeld a lapodhoz (lapfülön jobb klikk, kód megjelenítése, a kapott üres lapra másold be):


    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim a As String
    If Target.Address = "$B$2" Then
    a = Left(Target, 2)
    If a = "10" And Cells(11, 2) = "" Then
    Cells(11, 2) = Target
    Exit Sub
    End If
    If a = "10" And Cells(11, 2) > "" Then _
    Cells(Range("B65536").End(xlUp).Row + 1, 2) = Target
    If a = "20" And Cells(11, 3) = "" Then
    Cells(11, 3) = Target
    Exit Sub
    End If
    If a = "20" And Cells(11, 3) > "" Then _
    Cells(Range("C65536").End(xlUp).Row + 1, 3) = Target
    End If
    End Sub

    Próbálj egy kicsit pontosabban fogalmazni a kérdés felvetésekor, kevesebb munkát adsz annak, aki segíteni akar.
  • mcngoht
    #1006
    Ez így jó! csak az a baj hogy átírja az előző értéket ha újat írok be..Úgy meglehet csinálni hogy amit beírok a B2-be azt az oszlopokban mindíg egymás alá írja?
  • Delila1
    #1005
    Szívesen az előzőt.

    B10-> =HA(BAL(B2;2)="10";B2;"")
    Ezt másold le, ameddig kell.
    Ennek analógiájára
    C10-> =HA(BAL(B2;2)="20";B2;"")

    Nem biztos, hogy így értetted, majd szólsz. :)
  • mcngoht
    #1004
    Azt hogy lehet megcsinálni a legegyszerűbben, hogy ha beírok egy értéket mondjuk B2-be és ha az 10-el kezdődik akkor azt tegye a B10-be ha még egy 10-el kezdődőt írok akkor azt a B11-be írja. És ha 20al kezdődőt írok akkor azt a C10-be tegye és így tovább..?
  • mcngoht
    #1003
    Ez is működik! :) Köszönöm szépen a segítséget!
  • Delila1
    #1002
    A #1000-rel mentél valamire?

    Zéróosztó hibakezelése:
    =ha(hibás(a1/b1);0;a1/b1)
  • mcngoht
    #1001
    Hogy lehet a "#ZÉRÓOSZTÓ" hibát egy cellán belül 0-ra varázsolni?
  • Delila1
    #1000
    C1-> =ÉV(A1)&" " &HÓNAP(A1)
    E1:E12 legyen 1, 2, ... 12. Ezt másold át az E13:E24 tartományba.
    F1-> =2010&" "&E1 ezt lemásolod az F12-ig,
    F13-> =2011&" "&F13 ezt F24-ig,
    G1-> =SZUMHA(C:C;F1;B:B) ezt pedig G24-ig.
  • mcngoht
    #999
    Ez így kitünően működik! :) CSAK! Van egy kis kompikáció benne... Az hogy a dátumok, egyik évből átnyúlnak a másikba, pl 10.08.01-kezdődik, és 11.06.01-végződik. És ezzel a képlettel most úgy számolja mintha a jövő évi első pár hónap már meglett volna, és azt is hozzá adja.
  • Delila1
    #998
    Egy, az előzőnél egyszerűbb megoldás, mivel kiderült, hogy nem egy-egy alkalmi, hanem havi összesítés szükséges:
    Az A oszlopban vannak a dátumok, B-ben az összegek. C1-be: =Hónap(A1). Ezt lemásolod.
    E1-E12 tartományba 1; 2; ... 12.
    F1-be: =SZUMHA(C:C;E1;B:B). Lemásolod.
    G1-be: =F1
    G2-be: =G1+F2. Lemásolod
    Az F oszlopban lesz mindig az egyes hónapok összege, G-ben pedig a göngyölített.
  • mcngoht
    #997
    Akkor megpróbálom! :) még az előző képlethez kapcsolódva... Most van 12 kezdődátum az E oszlopban és 12 befejező dátum az F oszlopban, és mindegyik mellett egy kiszámolt összeg a G-ben. Egy olyan kellene, hogy ha mondujuk most 2010.06.01-van. akkor a 6. havi összeget adja eredményül plusz visszamenőleg összeadva a többit. Ezt úgy értem, hogy amelyik hónap már elmult annak az összegét adja hozzá az aktuális hónap összegéhez.
  • Delila1
    #996
    Találjuk ki a kérdést? :)
    Tegyél be képet róla, hátha egyszerűbb lesz megérteni.
  • mcngoht
    #995
    Köszönöm szépen a segítséget! :) Működik! Még lenne kérdésem csak az a baj hogy nem tudom megfogalmazni, hogy érthető legyen :D
  • Delila1
    #994
    Beírod pl. az E1-be a kezdő-, az F2-pedig az utolsó dátumot. Egy másik cellába:
    =SZUM(INDIREKT("B"&HOL.VAN(E1;A:A;0)):INDIREKT("B"&HOL.VAN(F1;A:A;0)))
    Ez megadja a két dátum között lévő, B oszlopbeli adatok összegét.
  • mcngoht
    #993
    Sziasztok! Hogy lehet azt megoldani hogy két dátum közötti összegeket adjon nekem össze.. Pl: az "A" oszlopban van a dátum 2010.05.31-től 2011.02.22-ig és minden nap mellett van egy szám a "B" oszlopban pl 52 Ft, 64 Ft. És szeretném hogy magátol kiszámolja a külömböző időpontok közötti értékeket. A válaszokat előre is köszönöm! :)
  • Delila1
    #992
    Szívesen.
    A tévesztés a karakterkészlet miatt eshetett meg, nagyon hasonló az 1 és az l megjenenése. :(
  • kelan
    #991
    Köszi Delila, remekül működik a makró! :)

    Azért nem működött korábban, mert elnéztem egy karaktert, az (xlUp) helyett (x1Up)-ot írtam...
  • Delila1
    #990
  • kelan
    #989
    Munka1!B4 ---> Munka2!B2 és lefele
    Munka1!B6 ---> Munka2!C2 és lefele
    Munka1!B8 ---> Munka2!D2 és lefele




  • Delila1
    #988
    Pontosan írd meg, melyik cellákból hova akarsz másolni, csak akkor lehet makrót írni rá!
  • kelan
    #987
    Ugyanarról a munkalapról, de nem egy tartományból, hanem különálló cellákból másolom az adatokat a célmunkalap megfelelő oszlopaiba.

    Este megpróbálom megint beszerkeszteni kódot, amit ítál. :)
  • Delila1
    #986
    A 3 adatot mindig az A1:A3 tartományba írod? Vagyis ugyanarról a helyről másolja az adatokat a másik lap első üres sorába?

    "...nem tudtam működőképes állapotba hozni" Valószínűleg nem figyeltél rá, hogy a makró a Munka1 lap kódlapjára kerüljön (bal oldalon ez az aktív), és/vagy ahogy a képen látszik, a makró fölötti részben a legördülőben a Worksheet legyen kiválasztva.
  • kelan
    #985
    Úgy képzelem el, hogy feltöltöm másolandó adatokkal a cellákat, rákattintok egy "ok" gombra, és ekkor végrehajtódik e cellák értékeinek másolása az új munkalap megfelelő helyére, minden kattintáskor egy új sorba. :) Amit írtál, beírtam, de nem tudtam működőképes állapot bahozni...
  • Delila1
    #984
    Nem biztos, hogy jól értem a feladatot. Azt hámoztam ki a leírásodból, hogy ha a Munka1 lapon beírsz valamit az A1-be, az jelenjen meg a Munka2!A2 cellájában, a Munka1!A2-be bevitt érték a Munka2!B2-jébe kerüljön, a Munka1!A3 pedig a Munka2!C2-be.
    Az ezután szintén az A1:A3 tartományba bevitt értékek a másik lapon az A3:C3 tartományba másolódjanak át.
    Ehhez itt láthatod a makrót, és azt, hogy hova kell beírnod a VB szerkesztőben (nálam a füzet neve Munkafüzet1).
  • kelan
    #983
    És ha nem bánod, egy újabb kérdés. :)

    Hogyan tudnám megoldani, hogy egy adott munkalapon lévő bizonyos cellák (pl: A1,A2,A3) értékeit makró hozzárendeléssel egy másik munkalap bizonyos oszlopaiba (pl: A2,B2,C2) másoljam úgy, hogy az új adatok új sorba kerüljenek?
  • Delila1
    #982
    Szívesen. Én is ezt választottam volna, mert ezzel szükség esetén bármikor az összes napi adatot is kimutathatod.
  • kelan
    #981
    Köszi Delila, a csoportba foglalás mellett maradtam. :)
  • na rob
    #980
    Rájöttem közben. Format set volt elállitva.
  • na rob
    #979
    Annak mi lehet az oka, hogy egy rendszeresen használt file néha meghülyül és nem hajlandó CTRL F keresésre sem Format sem Value alapján találatot adni?
  • dadalia
    #978
    Valóban ez látszott megoldásnak, bár nem szívesen fogtam volna bele új diagram összeállításába. Ugyanis 15 oszlop adataiból dolgozik a kéttengelyes diagram, igen időrabló volt eredetileg is összeállítani, mert néhány oszlop és vonal grafikon létrehozása után már a ChartObjects akarta eldönteni hogy a következő oszlop, vagy vonal legyen!

    Közben megtaláltam a hiba okát!
    A "Dátum" oszlopban, a beírt adatok alatt 50 - 60 cellával lejjebb, egy makró ír be időnként dátumokat, amit azután töröl is, ha már nincs szüksége rá.
    Ezekből maradt meg itt néhány, az adatok közt elvégzett sortörlések miatt.
    Ezek okozták a kihagyásokat!
    Nyilván átalakítás lesz a dologból!
  • Delila1
    #977
    A csoportosításhoz nem kell áttenni a dátumot, az oszlopban is hajlandó végrehajtani, kipróbáltam.
  • Delila1
    #976
    Két dolgot tehetsz:

    1. Átteszed a dátumot az oszlopból a sorba, és akkor a mezőcímen állva behívod az Adatok/Tagolás és részletek/Csoportba foglalás menüt. Itt beállíthatod, hogy havonta csoportosítson. Ezt nem mindig engedi, és még nem sikerült rájönnöm, miért tiltja le időnként.

    2. A táblázatodban felveszel egy új oszlopot, ami a dátum oszlopból a HÓNAP függvény segítségével a hónap értékét adja, és ezt az oszlopot teszed a kimutatásba a teljes dátum helyett.
  • kelan
    #975
    Sziasztok!

    Hogyan tudom beállítani egy kimutatásban, hogy a forrásadat egyedi dátumérékeit tartalmazó mezőjét az oszlopcimkékhez behúzva ne a több száz egyedi dátum jelenjen meg, hanem csupán az egyedi dátumok hónapjai?