2417
megoldást keresek erre a problémára
  • zmrzlina
    #1134
    Én ugyan nem Delila vagyok, de foglalkoztam egy kicsit a problémáddal és ezt sikerült kiötleni:

    Sub rendez()

    Application.ScreenUpdating = False

    Dim machine As Byte
    Sheets("Szűrésre").Select
    Range("A1").Select

    Do
    Sheets("Szűrésre").Select
    ActiveCell.Offset(1, 3).Select
    machine = ActiveCell.Value

    If machine = 0 Then
    Application.ScreenUpdating = True
    End
    End If

    Range(ActiveCell, ActiveCell.End(xlToLeft)).Select
    Selection.Cut

    Sheets("Machine " & machine).Select
    Range("A65536").End(xlUp).Select
    ActiveCell.Offset(1, 0).Select
    ActiveSheet.Paste

    Loop

    End Sub

  • Culram #1133
    Bocsi! Itt lesz a fájl. Csatolt fájl
  • Culram #1132
    Szia Delila!

    Lenne egy kérdésem. Csatolt fájl

    Hogy lehetne azt megoldani, hogy a csatolt fájlban lévő adathalmazt szeretném szortírozni gépszám szerint úgy hogy azokat egy másik lapra helyezni gépszám szerint feldolgozási sorrendben egymásalá.

    Majd a szűrendő fület ürítse, és ha majd másik adattáblát teszek be akkor azt szintén feldolgozva adja hozzá a már meglévő gépenkénti táblákhoz.
  • Gimre
    #1131
    Egy egyszerű kérdést még fel szerettem volna tenni. Mi a külömbség a Range és a Excel.Range között.

    Köszönöm
    üdv Gimre
  • jabulani
    #1130
    megpróbálom, nagyon köszönöm!

    jabulani
  • Delila1
    #1129
    Ha itt nem kapsz választ, fordulj ide: http://prohardver.hu/tema/excel/friss.html

    Rád fog találni a 2010-es verzió lelkes híve, Fire.
  • Gimre
    #1128
    Sziasztok!
    Egy kis segitség kellene. Office 2010-t használok és az excelben letöltöttem egy sablont, namost van benne egy függvény méghozzá a darabteli és a kritérium mezőben ez volt [@Country] 1ébbként a Country egy lenyiló lista jellegű vmi, szerintem szürő. szoval azt szeretném kérdezni hogy miért kell a @-jel. Ugyan ez a jel van ([@W*3])+[@D].
    Azt nem tom ha esetleg kitörlöm a @ jelet akkor mitörténik.
    Előre is köszönöm
    Üdv Imre
  • Delila1
    #1127
    Először is kapcsold be az Eszközök/Bővítménykezelőben a 2 Analysis kezdetű bővítményt, akkor sok más függvénnyel együtt rendelkezésedre áll majd a RANDBETWEEN, ami az argumentumában megadott két egész szám közötti véletlenszámot állít elő.

    Ezután írd be a lehetséges adatokat. Pl. az S oszlopban felsorolod a családtagokat, a T-ben a foglalkozásokat, stb.
    Az A2 (családtagok) képlete (feltételezve a címsort): =indirekt("S" & randbetween(1;20))
    Ez akkor igaz, ha a családtagokat az S1:S20 tartományban soroltad fel.
    A B2 (foglalkozások) képlete: =indirekt("T" & randbetween(1;10)) – értelemszerűen a T1:T10 tartományban vannak a lehetséges foglalkozások.
  • jabulani
    #1126
    Sziasztok!

    Egy friss kérdésem lenne, alapszintű excell felhasználó vagyok.

    Van egy táblázatom, aminek az oszlopaiban azonos tipusú adatok vannak. (a oszlopban családtagok, b oszlopban foglalkozások, c oszlopban életkorok, d oszlopban hobbik, stb. -valami ilyesmi) szeretnék létrehozni egy olyan véletlenszerű generálást, hogy van egy fix szövegem, amiben vannak üres részek és ezekbe az üres részekbe tegyen bele a megfelelő oszlopból adatot, teljesen véletlenszerűen. Az adatok nincsenek összekötve, tehát az apa lehet kőműves vagy pék, lehet 5 éves vagy 85, stb....Szóval minden oszlop független egymástól. Tud valaki ebben segíteni nekem?



    köszi

  • Delila1
    #1125
    Az INDIREKT függvény adja vissza a megfelelő értéket.

    =indirekt("A" & B1)
  • czipi
    #1124
    sziasztok


    Adott:
    az A1 helyen 2
    az A2 helyen 8
    az A3 helyen 5 van
    és a
    a B1 helyen 1

    Olyan függvényt keresek, amely az A oszlop azon értékét adná vissza, amelyre a B1 hivatkozik?
    Vagyis valami olyasmi, hogy =A(B1) esetén 2 lenne, de ha megváltoztatnám a B1-t kettőre, akkor már 8-at adna vissza.
    Valamilyen duplahivatkozás... talán...
    Remélem érthető!

    köszi
  • zmrzlina
    #1123
    Egy kicsit nyakatekertnek tűnhet a megoldás de én egy makróval átmásolnám egy üres oszlopba az FKERES fv által generált oszlop celláinak csak azokat az értékeit amelyek nem nullák. Ezután a diagramban tengelynek ezt makró által előállított oszlopot adnám meg.

    Sub copy()
    Range("C1").Select

    Do While ActiveCell.Value > 0
    ActiveCell.copy
    ActiveCell.Offset(0, 1).Select
    ActiveCell.PasteSpecial (xlPasteValues)
    ActiveCell.Offset(1, -1).Select
    Loop

    End Sub

    A "C" oszlopban van az FKERES fv, a "D" oszlopba másolódnak a 0-tól különböző értékek.
    A makró futását lehetne indítani a "C" oszlop értékeinek változásától (pl ha beírsz egy új értéket).
  • Delila1
    #1122
    Yan módszere kiegészítve:

    Munka2 A oszlopa
    =ma()+10
    =ma()+1
    ...
    =ma()-30

    A Munka2 lap B oszlopa
    10 nap múlva lejár
    1 hét múlva lejár
    ...
    lejárt 1 hónapja

    A Munka1 F2 képlete
    =HA(VAGY(B2>0;HIBÁS(FKERES(C2;Munka2!A:A;1;0)));"";FKERES(C2;Munka2!A:B;2;0))

  • apcaja
    #1121
    Holnap kipróbálom, köszi a segítséget.
  • apcaja
    #1120
    Sajna hiányzik a vessző- lejárat, nettó stb.. BOCS
  • Delila1
    #1119
    Hibásan tettem a "kacsa csőrét". A formázásnál a képlet helyesen
    =ÉS(B1="";C1<=$H$1)
  • Delila1
    #1118
    Az előző kibővítve azzal az esettel, mikor a lejárat az aktuális napra esik:

    =HA(B2>0;"";HA(C2>$H$1;($H$1-C2)*-1& " nap múlva lejár";HA(C2=$H$1;"Ma jár le";(C2-$H$1)*-1& " napja lejárt")))

    Az E oszlopnak adhatsz feltételes formázást. Kijelölöd az oszlopot, a feltétel (a képlet értéke): =ÉS(B1="";C1>=$H$1) itt adhatsz pl. piros, és félkövér karaktert.
  • Delila1
    #1117
    Nem egészen értem a "lejárat nettó"-t.
    Vegyük, hogy az A oszlopban van a számla kelte, B-be írod be a dátumot, amikor teljesített. C-ben az a dátum szerepel, amikor teljesítenie kellene a partnernek, E oszlopban szeretnéd a kiírást.
    Felvettem a MA() függvényt a H1 cellába. Az E2 képlete:
    =HA(B2>0;"";HA(C2>$H$1;($H$1-C2)*-1& " nap múlva lejár";(C2-$H$1)*-1& " napja lejárt"))
    Ezt másold le az adataid mellé.
  • Delila1
    #1116
    Kipróbáltam, gördítősávval is működik.
  • apcaja
    #1115
    Biztos zaj van nálam ezt nem értem. Addig OK hogy megadom, a lejárathoz a dolgokat,(ma+ 1 stb) de az FKERES itt nem talál lejáratot....hogyan vigyem át a másikba? Ráadásul azt is szeretném, hogy csak azokat a számlákat figyelje amelyek nincsenek kifizetve...
  • Delila1
    #1114
    Régebbi verzióban is meg lehet oldani. Egy kattintás a vonalon, kijelölted az adatsort. Még egy kattintás az első hátralévő hónap adatpontján (ne duplaklikk legyen), kijelölted az adatpontot. Jobb klikk, Adatpont formázása. A Mintázat fülön a Vonal kategóriában a Nincs paramétert jelöld be.
    Ezt ismételd meg a többi hátralévő hónap adatpontján.
  • l1ght1ng
    #1113
    Feladat: vannak különböző átmérőjű körök (max. tizedes, százados eltérés), melyeknek a 0,0 ponttól azaz az origótól eltérő a középpontjuk (itt is max. százados, ezredes eltérés). Meg kell állapítani, hogy mekkora az így megrajzolt körökbe írható legnagyobb kör átmérője.
    Ennek a körnek a középpontjának koordinátáit ki lehet számolni, ha átlagolom az x és az y koordinátákat. Viszont a kérdésem az, h nincs e vmi jó módszer, eszköz az excelben a kör átmérőjének meghatározására?! (Pl. solverrel próbálkoztam, de nem nagyon jött össze)

    Előre is köszi a segítséget!
  • wizso
    #1112
    köszi, de nem üres cellákról van szó, hanem 0-t, " "-t (szóközt) vagy betűt tartalmaz. Mivel egy függvény van a cellában, ezért már nem tudja üresként kezelni (legalábbis én így látom).
  • kelan
    #1111
    Ja, tényleg elírtam véletlenül... Működik a makró, de akkor sajnos nem másol, ha az A1 cella értékét egy görgetősávval változtatom...
  • zmrzlina
    #1110
    Szia

    Nekem magyar 2007-es excelem van ott úgy működik, hogy jobbkatt a diagrammon ->Adatok kijelölése és ott van egy "Rejtett és üres cellák" gomb. Itt van egy hármas opciógomb "Üres cellák megjelenítésnek módja" felirattal. Ha itt a Közökkel opciót választod akkor nem fogja ábrázolni nulla értékként az üres cellákat.
  • wizso
    #1109
    Sziasztok!

    Küzdök napok óta egy problémával, a segítségeteket szeretném kérni.

    Adott egy vonaldiagram, amely értékeinek táblázata egy másik táblázat alapján frissül automatikusan (Fkeres függvénnyel, de végülis ez úgy gondolom nem olyan fontos).
    A probléma nagyon egyszerű, de sikerült túljárnia az eszemen: a még rendelkezésre nem álló adatok (év hátralévő hónapjainak adatai) helyén értelemszerűen nincs adat beírva, így a függvény a forrástáblában nem talál adatot, tehát 0-t ír a diagram értékeinek táblázatába.
    A vonaldiagram pedig így elég szarul néz ki: meredek vonal a 0-ba minden diagram végén.

    Van valami ötletetek? Próbáltam már HA függvénnyel is operálni, de ha az üres cellákba "0" helyett " " vagy betű van, akkor is ugyanez a probléma...
  • Yan
    #1108
    remélem jól értelmeztem :)

    csinálsz egy segédtáblát a munka2-re, felsorolod mi az ami kell 'A'-ba egymás alá (10 nap, 1 hét, ...), 'B'-be a függvényeket hozzá =ma()+10, =ma()+7, ...,

    a munka1 lapon a kellő oszlop első cellájába
    =FKERES("amelyik a 'teljesítés' cella";Munka2!A$1:B$"ahány sorod van";1;HAMIS)
    és lemásolod végig
  • apcaja
    #1107
    Kedves fórumozok!
    Kintlévőség kezeléssel bíztak meg, adatbázisom egy számla adatait tartalmazó Excel munkafüzet. Fejadatok: számla kelte, teljesítés, lejárat nettó, bruttó, lejárt/nem járt le. Szeretnék egy olyan oszlopot ahol a lejárathoz képest (egy dátumhoz képes, vagy akár a MA()-hoz képest) a következők jelennének meg: 10 nap múlva esedékes, 1 hét múlva esedékes, 1 nap múlva esedékes, lejárt 1 hét, lejárt 2 hét, lejárt 1 hó, lejárt 2<.
    Tudtok segíteni?
    Előre is köszönöm.
  • Delila1
    #1106
    Ez a makró, amit bemásoltál, a Munka1 B4, B6 és B8 celláit másolja a Munka2 E, F és G oszlop első üres sorába, majd a Munka1 lap A4, A6 és A8 celláit törli.
    Te ezt írtad: A Munka1 A4, A6, A8 cellák értékeit másolja a Munka2 meghatározott helyére, sorokba, mindig az új üres sorba, majd törli a Munka1 A4, A6, A8 cellák értékeit.
    Azt a makrót, amit most adok meg, a Munka1 laphoz kell rendelned. A lapfülön jobb klikk, Kód megjelenítése. Bejutottál a VB szerkesztőbe, a jobb oldali üres lapra másold be. Feltételezem, hogy a 3 adatot egymás után adod meg, utoljára az A8 értékét. Amikor ezt megadod, indul a makró. Megnézi, hogy az A1 értéke nagyobb-e 1-nél. Ha igen, másolja az A4, A6 és A8 értékeit a Munka2 lapra, és törli a Munka1 lapon ezt a 3 cellát. 1, vagy 1-nél kisebb érték esetén minden marad, ahogy volt.

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$8" Then
    If Cells(1) > 1 Then
    Dim usor As Integer
    usor = Sheets("Munka2").Range("E65536").End(xlUp).Row + 1
    Sheets("Munka2").Cells(usor, 5) = Sheets("Munka1").Cells(4, 1)
    Sheets("Munka2").Cells(usor, 6) = Sheets("Munka1").Cells(6, 1)
    Sheets("Munka2").Cells(usor, 7) = Sheets("Munka1").Cells(8, 1)
    Range("A4") = "": Range("A6") = "": Range("A8") = ""
    End If
    End If
    End Sub


  • kelan
    #1105
    A másolós makród kicsit átalakítva. A Munka1 A4, A6, A8 cellák értékeit másolja a Munka2 meghatározott helyére, sorokba, mindig az új üres sorba, majd törli a Munka1 A4, A6, A8 cellák értékeit.

    Sub Copy()
    Dim usor As Integer

    usor = Sheets("Munka2").Range("E65536").End(xlUp).Row + 1
    Sheets("Munka2").Cells(usor, 5) = Sheets("Munka1").Cells(4, 2)
    Sheets("Munka2").Cells(usor, 6) = Sheets("Munka1").Cells(6, 2)
    Sheets("Munka2").Cells(usor, 7) = Sheets("Munka1").Cells(8, 2)
    Range("A4").Select
    Selection.ClearContents
    Range("A6").Select
    Selection.ClearContents
    Range("A8").Select
    Selection.ClearContents
    End Sub

  • Delila1
    #1104
    Egek! Ezt a kérdést május 18-án tetted fel. Ki emlékszik már rá azóta?!
    Másold be ide, akkor nem kell újra gondolkozni a megoldáson.
  • kelan
    #1103
    A [URL=http://www.sg.hu/listazas_msg.php3?id=1081321937&no=983]#983[/URL]-mas hozzászólásomban feltett másolós makrót szeretném továbbfejleszteni, és a másolás akkor hajtódna végre, ha a cella egyik értéke nagyobb lenne az egyik meghatározott cella (A1) értékénél. Ez amit írtál remekül működik, annyival egészítettem ki csupán, hogy a makró törli az A1 cella tartalmát, és így a másolás csak egyszer történik.
    Ami problémába ütköztem, az az, hogy ha én az A1 cellához hozzárendelek egy ActiveX görgetősáv vezérlőelemet, és ott kezdem el növelni az A1 értékét, akkor a kódhoz írt feltétel teljesülésekor nem történik meg a másolás. Nyilván ilyenkor nem hagyom jóvá az A1 változtatását egy Enter leütésével, és ezért nem fut le a másolás se. Valamit kéne írnom a Scroll-bar kódjába is?
  • Delila1
    #1102
    Ha nem egy bizonyos makróról van szó, általánosságban:
    a kérdéses laphoz rendelve (lapfülön jobb klikk, Kód megjelenítése, a jobb oldalon kapott üres lapra másold be)

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Cells(1, 1) > 1 Then
    MsgBox "Fut a makró"
    End If
    End Sub

    Az MsgBox "Fut a makró" sor helyére írd a saját makródat.
  • Delila1
    #1101
    Visszamentem jún.15-ig. Megkönnyítenéd a választ,ha megírnád, melyik makró volt a kérdéses, vagy megadnád az akkori hozzászólásod számát.
  • kelan
    #1100
    Delila, tudsz segíteni, hogyan tudnám bővíteni a már meglévő és működő makrómat úgy, hogy az egy feltétel teljesülésekor fusson le? Pl. ha az A1 cella értéke 1-nél nagyobb, fusson le a makró.
  • Delila1
    #1099
    A cellaformátumnál az egyéni kategóriában ezt add meg:
    ééééhhnn
    Ugyanúgy viheted be az adatokat, mint eddig, pl. 1.3 , az eredmény 20100103 lesz.
  • mcngoht
    #1098
    Sziasztok! Hogy tudnám azt elérni, hogy a dátumot pontok nélkül írja. Így: 20101002 És ha mondjuk egy számjegyű a hónap vagy a nap, akkor elé írjon egy nullát. Így: 20100101. Meglehet ezt oldani valami egyszerű képlettel?
  • kelan
    #1097
    ok, köszi!
  • Delila1
    #1096
    Tedd fel a kérdéseidet itt.
  • kelan
    #1095
    És ha szabad, kérdezhetek mégegyet? :) =VÉL() függvénnyel generált véletlen számot tartalmazó cellát szereték másodpercenként frissíteni, de nem manuálisan, hanem automatikusan. Ez megoldható valahogy? Köszönöm előre is!