HWSW Informatikai Kerekasztal: Excel segítség! - HWSW Informatikai Kerekasztal

Ugrás a tartalomhoz

Mellékleteink: HUP | Gamekapocs

  • (63 Oldal)
  • +
  • « Első
  • 11
  • 12
  • 13
  • 14
  • 15
  • Utolsó »
  • Nem indíthatsz témát.
  • A téma zárva.

Excel segítség! Értékeld a témát: -----

#241 Felhasználó inaktív   szucsati 

  • Őstag
  • PipaPipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 5.946
  • Csatlakozott: --

Elküldve: 2008. 11. 10. 14:58

Üdv!

Lenne megint egy macerás Exceles kérdésem. Adott egy táblázatom, ami így néz ki kb (a ; jel az oszlopelválasztó):
cikkszám1_szín_méret1; ár,darabszám,stb; méret1;
cikkszám1_szín_méret2; ár,darabszám,stb; méret2;
cikkszám1_szín_méret3; ár,darabszám,stb; méret3;
cikkszám2_szín_méret1; ár,darabszám,stb; méret1;
cikkszám2_szín_méret2; ár,darabszám,stb; méret2;

És ebből kéne ilyet csinálnom:
cikkszám1_szín; ár,darabszám,stb; méret1 méret2 méret3;
cikkszám2_szín; ár,darabszám,stb; méret1 méret2;

A cikkszám1_szín karakterhossza adott, azt probléma nélkül levágom. Igazából a probléma az, hogy az eredeti táblázatban minden méret külön sor, és nem tudom, hogy egy termékhez hány ilyen sor tartozik. A kimeneti táblánál pedig egy cellába kéne besűríteni az azonos cikkszámhoz tartozó méret adatokat. Remélem, érthetően írtam le.

Megoldható ez pusztán Excellel, vagy csak scripttel? Elképzelésem szerint itt valami cikus kéne, azt meg tudtommal nem tud az Excel :(

(aztán ha ezen túl vagyok, akkor még ki kéne válogatnom azokat a sorokat, amikben a cikkszám benne van egy listában, de szerintem ez fkeressel megoldható)

#242 Felhasználó inaktív   Delila 

  • Tag
  • PipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 376
  • Csatlakozott: --

Elküldve: 2008. 11. 10. 18:07

A Munka1 lapról a Munka2-re rendezi át az adataidat. Igazán azonos a különböző méretek darabszáma és ára? Mert abból, ahogy leírtad a rendezést, ez derül ki. Egy sorba kerül a többféle méret, és összesen csak egy-egy cella van az áruknak és a darabszámuknak.

Két helyen kell a makróban átírni a cikkszám hosszát 9-ről az valódi értékre, ahol jelöltem.

Sub elrendez()
    Sheets("Munka1").Select
    sor2 = 2: usor = Range("A65536").End(xlUp).Row
    For sor = 2 To usor
        oszlop = 4
        cikksz = Left(Cells(sor, 1), 9) 'ide a 9 helyett a cikkszám hossza kell
        Sheets("Munka2").Cells(sor2, 1) = cikksz 'cikkszám
        Sheets("Munka2").Cells(sor2, 2) = Cells(sor, 2)  'ár
        Sheets("Munka2").Cells(sor2, 3) = Cells(sor, 3)  'db
        Sheets("Munka2").Cells(sor2, 4) = Cells(sor, 4)  'méret_1
        Do While Left(Cells(sor + 1, 1), 9) = cikksz 'ide a 9 helyett a cikkszám hossza kell
            oszlop = oszlop + 1
            sor = sor + 1
            Sheets("Munka2").Cells(sor2, oszlop) = Cells(sor, 4) 'méret_2,méret_3... méret_n
        Loop
        sor2 = sor2 + 1
    Next
End Sub

Program az, ami az adatokat hibaüzenetté konvertálja.
Link

#243 Felhasználó inaktív   szucsati 

  • Őstag
  • PipaPipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 5.946
  • Csatlakozott: --

Elküldve: 2008. 11. 11. 18:59

Idézet: Delila - Dátum: 2008. nov. 10., hétfő - 19:07

A Munka1 lapról a Munka2-re rendezi át az adataidat. Igazán azonos a különböző méretek darabszáma és ára? Mert abból, ahogy leírtad a rendezést, ez derül ki. Egy sorba kerül a többféle méret, és összesen csak egy-egy cella van az áruknak és a darabszámuknak.

Két helyen kell a makróban átírni a cikkszám hosszát 9-ről az valódi értékre, ahol jelöltem.

:respect:  :respect:  :respect: Istennő vagy, köszönöm szépen :)
Ebből kiindulva megírtam életem első makróját :birthday2:

Viszont lenne még egy, amit nem sikerült kitalálnom, hogy kell megoldani, úgyhogy ismét kérném a segítséged. Van egy oszlopom és ebben kéne megkeresni egy értéket. Valahogy így:

IF érték benne van az oszlopban THEN
parancs1
parancs2
...

Csak nem sikerült kitalálni, hogy a "benne van"-t hogy lehet ellenőrizni :(

#244 Felhasználó inaktív   Delila 

  • Tag
  • PipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 376
  • Csatlakozott: --

Elküldve: 2008. 11. 12. 07:55

szucsati

Sub Keres()
    keresendo = "szucsati"
    For sor = 1 To 100
        For oszlop = 1 To 20 'A:T oszlopok
            If Cells(sor, oszlop) = keresendo Then
                'Teendő, ha igaz
            Else
                'Teendő, ha nem igaz (el is maradhat)
            End If
        Next oszlop
    Next sor
End Sub

Értelemszerűen elmaradhat a for oszlop-next oszlop sor a makróban, ha csak egy oszlopban keresed az értéket. Akkor viszont meg kell adni fixen, hanyadik oszlopban keressen.
Az ELSE ág sem kell, ha csak tovább kell lépni "nem találat" esetén.

Szerkesztette: Delila 2008. 11. 12. 07:57 -kor

Program az, ami az adatokat hibaüzenetté konvertálja.
Link

#245 Felhasználó inaktív   Pikkolo 

  • Őstag
  • PipaPipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 5.296
  • Csatlakozott: --

Elküldve: 2008. 11. 19. 18:25

A következő feladat megoldásában kérek segítséget:

Az első munkalapon az alábbi sorok vannak, a sorok melletti cellában pedig egy szám, pl:
kukorica  0
tojás    10
kenyér    3
kiskutya  5
kolbász 0
béka    2
liszt        0

Azt kellene megoldanom, hogy a második munkalapon egymás után listázza ki azokat amelyeknél a szám nem nulla. Ezt meglehet oldani úgy, hogy kiirja amelyik nem nulla, de üres sorok maradnak közöttük. Az kellene, hogy üres sorok ne legyenek, csak a szövegek egymás alatt, mögöttük a számmal.

A végeredmény a következő lenne:
tojás    10
kenyér    3
kiskutya  5
béka    2

Makrón kívül van erre megoldás?

#246 Felhasználó inaktív   Delila 

  • Tag
  • PipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 376
  • Csatlakozott: --

Elküldve: 2008. 11. 19. 19:55

Makrón kívül az HA függvénnyel. A másik lap A1 cellájába:

=HA(Munka1!$B1>0;Munka1!A1;""), és ezt jobbra húzod a B1-be, a kettőt együtt addig, ahány sorod van a Munka1 lapon.

Ezután a Munka2 adatait rendezed az A oszlop szerint csökkenő sorrendbe, és a végéről letörlöd a képleteket tartalmazó felesleges sorokat.

Ha fontos az eredeti sorrend, akkor itt egy makró:

Sub Kigyujt()
    sor_1 = 1
    For sor = 1 To ActiveSheet.UsedRange.Rows.Count
        If Cells(sor, 2) > 0 Then
            Sheets("Munka2").Cells(sor_1, 1) = Cells(sor, 1)
            Sheets("Munka2").Cells(sor_1, 2) = Cells(sor, 2)
            sor_1 = sor_1 + 1
        End If
    Next
End Sub

Program az, ami az adatokat hibaüzenetté konvertálja.
Link

#247 Felhasználó inaktív   Pikkolo 

  • Őstag
  • PipaPipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 5.296
  • Csatlakozott: --

Elküldve: 2008. 11. 20. 14:07

Idézet: Delila - Dátum: 2008. nov. 19., szerda - 20:55

Makrón kívül az HA függvénnyel.
..

Automatikusan, makró nélkül lehet valahogyan egymás alá rakni?
Mert ha nincsen akkor makrózok majd.

#248 Felhasználó inaktív   Delila 

  • Tag
  • PipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 376
  • Csatlakozott: --

Elküldve: 2008. 11. 20. 14:13

Tegyél ki az Űrlap eszköztárról egy gombot, amihez hozzárendeled a makrót. Ez kényelmesebbé teszi a használatát, nem kell bemenni az Eszközök/Makrók menübe.

A sűrűn használt makróknál mindig ezt alkalmazom.
Program az, ami az adatokat hibaüzenetté konvertálja.
Link

#249 Felhasználó inaktív   Warrior 

  • Őstag
  • PipaPipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 10.246
  • Csatlakozott: --

Elküldve: 2008. 11. 20. 14:25

Sziasztok, excel guruk! 1 pillanatnyi kérdésem lenne. Az volna a feladat, hogy egy teszt-értékelő makrót írogatok, ami egy rögzített formátumú kitöltött tesztlapról "összeszedi" a megoldásokat, értékel, hány válasz jó, stb.
A megoldást viszont másik fájlban (tehát másik munkafüzetben) KELL tárolni, így kérték, tehát a másik fájl a "kulcs", illetve oda mennek majd az eredmények is, összesítés, stb. Onnan kellene tulajdonképpen kiolvasni, pontosabban annak az egyetlen munkalapjáról kellene kiolvasni értékeket, mert egy kérdés-azonosítóval vannak jelölve a kérdések, s így lehet összevetni, melyik a jó válasz. Van, ahol több válasz is adható, stb. Úgyhogy ezért gondoltam makrós megoldásra, számomra egyszerűbb volt mindaddig, amíg másik fájlból nem kellett dolgozni. Szóval ha minden egy munkalapon volna, akkor már kész is volnék rég, de a kiértékelők nem akarják a "megoldó kulcs-táblát" odamásolni a tesztlapra természetesen, az megmarad központi helyen, számukra elérhetetlenül, stb. Nem is ez a lényeg.
Arra rájöttem, hogy meg kell nyitni a másik fájlt. Anélkül nehézkes hozzáférni, maximum a Jet segítségével, de ahhoz sajnos kuka vagyok.

Tulajdonképpen az volna a kérdésem, hogy hogyan tudom 1 cikluson belül megcímezni, elérni, kiolvasni egyik fájl adott sheet-jéről adott cellák tartalmát, s összehasonlítani egy MÁSIK fájl adott sheet-jének adott celláival.
Mert ami példákat találtam, azok mind kiolvasták a másik fájl megnyitása után az adott cellát, kiírták msgbox-ba, stb. De nem "léptek vissza" az eredeti munkafüzetre! Asszem kell váltani munkafüzetek között ez esetben, csak nem tudom, milyen paranccsal, illetve mi kell még ehhez, milyen "környezet", milyen változókat kell deklarálni ehhez :( . Ebben kérném a segítségeteket, tehát hogy tudok egyik fájl egyik füzetéből kiolvasni, s egyúttal másik fájl másik füzetéből is.

Bocsánat, ha bonyolultan írtam. Segítséget köszönöm!

ps.: nem kell full program, nekem elég csak az utasítás, vagy kiindulási pont, a programot már megírom, csak jó volna célirányos segítség, olyanoktól, akik élből hajítják ezt a témát...

Köszönöm!

ps/2.: bár jó link olyan doksihoz is, amiben az egyszerre több munkafüzetben való melózás le van írva olvasni nem tudók számára, így én is megértem...:)

Szerkesztette: Warrior 2008. 11. 20. 14:34 -kor

"Hey Ripley, don't worry. Me and my squad of ultimate badasses will protect you! Check it out! Independently targeting particle beam phalanx. Vwap! Fry half a city with this puppy. We got tactical smart missiles, phase-plasma pulse rifles, RPGs, we got sonic electronic ball breakers! We got nukes, we got knives, sharp sticks..."

#250 Felhasználó inaktív   Delila 

  • Tag
  • PipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 376
  • Csatlakozott: --

Elküldve: 2008. 11. 20. 15:53

Szia!

Váltás a füzetek között:  ActiveWindow.ActivateNext
Hivatkozás másik füzet adott cellájára:  ActiveCell.Formula = "=[Eredmények]Munka1!A1"
Program az, ami az adatokat hibaüzenetté konvertálja.
Link

#251 Felhasználó inaktív   Pikkolo 

  • Őstag
  • PipaPipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 5.296
  • Csatlakozott: --

Elküldve: 2008. 11. 20. 19:34

Idézet: Delila - Dátum: 2008. nov. 20., csütörtök - 15:13

Tegyél ki az Űrlap eszköztárról egy gombot, amihez hozzárendeled a makrót. Ez kényelmesebbé teszi a használatát, nem kell bemenni az Eszközök/Makrók menübe.

A sűrűn használt makróknál mindig ezt alkalmazom.

Köszi, nagyon jól működik :up:

#252 Felhasználó inaktív   Delila 

  • Tag
  • PipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 376
  • Csatlakozott: --

Elküldve: 2008. 11. 21. 06:59

Szívesen.

:banana:
Program az, ami az adatokat hibaüzenetté konvertálja.
Link

#253 Felhasználó inaktív   Pikkolo 

  • Őstag
  • PipaPipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 5.296
  • Csatlakozott: --

Elküldve: 2008. 11. 21. 17:01

Van olyan lehetőség, hogy gombnyomásra egy minta.doc-ba bemásolja az előre meghatározott sorokat? Ha igen akkor úgy kellene megoldani, hogy képként teszi át a dokumentumba az excel tábla sorait :)

#254 Felhasználó inaktív   Root_Kiskacsa 

  • Senior tag
  • PipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 3.379
  • Csatlakozott: --

Elküldve: 2008. 11. 21. 21:41

Idézet: Pikkolo - Dátum: 2008. nov. 21., péntek - 18:01

Van olyan lehetőség, hogy gombnyomásra egy minta.doc-ba bemásolja az előre meghatározott sorokat? Ha igen akkor úgy kellene megoldani, hogy képként teszi át a dokumentumba az excel tábla sorait :)

Megoldható. Arra nem tudok rájönni, hogy hogyan lehet rávenni a Word-öt VBA-n keresztül, hogy legyen szíves és képként illessze be a vágólap tartalmát. (Menün keresztül persze nem gond.) Még a makrórögzítő is hülyeséget rögzít, ha megpróbálom menün keresztül leutánozni neki a műveletet.
Így most az alábbi példa csak hagyományos táblázatként illeszti be az Excelben kijelölt területet:
Sub FogdEsViddWordbe()
    Dim WordApp As Object, WordDoc As Object
    Set WordApp = CreateObject("Word.Application")
    WordApp.Visible = True ' <- Ez a sor csak akkor kell, ha látni is akarod a Word ablakot, miközben összeállítja a dokumentumot mentéshez.
    Set WordDoc = WordApp.Documents.Add
    WordDoc.Activate
    Selection.Copy
    WordApp.Selection.Paste
    WordDoc.SaveAs "C:\minta.doc"
    WordApp.Quit False
End Sub

Pen-drive-on, notebookon, PDA-n kizárólag máshonnan reprodukálható/visszamásolható adat legyen!
Ami hordozható, az nem megbízható!

#255 Felhasználó inaktív   szucsati 

  • Őstag
  • PipaPipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 5.946
  • Csatlakozott: --

Elküldve: 2008. 11. 25. 02:23

Idézet: Delila - Dátum: 2008. nov. 12., szerda - 8:55

szucsati

Sub Keres()
    keresendo = "szucsati"
    For sor = 1 To 100
        For oszlop = 1 To 20 'A:T oszlopok
            If Cells(sor, oszlop) = keresendo Then
                'Teendő, ha igaz
            Else
                'Teendő, ha nem igaz (el is maradhat)
            End If
        Next oszlop
    Next sor
End Sub

Értelemszerűen elmaradhat a for oszlop-next oszlop sor a makróban, ha csak egy oszlopban keresed az értéket. Akkor viszont meg kell adni fixen, hanyadik oszlopban keressen.
Az ELSE ág sem kell, ha csak tovább kell lépni "nem találat" esetén.

Ismét köszönöm a tippet :). Eddig nem is volt időm folytatni a munkám, de most hipp-hopp sikerült a leírásodnak hála  :respect:

#256 Felhasználó inaktív   Delila 

  • Tag
  • PipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 376
  • Csatlakozott: --

Elküldve: 2008. 11. 25. 08:05

Szucsati

Szívesen.  ;)
Program az, ami az adatokat hibaüzenetté konvertálja.
Link

#257 Felhasználó inaktív   Pikkolo 

  • Őstag
  • PipaPipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 5.296
  • Csatlakozott: --

Elküldve: 2008. 11. 25. 15:08

Van egy csodaszép makrós excel programom, de 2007-es excelben nem akar menni. Van rá megoldás, hogy működésre bírjam?

#258 Felhasználó inaktív   Delila 

  • Tag
  • PipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 376
  • Csatlakozott: --

Elküldve: 2008. 11. 25. 15:43

Pikkolo

A színes (Excel?) gomb menüjében lent találod Az Excel beállításait, ott balra a Bővítményeket.
Lent kattints az Ugrás gombra, és jelöld be az Analysis ToolPak és az Analysis ToolPak - VBA jelölőket.
Program az, ami az adatokat hibaüzenetté konvertálja.
Link

#259 Felhasználó inaktív   Pikkolo 

  • Őstag
  • PipaPipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 5.296
  • Csatlakozott: --

Elküldve: 2008. 11. 25. 21:45

Idézet: Delila - Dátum: 2008. nov. 25., kedd - 16:43

Pikkolo

A színes (Excel?) gomb menüjében lent találod Az Excel beállításait, ott balra a Bővítményeket.
Lent kattints az Ugrás gombra, és jelöld be az Analysis ToolPak és az Analysis ToolPak - VBA jelölőket.

Köszi, holnap megnézem :-)

#260 Felhasználó inaktív   Pikkolo 

  • Őstag
  • PipaPipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 5.296
  • Csatlakozott: --

Elküldve: 2008. 11. 26. 08:04

Már futtatja a VBA-t, de sajnos a beillesztendő külső képeket egy helyra rakja és nem a megfelelő pozicióba  :(

Téma megosztása:


  • (63 Oldal)
  • +
  • « Első
  • 11
  • 12
  • 13
  • 14
  • 15
  • Utolsó »
  • Nem indíthatsz témát.
  • A téma zárva.

2 felhasználó olvassa ezt a témát.
0 felhasználó, 2 vendég, 0 anonim felhasználó