Keresés

Részletes keresés

Delila10 Creative Commons License 2011.11.07 0 0 16544

Szívesen.

 

A másik kérdésedre: készíts kimutatást, ahol a sorcímke az Item Code lesz, az oszlopcímke és az érték pedig a Description.

Előzmény: Rusvai Zsolti (16536)
Törölt nick Creative Commons License 2011.11.07 0 0 16543

Sematikusan így kell:

 

Sub valami()

    ...

    ...

    While fentétel igaz

        On Error Goto hiba

        ciklusmag

 

    Wend

    ...

    ...

    ...

    Exit Sub

 

hiba:

    Debug.Print Err.Number & " - " & Err.Description

    'további naplózási parancsok

    Resume Next

End Sub

Előzmény: wawabagus (16541)
Delila10 Creative Commons License 2011.11.07 0 0 16542

Szerintem teljesen rendben van.

Előzmény: Törölt nick (16539)
wawabagus Creative Commons License 2011.11.07 0 0 16541

Sziasztok!

Összeollóztam egy makrót, ami egy folder minden fájlját megnyitja és bizonyos információkat bemásol belőlük egy Summary file-ba.

Több, mint 100 fájlom van, ezt a mennyiséget már csak makróval tudom kezelni.

 

Sajnos néha nem nyílnak meg a fájlok, mert hibásak. azt szeretném, hogy ilyenkor ugorjon a következő fájlra, de logoljon is.

 

A " On error resume next"-et használva átugorhatom a problémát, de én szeretném ha mielőtt ugrik a következő fájlra logolná a pl az hiba kódot valahol.

 

Hogyan lehet ezt megoldani?

Van ötletetek?

 

Köszönöm!!

 

 

 

 

wawabagus Creative Commons License 2011.11.07 0 0 16540

Szuper vagy Jimmy!!

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

 

:-)

Előzmény: Törölt nick (16537)
Törölt nick Creative Commons License 2011.11.07 0 0 16539

Szeretne még valaki hozzászólni a 16479-hez?

Ha nem, akkor a pastebin kiegészítéssel továbbítom a modiknak. (A tudásbázist meg talán később sikerül tető alá hozni.)

Előzmény: Törölt nick (16479)
Rusvai Zsolti Creative Commons License 2011.11.07 0 0 16538

Sziasztok!

Még egy kérdés (remélhetőleg az utolsó mára):

Egy item code-hoz bizonyos esetekben több description is tartozik (azt most ne firtassuk, hogy ez logikailag teljesen helytelen, a brazíliai kollega szerint ez így logikus:)) Szóval azt szeretném megszámolni, hogy egy item code-hoz hány description tartozik. A csatolt képen talán jobban látszik, hogy mire gondolok!

Köszi!

Törölt nick Creative Commons License 2011.11.07 0 0 16537

Önmagában egyik sem jobb vagy rosszabb megoldás, csak akkor, ha tudjuk, mi az elérendő cél. A különbségek nagyjából ezek:

 

Variáció1:

1) a teljes cellatartalmat másolja, képlettel, formázással, megjegyzéssel együtt

2) Ha a kód további részében még bármit akarsz kezdeni a másolás forrás- és céltartományával, akkor azokat nem kell újra definiálni, hiszen a CopyRng és Dest range objektumok továbbra is bevetésre készen állnak.

 

Variáció2:

1) Csak a cellák értékét írja át.

2) A másolás forrás- és céltartományának definíciója nem marad meg. Ráadásul a céltartományt nem is tudod még egyszer definiálni az addig használt módszerrel, mert közben megváltozik a UsedRange.

 

 

Előzmény: wawabagus (16535)
Rusvai Zsolti Creative Commons License 2011.11.07 0 0 16536

Köszönöm szépen, működik:)

Előzmény: Delila10 (16533)
wawabagus Creative Commons License 2011.11.07 0 0 16535

Sziasztok!

El tudjátok nekem magyarázni jobb-e valamelyik megoldás és ha igen miért?

KÖSZI!!!!! 

 

Variáció 1:

 

                    Set CopyRng = Wkb.Sheets(1).Range("B1")
                    Set Dest = shtDest.Range("A" & shtDest.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1)
                    CopyRng.Copy Dest

 

Variáció 2:

 

                    shtDest.Range("A" & shtDest.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1) = Wkb.Sheets(1).Range("C1")

Delila10 Creative Commons License 2011.11.07 0 0 16534

Az előzőhöz még annyit, hogy ha a csatolt kép egy kimutatást ábrázol, az értékeit át kell másolnod valahova, és oda kell beírnod a sorok kitöltését és a képleteket, mert a kimutatásba nem tudsz beírni.

Előzmény: Rusvai Zsolti (16531)
Delila10 Creative Commons License 2011.11.07 0 0 16533

Kezdd azzal, hogy az Item Code oszlopot (A oszlop?) feltöltöd. Kijelölöd a tartományt, ugrás menü (Ctrl+g), irányított, üres cellák. Beírsz egy egyenlőség jelet, és nyomsz egy fel nyilat. Ez minden üres cellába beír egy hivatkozást, ami a fölötte lévő cellára mutat. Ctrl+enterrel beviszed a képleteket.

 

Ha bántja a szemedet a sokszor szereplő azonos adat, azonnal, míg ki van jelölve, háttér színűre állíthatod a karakterek színét.

 

Jó, ha az oszlopban a képletek helyére irányítottan rögtön beilleszted az értéküket, mert egy rendezés után másképp galibát okozhat.

 

És most jön a képlet az F2 cellába:

 

{=HA($B2="";"";MIN(HA($A2:$A15=$A2;$C2:$C15;HAMIS)))}

 

Ezt úgy hozod létre, hogy a nem félkövérrel írt képletet beviszed, és Shift+Ctrl+enterrel fogadtatod el, mert ez egy tömbképlet.

 

Átmásolod a G2 cellába, majd a kettőt együtt a többi sorba.

 

A képletben azt használtam ki, hogy a B oszlopban az azonos Item Code-okhoz csak az első sorban adtál leírást.

 

A próbához az adatokat a 2:15 sorba vittem be,  a sorszámokat igazítsd a saját tarományodhoz.

 

Előzmény: Rusvai Zsolti (16531)
Or Kán Creative Commons License 2011.11.07 0 0 16532

Köszönöm, este kipróbálom.

Előzmény: Törölt nick (16529)
Rusvai Zsolti Creative Commons License 2011.11.07 0 0 16531

Sziasztok!

 

A következő kérdésben szeretnék segítséget kérni! Adott egy hatalmas táblázat, mely egy vállalat múltbéli rendelési adatait tartalmazza (portugál nyelvű, de a problémám szempontjából ez lényegtelen). Ebből lekérdezéssel elkészítettem egy olyan kimutatást, mely az egyes termékek rendelési adatait tartalmazza, az egyszerűség kedvéért most csak: egységár, rendelt mennyiség, rendelés értéke (ezt láthatjátok lentebb). Mivel az év során az árak mozogtak, így egy tétethez több egységár is tartozik. A cél az lenne, hogy minden termékre szeretném kimutatni, hogy mennyi volt a legalacsonyabb és a legmagasabb egységár. A probláma az, hogy nem ugyanannyiszor változott a termékek ára, van ami változatlan végig, van ami akár 10x is változott. A legkisebb és legnagyobb egységárat szeretném kiszámoltatni minden egyes item code mellé, ahogy a táblázatban látható. Képlettel akárhogy próbáltam, nem tudtam rájönni a megoldásra. Ha valakinek van ötlete, az nagy segítség lenne!

Köszi!

 

Törölt nick Creative Commons License 2011.11.07 0 0 16530

Az ábra lemaradt...

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

A Vezérlők eszköztár További vezérlők gombjával elérhető egy olyan dolog, hogy "Microsoft Office Spreadsheet". Ha egy ilyet ráteszel a munkalapra, a mellékelt ábrához hasonlóan fog kinézni. Kóddal is hozzá lehet adni, Excel 2003-ban pl. így:

 

Sub add_spreadsheet()
    Dim o As Object
    Set o = ActiveSheet.OLEObjects.Add(ClassType:="OWC11.Spreadsheet.11", Link:=False, _
        DisplayAsIcon:=False)
    o.Name = "inner_sheet"
End Sub

 

Ez azért jobb, mint eszköztárról hozzáadni, mert így egyúttal nevet is adunk neki, amivel később bármikor lehet rá hivatkozni. Ha jól láttam, legalább 2007.es Exceled van. Ott nem tudom, mi a kód, valszleg "OWC12.Spreadsheet.12" vagy "OWC12.Spreadsheet.13", ki kell próbálni. Illetve, ha a Vezérlők eszköztár tervező üzemmódban van, akkor az objektumra kattintva a képletsorból kiderül a típus pontos neve.

 

A láthatóvá tétel/elrejtés műveletek ezek után így néznek ki:

 

    Dim o As Object
    Set o = ActiveSheet.OLEObjects("inner_sheet")
    o.Visible = True/False

 

Az objektumot lehet pozicionálni, méretezni, lehet bele értékeket másolni, és talán arra is rá lehet venni, hogy automatikusan egy külső munkafüzet tartalmát jelenítse meg (bár erre még nem jöttem rá, hogyan kell). Korlátozott Excel funkcionalitással rendelkezik, képleteket lehet bele írni, ki is számolja őket.

Tegyél egy ilyet a munkalap közepére, és próbáld ki, hogy megfelel-e a céljaidnak.

Szerintem elegánsabb, mint egy másik ablak, viszont nem tud annyit, mintha Excel munkafüzet lenne.

Ezért is kérdeztem, hogy mi a célod vele.

 

Előzmény: Or Kán (16528)
Or Kán Creative Commons License 2011.11.07 0 0 16528

 

 

Egy ilyet szeretnék elérni, ha mondjuk a munkafüzet3 első cellájára rákkattintok.

Előzmény: Törölt nick (16526)
Or Kán Creative Commons License 2011.11.07 0 0 16527

A Windows(1).WindowState = xlMaximized, illetve a Windows(2).WindowState = xlnormal parancsokkal próbálkoztam, de ha kiadom a második ablakra (amit az első ablakra akarok ráhívni) az xlnormal parancsot, akkor nekem attól az első ablakot is kisebbre veszi.

 

De lehet, hogy nem is a windows parancsokkal kellene próbálkoznom, de a workbook-kal nem tudok méretezni.

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

Mit értesz az alatt, hogy "egy másik, kisebbre méretezett excel-lapot az előző excel-lap közepére"?

 

Két dolog jutott eszembe:

1) Megnyitni egy másik munkafüzetet egy másik ablakban, és ezt az ablakot az elsőnek a közepére (vagy akárhová) pozicionálni.

2) Az aktív munkalap belsejében valami szövegdoboz-szerű objektumot hozni létre, ami egy másik munkafüzet valamely munkalapjának tartalmát jeleníti meg.

 

Melyik áll közelebb az elképzelésedhez?

A "kisebbre méretezett excel-lap" tartalma mi lesz, milyen forrásból származik?

Előzmény: Or Kán (16525)
Or Kán Creative Commons License 2011.11.06 0 0 16525

Sziasztok!

 

Azt hogy lehetne megcsinálni, hogy egy excel-lapról kattintással meg lehetne hívni egy másik, kisebbre méretezett excel-lapot az előző excel-lap közepére? (Listbox-szal meg tudom csinálni, de jobb lenne egy ilyen excel-lapos megoldás. A kattintás részének beállításával tisztában vagyok, csak az a makró-rész kellene, amivel behívom a kisebb munkalapot, rá a nagyobbra.)

szkripnyik Creative Commons License 2011.11.06 0 0 16524

Anyám, megyek és visszadom a diplomámat, mert már nem tudok különbséget tenni tőszámnév és sorszámnév között!

:-(((((((((((((((((((((

Fél nap alatt nem veszem észre, hogy a hatodik hónap 28-dik napja <> hat hónap + 28 nap...

:-(((((((((((((((((((

Előzmény: Törölt nick (16513)
_Nyuszi Creative Commons License 2011.11.06 0 0 16523

Hosszú tél volt.

:-)

Előzmény: Sánta Kutya (SK) (16520)
Törölt nick Creative Commons License 2011.11.05 0 0 16522

nézd, én így csinálnám. Ez egy kimutatástábla több tartománnyal. Berakhatsz több munkalapot és csak a 2-est kell szűrni

Előzmény: Trodat72 (16510)
Törölt nick Creative Commons License 2011.11.05 0 0 16521

sőt, a 2400-at is át fogja

Előzmény: Sánta Kutya (SK) (16520)
Sánta Kutya (SK) Creative Commons License 2011.11.05 0 0 16520

2000-et átaludtad? :-)

Előzmény: _Nyuszi (16518)
Sánta Kutya (SK) Creative Commons License 2011.11.05 0 0 16519

Bizony, ezt hívják Gergely-naptárnak. :-)

1900 is szökőév, de csak a Julián-naptárban, amit a pravoszláv egyházak használnak (de polgári célokra a múlt század eleje óta már a pravoszláv országok sem).

Előzmény: Törölt nick (16517)
_Nyuszi Creative Commons License 2011.11.05 0 0 16518

Én úgy tudtam, hogy a 00 végű évek nem szökőévek, akármennyivel oszthatóak. Megint tanultam valami újat, köszi! :)

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

a szabály az, hogy minden 4-el osztható év szökőév, kivéve a századfordulók pedig csak akkor, ha 400-al oszthatóak. Utóbbit persze nem tudtam, Wiki-ben olvastam :(

Tehát 1900 nem szökőév és rossz benne a feb.29? - mármint az excel szerint

Előzmény: Sánta Kutya (SK) (16512)
Sánta Kutya (SK) Creative Commons License 2011.11.05 0 0 16516

Ezért rossz.

A naptárat nem az Excelhez igazítják. Gergely pápa nem használt MS-termékeket, sem Lilius és Clavius.

Az Excelt sem a naptárhoz, pedig azt kellett volna anno. Most már késő.

Előzmény: Törölt nick (16514)
Sánta Kutya (SK) Creative Commons License 2011.11.05 0 0 16515

Jaj, bocsi, én néztem el, ez tényleg csak az az egynapos hiba, amiről beszéltem. Azt már nem is fogják javítani, így kisebb a kár, mint ha mást mutatnának a táblázataid a verziótól függően.

 

1900. jan. 1. előtt úgyis csak trükközéssel lehet dátumszámításra használni az Excelt. Most gyakorlati szempontból nem mindegy, hogy 1900. jan. 1. vagy 1900. márc. 1. előtt nem használható rendesen? Csak két hónap.

Előzmény: Sánta Kutya (SK) (16511)

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