Keresés

Részletes keresés

kovacsmiklos1985 Creative Commons License 2011.09.07 0 0 16010

Igen, azt is próbáltam. 9, 9 van a zárójelben (I9)

Előzmény: epl (16009)
epl Creative Commons License 2011.09.07 0 0 16009

azt "I"-t is kicserélted ?

Előzmény: kovacsmiklos1985 (16008)
kovacsmiklos1985 Creative Commons License 2011.09.07 0 0 16008

ugyanúgy hiba, csak Run time error 9, és nem 5 :D

Előzmény: epl (16005)
epl Creative Commons License 2011.09.07 0 0 16007

a cellsnél csak számit tudsz beírni azt hogy "I" nem az "I" helyett 9-et kell írni

Előzmény: epl (16006)
epl Creative Commons License 2011.09.07 0 0 16006

Egyébként a cells("I9") biztos hogy nemjó :)

a cells az csak két paraméterrel megy sor és az oszlop

ami tud ilyet, hogy "I9" az a range

Előzmény: kovacsmiklos1985 (16004)
epl Creative Commons License 2011.09.07 0 0 16005

Címezd meg a file-t is.

Workbooks("Book1.xlsm").Worksheets("Sheet1").Cells(6, 2).Calculate

Előzmény: kovacsmiklos1985 (16004)
kovacsmiklos1985 Creative Commons License 2011.09.07 0 0 16004

 

Hát valahogy így néz ki a dolog.

Van a táblázat, ahol ott a kis ikon. A sárga részben a kód. De a hibaüzenet meg megjelenik.

Előzmény: epl (16003)
epl Creative Commons License 2011.09.07 0 0 16003

Hát ez sokmindentől függ. Elméleitileg be lehet állítani az excelben hogy ne frissítsen cellát automatikusan, de akkor ez minden másra is érvényes lesz. Gondolom ezt nem szeretnéd.

Én akkor nem fügvénnyel csinálnám hanem a makróval írnám be az időt a cellába, akkor biztos hogy csak akkor lesz benne ha a képre kattintasz.

Cells(7, 3) = Now

lehet ezt szebben is címezni

Worksheets("Sheet_neve").Cells(6, 2)=Now

 

Mi a hibaüzenet egyébként ? Csakmert nekem működik, kipróbáltam direkt.

 

 

Előzmény: kovacsmiklos1985 (16002)
kovacsmiklos1985 Creative Commons License 2011.09.07 0 0 16002

valamint ha a most függvényt használom, akkor ha kilépek az excelből, és visszalépek, akkor autómatikusan frissíti az értéket, én meg azt szeretném, hogy az ne frissüljön autómatikusan :)

Előzmény: Jimmy the Hand (16000)
kovacsmiklos1985 Creative Commons License 2011.09.07 0 0 16001

Behelyettesítem a "sor" helyére, hogy 9, az "oszlop" helyére meg hogy I, de leáll hibaüzenettel. Vesszővel elválasztottam az értékeket, pont úgy, ahogy te írtad. Mi baja lehet?

Előzmény: epl (15999)
Jimmy the Hand Creative Commons License 2011.09.07 0 0 16000

Sub Újraszámol()

   Sheets("Munka1").Range("A1").Calculate

End Sub

 

Munka1 és A1 helyére helyettesítsd be a releváns munkalap illetve cella nevét.

Előzmény: kovacsmiklos1985 (15998)
epl Creative Commons License 2011.09.07 0 0 15999

Sub Picture1_Click()
    Cells(sor, oszlop).Calculate
End Sub

Előzmény: kovacsmiklos1985 (15998)
kovacsmiklos1985 Creative Commons License 2011.09.07 0 0 15998

és ezt az újraszámolós kódot hogyan kell megoldani a makróban? ez bonyolult, vagy csak valami 1-2 soros programkód?

Előzmény: epl (15997)
epl Creative Commons License 2011.09.07 0 0 15997

Hozzárendelsz egy makrót a képhez, ami kattintásra a cellát újraszámolja amiben a (now()) függvény van.

Előzmény: kovacsmiklos1985 (15996)
kovacsmiklos1985 Creative Commons License 2011.09.07 0 0 15996

Sziasztok!

 

Lenne ötletetek arra, hogy hogyan tudnám megoldani azt, hogy mondjuk ha egy az excel táblába beszúrt képi elemre kattintok az egérrel, akkor egy meghatározott cella értéke automatikusan a pontos időre változzon?

 

Az ötleteket, és a segítséget előre is köszönöm!

 

Miki

Törölt nick Creative Commons License 2011.09.06 0 0 15995

ahoggy t65 is írta:

hiperhivatkozás-nak hívják excelben

(van függvény, de külön beszúrási lehetőség is van. (Beszúrás menüpont - hiperhivatkozás (asszem)

Előzmény: kelan (15991)
Törölt nick Creative Commons License 2011.09.06 0 0 15994

ez jó cucc, nem ismertem, kösz.

 

Előzmény: Delila10 (15989)
tt65 Creative Commons License 2011.09.06 0 0 15992

meg lehet biztos. én eddig csak olyan láttam, ami a munkalapneveket link-ként kiteszi egy külön munkalapra (az is nagy segítség)

javaslom gugli: add toc to excel

 

Előzmény: kelan (15991)
kelan Creative Commons License 2011.09.06 0 0 15991

Sziasztok! Szerintetek meg lehet oldani, hogy az Excel 2007 megnyitása után a megnyitott több munkalapból álló fájl mindegyik munkalapjárára rendezett és névvel ellátott ikonokon keresztül lehessen eljutni? Ha új ablakokat hozok létre a nézet menüben, majd ezeket kis méretűvé állítom és rendezem, már majdnem megfelelő a kapott eredmény, de ekkor mindegyik kisméretű ablak ugyanúgy néz ki, szóval mégsem ez a legjobb megoldás.

tt65 Creative Commons License 2011.09.06 0 0 15990

köszi!

ezt már olvastam valahol, de már nem volt meg! :-)

Előzmény: Delila10 (15989)
Delila10 Creative Commons License 2011.09.06 0 0 15989

Egy könnyítés a név beviteléhez: mikor bevitted a Forrás mezőbe az egyenlőségjelet, az F3 billentyű feldobja az addig elnevezett tartományok nevét, és csak ki kell választanod a megfelelőt.

 

Előzmény: tt65 (15988)
tt65 Creative Commons License 2011.09.06 0 0 15988

így már nekem is megy!  köszi (ez jó kör volt, ezt jó tudni :-)

Előzmény: Jimmy the Hand (15987)
Jimmy the Hand Creative Commons License 2011.09.06 0 0 15987

Érvényesítésnél a lista forrását egyenlőségjellel kell kezdeni. Tehát ha pl. a forrásadat-terület neve "kukorica", akkor a forrás ne:

 

kukorica

 

hanem:

 

=kukorica

Előzmény: Gavriel (15986)
pimre Creative Commons License 2011.09.06 0 0 15985

Nagyon köszönöm!

Előzmény: Jimmy the Hand (15983)
wawabagus Creative Commons License 2011.09.06 0 0 15984

Sziasztok!

Kicsit OFF leszek.

 

Tapasztaltatok olyat, hogy egy exceles táblázatot kiraktom word-be /picture enhanced metafile/ és ez a szerencsétlen egy nagy fekete pacsának érzékeli nyomtatáskor?

 

Lényegében nem nyomtatja ki, hanem egy nagy korom fekete kockát csak.

 

Neketek volt ilyen? Hogyan oldottátok meg?

 

Köszi!!

Jimmy the Hand Creative Commons License 2011.09.06 0 0 15983

Persze mehet egybe is:

 

MsgBox ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).Trendlines(1).DataLabel.Text

Előzmény: Jimmy the Hand (15982)
Jimmy the Hand Creative Commons License 2011.09.06 0 0 15982

Sub egyenlet_kiiratás()
    Dim co As ChartObject, s As Series, dl As DataLabel
    
    Set co = ActiveSheet.ChartObjects(1)
    Set s = co.Chart.SeriesCollection(1)
    Set dl = s.Trendlines(1).DataLabel
    MsgBox dl.Text
End Sub

Előzmény: pimre (15981)
pimre Creative Commons License 2011.09.06 0 0 15981

Kösz, azt hiszem értem. Még valamit: A DisplayEquation tulajdonságnál csak a false és true beállítási, illetve kiolvasási lehetőségeket látom. Magát az egyenletet (annak szöveges tartalmát) el tudom érni és hasonlítani?

Előzmény: Jimmy the Hand (15980)
Jimmy the Hand Creative Commons License 2011.09.06 0 0 15980

Ha megnézed a Chart és a ChartObject súgóját, a lap tetején (mint minden más objektum esetében is) megtalálod az objektumok tulajdonságait a Properties link alatt.

Előzmény: pimre (15979)
pimre Creative Commons License 2011.09.06 0 0 15979

Van egy olyan érzésem, hogy ilyen egyszerűen nem tudom megoldani a dolgot. Nekem az is megfelel, ha ki tudnám választani az ActiveSheet.ChartObjects(i) diagramot, mint objektumot, annak kiolvasnám programból a tulajdonságait, majd a másik lapon lévő neki megfelelő objektum megfelelő tulajdonságaival tudnám hasonlítani. 

 

De fogalmam sincs, hogy honnan tudnám kigyűjteni egy objektum (jelen esetben egy diagram) tulajdonságait. 

 

Előzmény: pimre (15976)
Törölt nick Creative Commons License 2011.09.05 0 0 15978

ne szivassatok már... Ha "kézzel van beírva" akkor működik? Én mindig névvel ellátott tartományt adtam meg és így tudtam használni egy másik munkalapról származó validációs listát.

Előzmény: Gavriel (15975)
tt65 Creative Commons License 2011.09.05 0 0 15977

Jelentem a 2010-ben alapból működik, ezek szerint ez egy buta fogyatékosság a 2007-ben!

Előzmény: lotht (15970)
pimre Creative Commons License 2011.09.05 0 0 15976

Sziasztok!

 

Szerettem volna két különböző excel fájl azonos nevű munkalapjain a diagramok azonosságát tesztelni? (Azért lenne rá szükségem, hogy a korábban már jól működő programmal kiírt diagramok a program némi módosítása után is változatlanok maradtak-e)

 

Az egyszerűség kedvéért első lépésként kipróbáltam, hogy egyáltalán lehetséges-e ez a feladat egyetlen excel fájl különböző nevű munkalapjain. Valami ilyesmit szeretnék, hogy i ciklusváltozóval végiglépkednék diagramokon 

 

If ActiveSheet.ChartObjects(i) <> Sheets(másiklap).ChartObjects(i) Then

   hibajelzés

endif

 

A fenti sornál az Excel azt írja, hogy 'Object does'nt support this property or method'

 

Szerintetek van erre megoldás?

tt65 Creative Commons License 2011.09.05 0 0 15971

ok. így tényleg műxik! köszi

Előzmény: lotht (15970)
lotht Creative Commons License 2011.09.05 0 0 15970

De igen, csak valóan be kell írni és nem egérrel kijelölni a területet.

Nézd ezt a példát, Excel 2007-ben készült.

Példámban a Forrás: sorba szépen beírtam betőkkel, hogy =Listák!$A$2:$A$$11

És működik, próbáld csak ki. Excel 2010-ről nincs információm.

 

Előzmény: tt65 (15969)
tt65 Creative Commons License 2011.09.05 0 0 15969

nekem nem megy, te hogy csináltad?

Előzmény: Jimmy the Hand (15963)
tt65 Creative Commons License 2011.09.05 0 0 15968

azt nem hagyja ...

Előzmény: lotht (15965)
tt65 Creative Commons License 2011.09.05 0 0 15967

Az a megoldás, hogy a sheet2 lapon legyenek az adatok,  a sheet1-re meg tömbképlettel tegyél egy másolatot belőle.

 

Előzmény: Gavriel (15962)
tt65 Creative Commons License 2011.09.05 0 0 15966

Létezik. Azonos lapon kell lennie a lsitának.

Előzmény: Gavriel (15962)
lotht Creative Commons License 2011.09.05 0 0 15965

Nem is feltétlenül szükséges nevet adni, elég ha kézzel beírod a lapnevet is tartalmazó hivatkozást.

Előzmény: Gavriel (15962)
Jimmy the Hand Creative Commons License 2011.09.05 0 0 15964

Ezt nem tudtam. És tényleg, ha módosítom, bezáráskor nem is kérdez rá, hogy mentse-e a változásokat.

Kíváncsi lennék, ezt a fícsört milyen logika mentén alkották meg így.

Előzmény: SQLkerdes (15961)
Jimmy the Hand Creative Commons License 2011.09.05 0 0 15963

Adj nevet Sheet2!A:A-nak. A nevet már tudod használni validálásra.

Előzmény: Gavriel (15962)
SQLkerdes Creative Commons License 2011.09.05 0 0 15961

Kevéssé ismert tény, hogy a ScrollArea property nem mentődik el, szóval vagy minden file megnyitáskor újra be kell írni, vagy írni kell rá egy eseménykezelőt, hogy file nyitáskor önállóan megismételje a beállítást.

Előzmény: Jimmy the Hand (15954)
Delila10 Creative Commons License 2011.09.05 0 0 15959

Rövidebb formában autogától.

Előzmény: tt65 (15958)
tt65 Creative Commons License 2011.09.05 0 0 15958

OFF: a teljesség igényével, az "önmatikusan" párja az "automagától" :-) Kazinczy is helyeselné! :-)

Előzmény: Delila10 (15957)
Delila10 Creative Commons License 2011.09.05 0 0 15957

Határozottan tetszik a nyelvújításod. Terjeszthetem, vagy levédted? :)

Előzmény: _Nyuszi (15942)
Jimmy the Hand Creative Commons License 2011.09.05 0 0 15956

Úgy látom, ez a post már megjelenésekor idejétmúlt volt... Van ilyen :)

Előzmény: Jimmy the Hand (15954)
tt65 Creative Commons License 2011.09.05 0 0 15955

Ha a 2.6 szám (azaz "kettőegészhattized", akkor tizedes vesszőt kell írni (ha magyar beállítással dolgozol) azaz 2,6.

Ha 2.6-ot írsz, ezt már nem számként kezeli, hanem szövegként, sőt felismeri és örömmel üdvözöli dátumként. Ez viszont téged bosszant!

Ha angol beállítással dolgozol, akkor épp fordítva van. Ne keseredj el, ezek alap dolgok, ismerni kell őket!

Előzmény: nikonbarat (15939)
Jimmy the Hand Creative Commons License 2011.09.05 0 0 15954

VB Editorban, a Properties Window-ban található és módosítható, minden sheet-re külön. Keress rá a súgóban, hogy mire való. Az előbb teszteltem, az pl. okozhatja a leírt tünetet.

Előzmény: Gavriel (15949)
Jimmy the Hand Creative Commons License 2011.09.05 0 0 15948

ScrollArea property ki van töltve?

Előzmény: Gavriel (15947)
pimre Creative Commons License 2011.09.04 0 0 15946

Sajnálom, hogy nem tudtam jó tippet adni. Még egy teljesen képtelen megoldással is megpróbálkozom. Volt más kezében a géped?

Megnéztem a beállításoknál az automatikus javítás beállításait, és ott is elő lehet idézni ilyen helyzetet. Ehhez persze szükség van némi rosszindulatra, de esetleg nézd meg, hogy nem csinált-e veled valaki ilyen trükköt. 

Előzmény: nikonbarat (15943)
Sánta Kutya (SK) Creative Commons License 2011.09.04 0 0 15945

Írj elé egy aposztrófot akkor, ha szöveg akar lenni. Ha pedig szám, akkor állítsd át a vezérlőpultban angolra a tizedesjelet.

Előzmény: nikonbarat (15943)
nikonbarat Creative Commons License 2011.09.04 0 0 15944

Igen, bár már dührohamot kapok tőle...:)

Előzmény: _Nyuszi (15942)
nikonbarat Creative Commons License 2011.09.04 0 0 15943

Már ezzel is próbálkoztam, de semmibe veszi, visszaáll dátumra... Viszont csak ennél a formátumnál. Amikor azt írom 2.6 ák akkor nem írja át...

Előzmény: pimre (15941)
_Nyuszi Creative Commons License 2011.09.04 0 0 15942

Nem hiszem, hogy úgy maradt volna, egyszerűen csak az Excel okosabb(nak hiszi magát), és a 2.6 -ra azt mondja, hogy az dátum akar lenni, és az általános formátumot önmatikusan (de szép szó!) átállítja dátumra.

Előzmény: pimre (15941)
pimre Creative Commons License 2011.09.04 0 0 15941

Lehetséges, hogy korábbról megmaradt a cellaformátum dátumnak? Ha ez a helyzet, akkor próbáld meg egyszerűen a cellaformátumot átállítani 'Szám'-ra, vagy 'Általános'-ra. 

Előzmény: nikonbarat (15939)
_Nyuszi Creative Commons License 2011.09.04 0 0 15940

A cellaformátumot állítsd át mondjuk szövegre vagy számra (ctr+1, első fül).

Előzmény: nikonbarat (15939)
nikonbarat Creative Commons License 2011.09.04 0 0 15939

Excel 2007-et használva akadt némi igen bosszantó problémám. Valószínűleg rém egyszerű a megoldás, viszont nekem még nem sikerült átállítanom...

Beírom egy cellába ezt: 2.6 erre továbblépéskor beszúr egy dátumot:  06. febr a szerkesztősoron meg megjelenik 2011.02.06 dátum...

Próbáltam a Beállítások "Speciális" fül "Cellaértékek automatikus kiegészítése" kikapcsolását meg a "Képletek" fül  "Hibaellenörzés" sor "Automatikus hibaellenőrzés a háttérben" kikapcsolását is, de semmi nem változik.

Esetleg valaki tudna segíteni?

Delila10 Creative Commons License 2011.08.31 0 0 15938

Nekem?!

Szívesen.

Előzmény: wawabagus (15937)
wawabagus Creative Commons License 2011.08.31 0 0 15937

:-) szia!

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

Előzmény: Delila10 (15926)
wawabagus Creative Commons License 2011.08.31 0 0 15936

szia!

:-)))...szuper!!!!!!

Köszönöm!!!!!!!!

 

Előzmény: Jimmy the Hand (15931)
boraka Creative Commons License 2011.08.31 0 0 15935

Meggyógyította. Nagyon köszönöm a segítséget!

 

Előzmény: Jimmy the Hand (15934)
Jimmy the Hand Creative Commons License 2011.08.31 0 0 15934

Aszongyák az okosok, hogy futtasd le ezt itt:

 

Sub Enable_All_Right_Click_Menus()
'This will enable all BuiltIn Command bars
Dim Cbar As CommandBar
For Each Cbar In Application.CommandBars
Cbar.Enabled = True
Next
End Sub

 

Forrás:

http://social.microsoft.com/Forums/en-US/smallbusinessgeneral/thread/f8170666-3106-438b-92e7-21ad12f13eda

 

Előzmény: boraka (15933)
boraka Creative Commons License 2011.08.31 0 0 15933

Sziasztok!

 

Egy kapott excel fájl megnyitása, majd bezárása után nem működik a jobb egérgomb, "nem jön fel" a szerkesztő menü, akkor sem, ha egy új munkafüzetet nyitok. Tudna valaki segíteni?

 

Előre is köszönöm

Delila10 Creative Commons License 2011.08.31 0 0 15932

Köszönöm.

Előzmény: Jimmy the Hand (15930)
Jimmy the Hand Creative Commons License 2011.08.30 0 0 15931

Ez a függvény feldob egy olyan beépített dialógus-ablakot, amivel a felhasználó ki tud választani egy teszőleges mappát egy tetszőleges meghajtón. Ahogy azt már Delila is mondta, annyi kell csak, hogy

 

útvonal = MappaTallózás()

 

és mire ez a sor végrehajtódik, az útvonal nevű változó fogja tartalmazni a felhasználó által kiválasztott mappa teljes elérési útvonalát. Ezt aztán fel lehet használni akármire, pl. mentésre.

Előzmény: wawabagus (15925)
Jimmy the Hand Creative Commons License 2011.08.30 0 0 15930

"Csak tudnám, mi a 4-es az Application.FileDialog(4) kifejezében!"

 

Jobban olvasható lett volna, ha így írom (csak akkor éppen nem volt időm cizellálni):

Set fd = Application.FileDialog(msoFileDialogFolderPicker)

Ebben a kifejezésben msoFileDialogFolderPicker egy beépített integer konstans, aminek értéke négy.

 

"Őrület, hogy miket tud Jimmy!"

 

Vannak érdekes dolgok, igen. De én is tanultam valakiktől :)

Továbbadni pedig kötelesség.

 

Előzmény: Delila10 (15926)
Delila10 Creative Commons License 2011.08.30 0 0 15928

Ördög vigye, minden hozzászólást másodjára fogad el, és akkor kimarad ez-az.

 

A függvényt egyenlőségjellel az elején kell bevinni: =MappaTallózás()

Előzmény: Delila10 (15927)
Delila10 Creative Commons License 2011.08.30 0 0 15927

Helyesbítve

 

utvonal=utvonal & "\"

Előzmény: Delila10 (15926)
Delila10 Creative Commons License 2011.08.30 0 0 15926

Őrület, hogy miket tud Jimmy!

 

Ez egy függvény. Beírod a címét =-jel, mire feljön az ablak, ahol kiválasztod a neked tetsző könyvtárat. OK után a függvény kimenete a választott útvonal lesz.

 

Ugyanez más makróba beépítve ilyesmi lehet:

 

Sub mm()

    Dim fd, utvonal As String

 

    MsgBox "Válasszunk magunknak útvonalat"

 

    Set fd = Application.FileDialog(4)

    With fd

        .AllowMultiSelect = False

        .Show

        If .SelectedItems.Count = 0 Then

            utvonal = ""

        Else

            utvonal = .SelectedItems(1)

        End If

    End With

    utvonal = utvonal & ""

    'Jöhet a mentés

End Sub

 

Csak tudnám, mi a 4-es az Application.FileDialog(4) kifejezében!

Előzmény: wawabagus (15925)
wawabagus Creative Commons License 2011.08.30 0 0 15925

szia :-)!

Ööööö, ez mit is csinál?

Ez olyan, mint a Application.Dialogs(xlDialogOpen).Show?

 

Én azt hiszem /ha jól értem/, akkor ez már része a makrómnak. Tehát, ha meg van adva neki a fodler, akkor ő már mindent ki fog onnan olvasni/meg fog nyitni stb.

Csak egyedül a folder path-ját nem tudom hogyan lehet rugalmasan megadni.

 

A dialogbox végülis csak fájlt tud megnyitni-erre jöttem rá időközben-, foldert nem tudok vele megadni...

 

Jól értettelek?

 

Előzmény: Jimmy the Hand (15924)
Jimmy the Hand Creative Commons License 2011.08.30 0 0 15924

Function MappaTallózás()
    Dim fd
    Set fd = Application.FileDialog(4)
    With fd
        .AllowMultiSelect = False
        .Show
        If .SelectedItems.Count = 0 Then
            MappaTallózás = ""
        Else
            MappaTallózás = .SelectedItems(1)
        End If
    End With
End Function

 

 

Előzmény: wawabagus (15923)
wawabagus Creative Commons License 2011.08.30 0 0 15923

Sziasztok!

Az szeretném tőletek megkérdezni, hogy ha makrót írtok valakinek, ami "LEMENT", KIOVAS FÁJLBÓL", akkor hogyan oldjátok meg elegánsan, rugalmasra hogy honnan melyik folderből tegye azt?

 

Nem akarom hardcode-olni a makróba, hanem valahogy rugalmasan megoldani.

Beirathatom persze a felhasználóval egy cellába, aztán a macro kiolvassa...

 

Van erre valami tuti megoldásotok?

 

Előre is köszi a tippet!

Johanna

tt65 Creative Commons License 2011.08.30 0 0 15922

igen, a space azt jelzi neki, hogy szövegről van szó!

Előzmény: goosebump (15920)
Sánta Kutya (SK) Creative Commons License 2011.08.30 0 0 15921

Ez pedig valami beállítási kérdés. De az is jó, ha a kötőjel elé egy aposztrófot írsz (shift 1).

Előzmény: goosebump (15916)
goosebump Creative Commons License 2011.08.30 0 0 15920

hm.

space kötőjellel is át tud lépni... de hogy ez eddig miért nem volt baj?..

najó, nem agonizálok, köszi mégegyszer!

goosebump Creative Commons License 2011.08.30 0 0 15919

sziasztok!

köszi szépen a válaszokat mindkettőtöknek, a ctrl enter-re át tudok szokni :) csak azt nem értem, hogy eddig működött valahogyan, más nem használja ezt a gépet, végképp nem az excelt rajta, és most kivonás lett a jól megszokott rutinomból.. :) fura.

 

Előzmény: tt65 (15918)
tt65 Creative Commons License 2011.08.30 0 0 15918

Az a vicces, áme felettébb bosszantó jelenség akkor lép fel ha "-" jellel kezded a cellát és utána jobbra lépés gombot nyomsz!

Ilyenkor inkább nyomj enter a jobbra nyíl helyett.

Működik az is amit Nyuszi írt, vagy a ctrl + Enter, ami helyben hagyja az aktuális cellát és utána a kedvelt nyiladdal arra lépsz amerre kedved tartja!

 

Előzmény: goosebump (15916)
_Nyuszi Creative Commons License 2011.08.30 0 0 15917

Nyomj entert, ekkor lefelé lép. Ez viszont átállítható jobbrára. Hirtelen ennyi.

Előzmény: goosebump (15916)
goosebump Creative Commons License 2011.08.30 0 0 15916

Sziasztok!

 

Szeretnék feltenni egy banális kérdést. (Excel Starter 2010 magyar verzió). Minden hónapban egy táblázatban foglalom össze a munkások havi jelenlétét (szám, ha dolgoztak, 'fsz' ha szabin voltak, ' - ' kötőjel, ha még nem vagy már nem voltak alkalmazva). Ez eddig úgy működött, hogy pl ha kötőjel kötőjel kötőjel 8 8 8 -at írtam, akkor egyszerűen a megfelelő billentyű után a jobb kurzorral át tudtam lépni a következő cellába.

Most a kötőjel után jobbra lépve kivonást értelmez. Ugyanazt a fájlt használom, csak úgy munkalapot, de eddig nem így viselkedett.. Átállítottam szövegre is a cellákat, általánosra is, semmi változás. Nézelődtem az automatikus számoltatás részen is, ott átállítottam manuálisra - semmi változás, ráadásul ha jól értelmeztem ez a függvényekre vonatkozik.

Tudom, apróság, meg valószínűleg gyermeteg kérdés, de ha valaki tud, kérem adjon vmi tippet :)

 

Köszi, üdv 

Jimmy the Hand Creative Commons License 2011.08.29 0 0 15915

Valami ilyesmi lett volna sztem a megoldás (legalább két dolgozó esetén):

 

Sub teszt()
    Dim nevsor As Range, c As Range, ws As Worksheet
    Dim cb As DropDown
    
    Set cb = ActiveSheet.Shapes("Lenyíló 1").OLEFormat.Object
    Set ws = Worksheets("dolgozok")
    Set nevsor = ws.Range("A2", ws.Range("A2").End(xlDown))
    
    cb.RemoveAllItems   'minden elemet töröl a combobox-ból
    For Each c In nevsor.Cells
        cb.AddItem c.Value
    Next
End Sub

 

De ha ez az a combobox, amire én gondolok, akkor annak a "Vezérlő formázása" menüpontban be lehet állítani bemeneti tartományát, ami lehet akár nevesített tartomány is, és akkor nem kell pogramból küzdeni a feltöltésével.

Előzmény: bolygohollandi (15913)
SQLkerdes Creative Commons License 2011.08.28 0 0 15914

Előre is leszögezem, hogy nem tudom a megoldást.

De amit látok és elméletben akár rossz is lehet az az, hogy Selection.AddItem Worksheets("dolgozok").Cells(i + 1, 1) -t használsz.

Ehelyett jobb megoldás a Selection.AddItem Worksheets("dolgozok").Cells(i + 1, 1).Value használata.

A kódok bezavarodhatnak ha a Range-re hivatkozol, nem a Range értékére.  Mondjuk az esetek többségében az Excel IQ-ból veszi, hogy nem a cellára gondolsz, hanem a tartalmára, de sose lehet tudni.

 

Az ActiveSheet object használatát is mellőzném, mert ha csak egyszer akaratlanul megváltozik és már nem a kombóbox-ot tartalmazó munkalapra mutat, akkor meghalt a kódod.

Előzmény: bolygohollandi (15913)
bolygohollandi Creative Commons License 2011.08.28 0 0 15913

Köszönöm, hogy eltöprengtél a problémámon!

 

Mivel muszáj volt et megoldanom az egész probléma megoldásához (egy béna programot kell hétfőig írnom) mindenhol kértem segítséget.

Hátha másnak is van, lesz ilyen problémája, ezért itt (is) leírom, miképpen oldottam meg:

 

Hátha másnak sem működik az, hogy egy ComboBox tartalmát módosítsa a HELP-ekben oly könnyedén leírt
 
ComboBox1.AddItem "ÚjElem"

 

utasítással.

Nálam ez az utasítás ugyanis nem működött - sem az egyik, sem a másik gépen - és nem tudom, mitől függ; Excel-től, géptől, installálástól, valamilyen beállítástól. Tény, nem működik.

 

Szóval adott egy Excel-tábla, aminek az első munkalapján van (többek között) egy "nev_combobox" nevű ComboBox, ezt kell feltolteni a másik ("dolgozok" nevű) munkalap első oszlopában lévő nevekkel:


i = 2
Do While Worksheets("dolgozok").Cells(i, 1) <> ""   'nevek adatszámának megállapítása; a nevek a második sortól kezdődnek
    dolgozokszama = dolgozokszama + 1
    i = i + 1
Loop
i = 1
Do While i <= dolgozokszama                         'nev_combobox feltöltése a nevekkel
    ActiveSheet.Shapes("nev_combobox").Select
    Selection.AddItem Worksheets("dolgozok").Cells(i + 1, 1)
    i = i + 1
Loop


Valaki felvetette, miért probléma, hogy csak a "select"-tel tudom "lérni" a comboboxomat, erre azt mondtam, mert például nem tudok belőle törölni.
Nem is lehet, ugyanis ahogy a ComboBox1.Clear utasítás nem működik, úgy  a Selection.Clear sem, tehát másképp lehet csak törölni; én ezt találtam működőképesnek (ha valaki pl. az összes elemet ki akarja törölni):

 

ActiveSheet.Shapes("nev_combobox").Select
mennyi = Selection.ListCount 'hány darab elem van a nev_combobox-ban?

For i = 1 To mennyi
    Selection.RemoveItem 1
Next

 

Előzmény: _Nyuszi (15912)
_Nyuszi Creative Commons License 2011.08.28 0 0 15912

Látom, küzdesz ezerrel, de sajnos nem tudok segíteni, sajnos minden szakkönyvem bent van a cégnél, én meg hát nem... Google sem nagyon segít? :S

Előzmény: bolygohollandi (15911)
bolygohollandi Creative Commons License 2011.08.27 0 0 15911

Fogjuk rá, hogy el tudom nevezeni a hülye combobox-omat mondjuk ComboBox1-nek

Most ott tartok, hogy ezt a két sort elfogadja és végre is hajtja:

 

ActiveSheet.Shapes("ComboBox1").Select

Selection.AddItem Cells(1, 1)

 

 

De még mindig nem tudok belőle törölni, nem tudok rá "select" nélkül sehogysem hivatkozni...:(((

bolygohollandi Creative Commons License 2011.08.27 0 0 15910

Segítsen valaki!!!

Egy egészen kézenfekvő dolgot nem tudok megcsinálni.

Hogy a fenébe lehet egy worksheetre odarakott combobox-ba programsorral új elemet beletenni, hogy lehet a combobox-ra egyáltalán hivatkozni programból?

Egyáltalán, hogy lehet elnevezni egy comboboxot másképpen, mint ahogy alapértelmezetten odarakja a képernyőre mondjuk "Lenyíló 5" néven?

Egyetlen példa sem működik, amit a helpekben, interneten találok, tehát pl. a "ComboBox1.AddItem "qwert" " parancsot képtelen értelmezni és egyszerrűen nem értem, mi a fenét rontok el, pedig ennek baromi egyszerűenek kellene lennie....

Delila10 Creative Commons License 2011.08.25 0 0 15909

Köszönöm.

Előzmény: Jimmy the Hand (15908)
Jimmy the Hand Creative Commons License 2011.08.25 0 0 15908

Activesheet.Codename

Előzmény: Delila10 (15906)
SQLkerdes Creative Commons License 2011.08.25 0 0 15907

ActiveSheet.Name

Előzmény: Delila10 (15906)
Delila10 Creative Commons License 2011.08.25 0 0 15906

Hogy lehet makróban lekérdezni az aktív munkalap elsődleges nevét (Munka1, Munka10) ?

Jimmy the Hand Creative Commons License 2011.08.24 0 0 15905

Nekem is. Akkor nem ez a hiba. El tudod küldeni a fájlt emailben?

Előzmény: Tündi2003 (15904)
Tündi2003 Creative Commons License 2011.08.24 0 0 15904

Megnéztem: 2003-as Office-om van.

Előzmény: Tündi2003 (15898)
Jozsef Creative Commons License 2011.08.24 0 0 15903

Egyébként kisebb pontatlanságoktól eltekintve (pl. a gyűjtőszámla háromhavi tőkésítése helyett havi tőkésítéssel számoltak, így 926eFt jött ki 920eFt helyett) korrektül végigszámolták a cikkben szereplő paraméterekkel. Egyébként ez az eltérés csupán kb. 300Ft eltérés jelentene a törlesztésben.

Előzmény: piréz vitéz (15901)
Jozsef Creative Commons License 2011.08.24 0 0 15902

pl. JBÉ, RÉSZLET esetleg RRÉSZLET, PRÉSZLET

Előzmény: piréz vitéz (15901)
piréz vitéz Creative Commons License 2011.08.24 0 0 15901
nikojam Creative Commons License 2011.08.22 0 0 15900

Kedves Mindenki!

 

Köszönöm szépen az ötleteket, példákat. Mielöbb ki is próbálom!

 

Előzmény: Delila10 (15899)
Delila10 Creative Commons License 2011.08.22 0 0 15899

Munkalapon így hivatkozol a másik füzet egy adatára:

=[Másik_füzet]Munka2!$C$1

 

VB-ben, ha a B2 cellában szeretnéd látni a fenti adatot:

Cells(1, 2) = Workbooks("Másik_füzet").Sheets("Munka2").Range("C1")

 

A Másik_füzet Munka2 lapján a C1 cella kétszeresét akarod látni az első füzet B1 cellájában:

Cells(1, 2) = Workbooks("Másik_füzet").Sheets("Munka2").Range("C1")*2

 

Ebből kiindulva meg tudod írni a függvényedet.

Előzmény: nikojam (15896)
Tündi2003 Creative Commons License 2011.08.21 0 0 15898

XP-m van, Officeból talán 2003-as, de ezt most nem tudom fejből. Kedden megyek dolgozni, akkor majd megnézem, és referálok.

Előzmény: Jimmy the Hand (15890)
pimre Creative Commons License 2011.08.21 0 0 15897

Nem értem, programot akarsz írni, vagy Excel függvényt használni? Mert úgy értettem, hogy programból megy. Ha csak excel függvényt akarsz meghívnia táblázatban, akkor működik a dolog.

 

Előzmény: nikojam (15896)
nikojam Creative Commons License 2011.08.21 0 0 15896

Szia!

 

Köszönöm szépen a gyors válaszodat, ha nincsen más mód élek is vele. Lehet hogy nem írtam le pontosabban, sajna én függvényben szeretném ezt megoldani.

Még egyszer köszönöm szépen!

Előzmény: pimre (15895)
pimre Creative Commons License 2011.08.21 0 0 15895

Egyszerű. Megnyitod egyidejűleg mindkét fájlt.  Abban a fájlban, illetve annak abban a cellájában ahova a függvényt akarod írni,  megnyomod az egyenlőségjelet, majd elengeded a billentyűzetet, és az egérrel átmész a másik fájlba, ott az egérrel ráállsz a kiválasztandó cellára, és az egérrel rákattintasz. Ha csak ennyi, akkor entert nyomsz. Ha folytatni kell, például összeadás jön, akkor nem enter jön, hanem megnyomod a + jelet, és kikeresed a következő adatot. És így tovább.

 

Ha persze az elején az egyenlőségjel után egy függvényt akarsz kezdeni az hasonló. Például összegzésnél beütöd, hogy =szum( majd ezen a ponton (a nyitó zárójel után) hagyod félbe a pötyögést, és mész az egérrel a másik fájlban a keresett cellákra. 

 

Ezzel a technikával akár egy fájl több munkalapjának adata, de akár több fájl különböző munkalapjainak adata is lehet egyetlen képletben.

 

Azt hiszem van egy határ, hogy a képlet szövegének hossza nem haladhat meg valahány karaktert (én olyan 800-900 közötti értéket  találtam), de ezt pontosan nem tudom.

 

Még annyit, hogy ha a képletet javítani kell, nem kell elölről kezdeni, hanem a cellára állva fenn a parancssorban megjelenik annak aktuális képlete. És ott javítható, kiegészíthető a képlet.

 

Remélem érthető, így leírva bonyolultabbnak látszik, mint a gyakorlatban megcsinálni.

 

Előzmény: nikojam (15894)
nikojam Creative Commons License 2011.08.21 0 0 15894

Sziasztok!

 

Nagyon sok okosságot lehet itt találni, amiket utólag meg is köszönnék.

Eddig nem kérdeztem tőletek, de most a tudományom végére értem. Ha tudtok segítsetek. Egy függvényt szeretnék írni ami egy mezőt tölt ki, de a feltételeknek megfelelő adatokkal ami egy másik xls-ben van. Programként jól működik, de függvényként mintha csak az aktuális xls-t látná és a másikat nem.

Segítségeteket előre is megköszönném!

pimre Creative Commons License 2011.08.21 0 0 15893

Én is vidultam, mikor megláttam. De bizisten nem volt szándékos.

Előzmény: Jimmy the Hand (15892)
Jimmy the Hand Creative Commons License 2011.08.21 0 0 15892

Nekem is feltűnt az a szó az eredeti post-ban. De teljesen helyénvalónak éreztem :)

Előzmény: SQLkerdes (15891)
SQLkerdes Creative Commons License 2011.08.21 0 0 15891

OMG

A hónap posztja.

Freud hangosan röhög a sírjában :-)

Előzmény: pimre (15889)
Jimmy the Hand Creative Commons License 2011.08.21 0 0 15890

Furcsállom, mert nekem a program maga lefutott. (Csak azt nem tudtam ellenőrizni, hogy mit csinál.) Arra gyanakszom, hogy a hiba a gépedben lehet. Próbáltad másik számítógépen? Milyen op. rendszered van? Milyen Office verzió?

 

Esetleg ránézhetek közelről, ha el tudod küldeni a doksit email-ben. Előtte persze törölj ki belőle mindent, ami nem kell, csak a két makró modul maradjon bent.

Előzmény: Tündi2003 (15887)
pimre Creative Commons License 2011.08.20 0 0 15889

Bocsánat, egy kellemetlen elütés. Helyesen: ... akkor ne fusson rá a program...

Előzmény: pimre (15888)
pimre Creative Commons License 2011.08.20 0 0 15888

Sziasztok, csak beszámolok egy érdekes meglepetésemről a programozásnál. Egy adott ponton az iif függvényt használtam:

iif(sor<0 or oszlop<0,0,függvény(sor, oszlop)) formában, ahol a meghívott függvény használta a cells(sor,oszlop) kifejezést.

 

A szándékom az volt, hogy amikor a nem megfelelő paraméterek miatt közvetlenül kell adatot megadnom, akkor ne fosson rá a program egy olyan kifejezésre, ami hibát okozna.

 

Viszont legnagyobb meglepetésemre a függvényt a program akkor is meghívta, ha a feltétel miatt csak az iif függvény true értékének megfelelő kifejezést kellett volna visszaadnia.

 

Nem okozott gondot, átírtam a normál if...then szerkezetre. Csak érdekes (talán mondhatom, hogy apró hiba), hogy ezek szerint a program előbb kiértékeli az iif függvénynek mindkét ágát, és csak utána dönti el, hogy melyiket adja vissza. (20 évvel ezelőtti emlékeim szerint, ahol még Clipperben programoztam, nem volt ilyen gond az ottani iif függvénnyel)

Tündi2003 Creative Commons License 2011.08.20 0 0 15887

Konkrétan ez nem működik benne (az aláhúzott részeket jelzi ki hibásnak, a hiba neve: "Compile Error: Internal error"):

 

Private Function SetPrinterProperty(ByVal iPropertyType As Long, _
      ByVal iPropertyValue As Long) As Boolean

 

   'Code adapted from Microsoft KB article Q230743

    Dim hPrinter As Long          'handle for the current printer
    Dim pd As PRINTER_DEFAULTS

Előzmény: Tündi2003 (15886)
Tündi2003 Creative Commons License 2011.08.20 0 0 15886

Köszi, ez már majdnem működik! :)

Előzmény: Jimmy the Hand (15885)
Jimmy the Hand Creative Commons License 2011.08.19 0 0 15885

Itt a megoldás:

http://pubs.logicalexpressions.com/Pub0009/LPMArticle.asp?ID=116

 

A cikk alsó részében szereplő hosszú-hosszú kódot (onnantól kezdve, hogy "Option Explicit") másold be a dokumentumodba, egy új modulra.

A saját makród meg így módosul:

 

Sub Nyomtatás()
    With Options
        .UpdateFieldsAtPrint = False
        .UpdateLinksAtPrint = False
        .DefaultTray = "A nyomtató beállításaival"
        .PrintBackground = True
        .PrintProperties = False
        .PrintFieldCodes = False
        .PrintComments = False
        .PrintHiddenText = False
        .PrintXMLTag = False
        .PrintDrawingObjects = True
        .PrintDraft = False
        .PrintReverse = False
        .MapPaperSize = True
        .PrintOddPagesInAscendingOrder = True
        .PrintEvenPagesInAscendingOrder = True
        .PrintBackgrounds = False
    End With
    With ActiveDocument
        .PrintPostScriptOverText = False
        .PrintFormsData = False
    End With
    
    SetDuplex 3  'vertical duplex
    Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:="1;4", PageType:= _
        wdPrintAllPages, ManualDuplexPrint:=False, Collate:=True, Background:= _
        True, PrintToFile:=False, PrintZoomColumn:=0, PrintZoomRow:=0, _
        PrintZoomPaperWidth:=16839, PrintZoomPaperHeight:=23814
    
    SetDuplex 1   'simplex
    Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:="2-3", PageType:= _
        wdPrintAllPages, ManualDuplexPrint:=False, Collate:=True, Background:= _
        True, PrintToFile:=False, PrintZoomColumn:=0, PrintZoomRow:=0, _
        PrintZoomPaperWidth:=16839, PrintZoomPaperHeight:=23814
End Sub

 

Remélem, ez már működik majd. De (duplex nyomtató híján) ezt sem tudom letesztelni...

 

(Amúgy a 2) sorszámú, ámde harmadik megoldáshoz nem kell új nyomtató, csak az az egy, ami már amúgy is megvan. Csak meg kell duplázni a telepített nyomtatók listájában. De ez most már irreleváns.)

Előzmény: Tündi2003 (15884)
Tündi2003 Creative Commons License 2011.08.19 0 0 15884

Én csak kettőt látok sorszámozva. :) Ha esetleg a másodikra gondolsz, mint harmadik lehetőségre, azaz az új nyomtató telepítésére, az nem fog menni, mert ahogy írtam, pont most adtak központi nyomtatót az egyéni nyomtatók helyett. Nem fognak külön nekem még egyet beállítani, se igazit, se virtuálisat. :(

Előzmény: Jimmy the Hand (15882)
wawabagus Creative Commons License 2011.08.19 0 0 15883

Respect :-D.

Köszi ezredszerre is :-)!!!

Előzmény: Jimmy the Hand (15879)
Jimmy the Hand Creative Commons License 2011.08.19 0 0 15882

Próbáltad a 3. lehetőséget?

Előzmény: Tündi2003 (15881)
Tündi2003 Creative Commons License 2011.08.19 0 0 15881

Ó, roppant szomorú vagyok, de köszönöm a válaszod! :(

 

A nyomtató is "új", most telepítették Eddig saját nyomtatója volt mindenkinek, de most inkább költséghatékonyak leszünk, és közös, a folyosón elhelyezett hálózati nyomtatónk lett. Eddig ki kellett nyomtatni a fájlt A4-ben, és abból nagyítottam fénymásolón A3-ra, kétoldalasra. Most annyival lett könnyebb, hogy az új nyomtató tud A3-ra nyomtatni, ezt akartam még tovább egyszerűsíteni a makróval, hogy ne kelljen mindennap ennek a fájlnak a nyomtatási beállításaival vacakolni, hanem "írok" egy makrót, hozzárendelek egy gombot az eszköztáron, és csak egy gombnyomás, és kész a kétoldalas, A3-as nyomtatás. De hát ezek szerint marad a naponkénti molyolás a nyomtatóbeállítással.

 

Azért ez gáz, hogy nem lehet Word/Excelben beállítani a nyomtatást makróval... de hát ez van.

Előzmény: Jimmy the Hand (15880)
Jimmy the Hand Creative Commons License 2011.08.19 0 0 15880

Excel és Word környezetben nincs lehetőség a nyomtató parmétereinek makróval történő beállítására. Access-ben viszont van. Ha van a gépeden telepítve Access, akkor az alábbi kód lehet, hogy működni fog:

 

Sub Nyomtatás()
    Const acPRDPSimplex = 1
    Const acPRDPHorizontal = 2
    Const acPRDPVertical = 3

    Dim AC As Access.Application, P As Access.Printer
    Set AC = New Access.Application
    AC.Visible = True
    Set P = AC.Printer

    With Options
        .UpdateFieldsAtPrint = False
        .UpdateLinksAtPrint = False
        .DefaultTray = "A nyomtató beállításaival"
        .PrintBackground = True
        .PrintProperties = False
        .PrintFieldCodes = False
        .PrintComments = False
        .PrintHiddenText = False
        .PrintXMLTag = False
        .PrintDrawingObjects = True
        .PrintDraft = False
        .PrintReverse = False
        .MapPaperSize = True
        .PrintOddPagesInAscendingOrder = True
        .PrintEvenPagesInAscendingOrder = True
        .PrintBackgrounds = False
    End With
    With ActiveDocument
        .PrintPostScriptOverText = False
        .PrintFormsData = False
    End With
    P.Duplex = acPRDPVertical
    Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:="1;4", PageType:= _
        wdPrintAllPages, ManualDuplexPrint:=False, Collate:=True, Background:= _
        True, PrintToFile:=False, PrintZoomColumn:=0, PrintZoomRow:=0, _
        PrintZoomPaperWidth:=16839, PrintZoomPaperHeight:=23814
    P.Duplex = acPRDPSimplex
    Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:="2-3", PageType:= _
        wdPrintAllPages, ManualDuplexPrint:=False, Collate:=True, Background:= _
        True, PrintToFile:=False, PrintZoomColumn:=0, PrintZoomRow:=0, _
        PrintZoomPaperWidth:=16839, PrintZoomPaperHeight:=23814
    AC.Quit
End Sub

 

A kék sorok állítják be elvileg az egy- illetve kétoldalas nyomtatást. Ha az acPRDPVertical nem jó, próbáld meg acPRDPHorizontal beállítással is.

A Tools->References menüben a Microsoft Access Object Library-t be kell ikszelni.

 

Na most a helyzet az, hogy nekem a fenti kód nem működött. Viszont lehet ennek az is az oka, hogy itt nálunk a rendszergazda jogosultaságot igénylő beállítások le vannak tiltva. Talán admin joggal működik. Nem tudom, próbálkozz vele. Ha nem megy, akkor két további lehetőséget látok.

 

1) Olyan makrót írni, amely meghívja a megfelelő Windows rendszerfüggvényeket, és ezáltal állítja be a duplex paramétert. Nem biztos, hogy az itt jelenlévők tudása együttesen elegendő ehhez.

 

2) Telepíteni még egy ugyanolyan nyomtatót, mint az első. Ehhez nyugodtan lehet a már telepített printer drivert használni, és a nyomtatóport is legyen ugyanaz. Így tehát van egy db. fizikai nyomtató, de a Telepített nyomtatók listájában két bejegyzés szerepel hozzá. Az egyik neve legyen mondjuk "HP LJ akármi duplex", a másiké pedig "HP LJ akármi simplex". Mindkettőn be kell állítani az alapértelmezett nyomtatási módot (két- ill. egyoldalas nyomtatás), a makrót pedig úgy átalakítani, hogy az első és negyedik oldalt az egyikre küldja, a 2-3 oldalt pedig a másikra.

 

A második megoldást kivitelezhetőnek tartom.

 

 

Előzmény: Tündi2003 (15878)
Jimmy the Hand Creative Commons License 2011.08.19 0 0 15879

Valami ilyesmi lesz a megoldás (nem teszteltem):

 

Function Open_Excel()
    Dim appexcel As Object, WB As Object, Month_Lee As String
    
    wNum = IsoWeekNumber(Now()) - 1
    Set appexcel = CreateObject("Excel.Application")
    appexcel.Visible = True
    Set WB = appexcel.Workbooks.Open("D:Weekly_Template_ChannelKnowledge_SuppliesInvalidPNs.xlsx")
    Month_Lee = WB.Sheets(1).Range("A1").Value
    WB.SaveAs "D:ChannelKnowledge_InvalidPNs W" & wNum & ".xls"
    Set WB = appexcel.Workbooks.Open("D:Monthly_Template_ChannelKnowledge_SuppliesInvalidPNs.xlsx")
    WB.SaveAs "D:ChannelKnowledge_InvalidPNs " & Month_Lee & ".xls"
End Function

Előzmény: wawabagus (15876)
Tündi2003 Creative Commons License 2011.08.19 0 0 15878

Segítségül, ezt a kódot alkottam eddig (illetve alkotta a Word Rögzítés üzemmódban), látszik, hogy az 1;4 és a 2-3 oldalak nyomtatási parancsai egyformák, sehol nem szerepel az 1;4-nél a kétoldalas nyomtatásra utasító rész. Ami azt illeti, az A3-as méretre utaló sem, pedig az is be van pipálva. Gondolom, ha más doksit nyomtatnék A4-re, akkor onnantól ez a makró is csak A4-re nyomtatna.

 

ActivePrinter = "nyomtatóneve"
    With Options
        .UpdateFieldsAtPrint = False
        .UpdateLinksAtPrint = False
        .DefaultTray = "A nyomtató beállításaival"
        .PrintBackground = True
        .PrintProperties = False
        .PrintFieldCodes = False
        .PrintComments = False
        .PrintHiddenText = False
        .PrintXMLTag = False
        .PrintDrawingObjects = True
        .PrintDraft = False
        .PrintReverse = False
        .MapPaperSize = True
        .PrintOddPagesInAscendingOrder = True
        .PrintEvenPagesInAscendingOrder = True
        .PrintBackgrounds = False
    End With
    With ActiveDocument
        .PrintPostScriptOverText = False
        .PrintFormsData = False
    End With
    Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:="1;4", PageType:= _
        wdPrintAllPages, ManualDuplexPrint:=False, Collate:=True, Background:= _
        True, PrintToFile:=False, PrintZoomColumn:=0, PrintZoomRow:=0, _
        PrintZoomPaperWidth:=16839, PrintZoomPaperHeight:=23814
    ActivePrinter = "nyomtatóneve"
    Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:="2-3", PageType:= _
        wdPrintAllPages, ManualDuplexPrint:=False, Collate:=True, Background:= _
        True, PrintToFile:=False, PrintZoomColumn:=0, PrintZoomRow:=0, _
        PrintZoomPaperWidth:=16839, PrintZoomPaperHeight:=23814

Tündi2003 Creative Commons License 2011.08.19 0 0 15877

Sziasztok!

 

A kérdésem csak részben kapcsolódik az Excelhez, merthogy Word-ös. :) Mivel azonban nyomtatásról van szó, a problémám univerzálisnak érzem. :)

 

Van egy hálózati nyomtatónk, ami tud A3-asra kétoldalasan nyomtatni. Erre én "írni" szándékozom egy makrót, hogy az adott fájlnak az első és a negyedik oldalát egymás hátára nyomtassa, míg a másodikat és a harmadikat csak simán egyoldalasra, és persze mindet A3-asban. Nem akarom minden nyomtatásnál kézzel állítgatni a paramétereket, ezért kellene a makró. Makróírási tudományom odáig terjed, hogy "Feljegyzés" üzemmódban (vagy minek hívják) tudom megcsinálni a makrót, majd tudom értelmezni a kapott kódot.

 

A probléma ott van, hogy a kétoldalas beállítást a makró nem jegyzi fel, azaz kinyomtatja a fájlt, de minden oldalt külön lapra.

 

Kpróbáltam azt a beállítást külön "feljegyezni", ami a kétoldalas nyomtatásra vonatkozik, de a makró egyszerűen nem jegyez fel semmit. Az adott nyomtató Tulajdonságainál lehet bepipálni a kétoldalas nyomtatásra vonatkozó részt, de a makró ezt úgy veszi, mintha nem csináltam volna semmit. Hogyan, milyen paranccsal tudnám kézzel beleírni a makróba, hogy az első és a negyedik oldalt egymás hátára, míg a másodikat és a harmadikat külön lapra nyomtassa?

wawabagus Creative Commons License 2011.08.19 0 0 15876

Sziasztok!

Access és excel jóbarátságáról szeretnék tőletek kérdezni.

Ez szuper egyszerű dolgot, de már annyél megragadtam.

 

Íme a kód, amit segítségetekkel hoztam létre. Accessből kinyit excel, lement stb.

Esküszöm szégyelem is magam, hogy nem tudok rájönni, de valahogy ez az accessből dolgozás fura nekem.

Csak annyit szeretnék, hogy a második fájl mentésénél a névbe tegyen bele egy nevet, ami MINDIG a sheet1!A1-en található.

Lehetne hivatkozni named rangel is. Próbálkoztam saját logika szerint, de nem ment :-(...

 

Ti tudjátok a megoldást esetleg?

Nagyon köszönöm!!!

 

 

Public Function IsoWeekNumber(d1 As Date) As Integer
    Dim d2 As Long
   
    d2 = DateSerial(Year(d1 - Weekday(d1 - 1) + 4), 1, 3)
    IsoWeekNumber = Int((d1 - d2 + Weekday(d2) + 5) / 7)
End Function

 

Function Open_Excel()
Dim appexcel As Object

wNum = IsoWeekNumber(Now()) - 1
Set appexcel = CreateObject("Excel.Application")
appexcel.Workbooks.Open "D:Weekly_Template_ChannelKnowledge_SuppliesInvalidPNs.xlsx"
appexcel.Visible = True
appexcel.ActiveWorkbook.SaveAs "D:ChannelKnowledge_InvalidPNs W" & wNum & ".xls"
appexcel.Workbooks.Open "D:Monthly_Template_ChannelKnowledge_SuppliesInvalidPNs.xlsx"

'ide kéne hogy olvassa ki a monthly fájl nevét, ami mindig a "sheet1!A1 -n van. A fent említett template fájlban"

appexcel.ActiveWorkbook.SaveAs "D:ChannelKnowledge_InvalidPNs " & a & ".xls"

End Function

tt65 Creative Commons License 2011.08.18 0 0 15875

menni fog. szólj ha elakadtál!

Előzmény: muszakiellenor (15874)
muszakiellenor Creative Commons License 2011.08.18 0 0 15874

Köszönöm szépen, megprószálom :)

Előzmény: tt65 (15873)
tt65 Creative Commons License 2011.08.18 0 0 15873

Persze, csak fordítva kell a lóra ülni! :-)

A formanyomtatvány szöveg nagyon jól van wordben, mert azt arra találták ki.

Excelben pedig a változó adatokat tárolod, onnan a word emeli be az adatot a megefelelő helyre.

Ezt körlevélnek hívják.

lsg. gugli: word körlevél készítés adatok excelben pl.: http://office.microsoft.com/hu-hu/excel-help/word-korlevel-letrehozasa-excel-adatokkal-HP005203760.aspx

Előzmény: muszakiellenor (15872)
muszakiellenor Creative Commons License 2011.08.18 0 0 15872

Sziasztok!

 

Excelben szeretnék olyat megoldani, hogy bizonyos nyomtatványokat- közigazgatási határozatokat, végzéseket- vinnék fel egy-egy munkalapra. Lenne egy alap munkalap, ahova az ügyfél nevét, címét, iktatószámot, építési helyet, helyrajzi számot csak egyszer kellene begépelnem és a  =munkalap1!a..... hivatkozással ezek az alapadatok átkerülnének az eljárási cselekmények végzéseibe, határozataiba.

Nagyjából ezek sikerülnek is, csak a wordmen meglévő sablon dokumentumait soronként kell az excel cellákba "áthordanom" és a külalak elég gyatra lett eddig. Próbáltam cellaegyesítés után bemásolni, de az nem lehetséges. Az lenne a tiszteletteljes kérdésem, hogy van-e szalonképesebb megoldás erre az excelben ?

A segítséget előre is köszönöm !

muszakiellenor Creative Commons License 2011.08.18 0 0 15871

Kösz szépen !

Előzmény: tt65 (15870)
tt65 Creative Commons License 2011.08.17 0 0 15870
Előzmény: muszakiellenor (15865)
pimre Creative Commons License 2011.08.17 0 0 15869

Persze így jó, de a munkalap nevének bepötyögése helyett biztosabb módszer az = jel beírása után átmenni a másik munkalapra, ott kiválasztani a megfelelő cellát, és az enter után ott lesz a megfelelő képlet. Bonyolultabb esetben minden műveleti jel után ki lehet választani ilyen módon a megfelelő munkalap megfelelő celláját. 

Előzmény: muszakiellenor (15868)
muszakiellenor Creative Commons License 2011.08.17 0 0 15868
Koszi , zarojel nelkul ok!
Előzmény: tt65 (15866)
tt65 Creative Commons License 2011.08.17 0 0 15867

vagy esetleg ctrl C + ctrl V ill. ctrl M + ctrl V ? :-)

Előzmény: muszakiellenor (15865)
tt65 Creative Commons License 2011.08.17 0 0 15866

esetleg zárójel nélkül?

pl.: =Munka1!C3

Előzmény: muszakiellenor (15865)
muszakiellenor Creative Commons License 2011.08.17 0 0 15865

Sziasztok mexállottak!

 

Szeretném megkérdezni, hogyan tudok egy munkalap egy cellájából egy másik munkalap cellájába adatot eljuttatni? Próbáltam a =(munka!C3) formációt, de valami nem stimmel. A választ előre is köszönöm! üdv.

Sznida Creative Commons License 2011.08.17 0 0 15864

Ezeken felbuzdúlva keresgéltem a súgóban, megtalaláltam a timer-t. Erre volt szükségem. Ezzel tudok időlimiteket beállítani.

A súgóban teljesen érhető a példa, az alapján lehet használni!

 

Üdv: Sznido

Előzmény: Sznida (15863)
Sznida Creative Commons License 2011.08.17 0 0 15863

Köszönöm szépen!

Tényleg baromira egyszerű. El voltam terelve,  mert az ABB robot nyelven el lehet indítani egy változót, pl. "clkstart ido" . Ez elindít egy ido nevű változót, és már csak ezt a változó kell figyelni hol tart, és beavatkozni, ha meghaladt már egy bizonyos értéket.

Valami ilyesmit szeretem volna, de a Te megoldásoddal is jó lehet.

Megpróbálom kivonni az End_time-ot a Start_time-ból, és akkor megtudom mennyi idő telt el, ua mintha elindítottam volna egy számlálót! :)

 

Köszi!

 

Üdv: Sznido

Előzmény: wawabagus (15855)
wawabagus Creative Commons License 2011.08.16 0 0 15861

:-DDD...

Nem makró az kell, de csak a fő template fájlban és mivel eddig SaveCopyAs-t használtam a makró is klonozódott.

Ami tök feleseleges ugye.

 

De a te módszereddel csak a sheetek copizódnak...

Szóval szuper :-).

 

Előzmény: Delila10 (15860)
Delila10 Creative Commons License 2011.08.16 0 0 15860

Ez a zseniális és elegáns kód így született:

 

Bekapcsoltam a makrórögzítést,  lapfülön jobb klikk, Másolás vagy áthelyezés, Új munkafüzetbe, Legyen másolat.

Makrórögzítés vége.

 

Ezt a kódot kaptam. Kétszer kipróbáltam, és láttam, hogy jó.

Ennyit a zsenialításomról.

 

Mi az, hogy már makró nélkül is megy? Nem olyasmiről volt szó, hogy több füzetet akarsz sorban megnyitni, és 1-1 lapjukat kimásolni új füzetbe?

Előzmény: wawabagus (15859)
wawabagus Creative Commons License 2011.08.16 0 0 15859

Delila...szuper a módszered!!!!

Végül ezt használtam

 

Sheets.copy

 

és csak ez létre hozza a klónt, de már a makró NÉLKÜL!!

Zseniális vagy!

 

Köszi ezt az elegáns megoldást!!!!!!!!!!

Előzmény: Delila10 (15818)
tt65 Creative Commons License 2011.08.16 0 0 15858

megoldottam ...

Előzmény: tt65 (15828)
mafikám Creative Commons License 2011.08.16 0 0 15857

Ja, azt elfelejtettem írni, hogy a data fülön a subtotal melletti "hide detail"-re rámentem és akkor elmúlt a probléma, viszont egy másik szakaszon nem működött a subototal. Aztán megnyitottam a fájlt újra, de akkor már ez sem segített...

Előzmény: mafikám (15856)
mafikám Creative Commons License 2011.08.16 0 0 15856

Sziasztok!

 

A segítségeteket szeretném kérni. A subtotal (?) funkció nem működik egy bizonyos szakaszon, az összes többi helyen működik.

 

Ezt az anyagot találtam a témában, de nem látok sehol olyan cellát, ami objektumot tartalmazna… http://support.microsoft.com/kb/211769

 

Mi lehet a gond, hogyan találhatnám meg a hibát? Arra is gondoltam, hogy leszedem a subtotalokat és visszateszem (nem én tettem rá, így kaptam), de azzal sem boldogulok!:( Tudnátok segíteni, hogy hogyan oldhatnám ezt meg?

 

Le szeretném fagyasztani az első (A) oszlopot és az első három sort egyszerre, ezt hogyan tudnám megoldani? Külön-külön megy, de egyszerre nem...

 

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

 

wawabagus Creative Commons License 2011.08.16 0 0 15855

Hello,

Végre én is tudok valami újat mondani :-D

Persze íme szuper időmérőt :-DDD

 

Baromi egyszerű

 

 

-----------------------------

Dim Start_time, End_time, RunTime as date

 

Start_time = now()

 

itt már fut a makród :-)

 

End_time = now()

 

Msgbox RunTime(datefid("s",Start_time, End_time)

 

 

Én azt is csináltam, hogy több helyre betettem a mérőt és kiirattam a végén egy cellába

...így pl megtudtam, hogy melyik fájlt mennyi idő alatt kreálta, sőt azt is melyik fázis volt a leghosszabb.

 

Nagyon hasznos és jót szórakoztam vele :-).

 

Előzmény: Sznida (15854)
Sznida Creative Commons License 2011.08.16 0 0 15854

Szia,

 

Ne haragudj, de ahogy olvastam, hogy "tettem bele időmérőt", akkor felcsillant a szemem.

Én is akartam már haszni VBA-ban is, (mert ABB robot nyelven használtam már) nem sikerült.

El tudnád küldeni ezt az időmérőt?

Bocsánat, hogy nem a Te problémáddal foglalkozok, ne haragudj!

 

Szép napot!

 

Üdv: Sznido

Előzmény: wawabagus (15853)
wawabagus Creative Commons License 2011.08.16 0 0 15853

Sziasztok!

Írtam egy makrót, ami riport fájlokat kreál több országra /egy fájl 17MB kb...elég nagy/.

4 országra kb 50 másodperc alatt fut le.

 

Tettem bele időmérőt, hogy lássam melyik fázis a lassú és úgy látom hogy a fájl mentése.

 

Én 2007-es excelen dolgozom, de a fájl 2003-as....

Lehet ez az ok?

 

Mit tehetek, hogy ne vegyen ennyi időt igénybe?

 

Persze az egy naphoz képest az 1 perc nem sok :-)))...de mégis szeretném tökéletesíteni a dolgot, ha lehet.

 

Köszi a tippeket!!

boraka Creative Commons License 2011.08.16 0 0 15852

Nagyon jó! Azt hiszem ez jobb lesz a beágyazott word sablon helyett.

Szuper vagy! Köszönöm szépen!

Előzmény: Jimmy the Hand (15851)
Jimmy the Hand Creative Commons License 2011.08.16 0 0 15851

Talán ezzel próbáld meg:

 

Sub teszt()
    Dim wd As Word.Application, D As Document
    Dim myImage As Object
        
    Set myImage = ActiveSheet.Shapes("Picture 2").OLEFormat.Object
    
    Set wd = New Word.Application
    wd.Visible = True      'teszteléshez érdemes ezt a sort meghagyni, aztán törölhető
    Set D = wd.Documents.Add
    myImage.Copy
    D.Range(0).Paste    'első karakterhelyre teszi be a képet
    D.Sections(1).Headers(wdHeaderFooterPrimary).Range.Paste        'fejlécbe teszi be a képet
End Sub

 

A kép ilyenkor egy munkalapon van beágyazva. Természetesen az elérési útvonalát (kék betűvel kiemelve) megfelelően módosítani kell.

Előzmény: boraka (15845)
Jimmy the Hand Creative Commons License 2011.08.15 0 0 15850

Igen, felugrik. Ezt kellene elkerülni.

 

Az a gond, hogy a Word applikáció a

o.Verb Verb:=xlOpen

utasítás végrehajtásakor megnyílik egy új word application ablakban, ami by default látható.

Ahhoz, hogy ne látszódjon, vagy az utasítást kellene úgy paraméterezni, hogy pl.

o.Verb Verb:=xlOpen, Visible:=False

már ha lenne ilyen paraméter, de nincs.

Vagy pedig az o objektumból kellene kiszedni valahogy a beágyazott word doksit, és azt átadni megnyitásra egy általam létrehozott, láthatatlan word application instance-nak. Ez sem megy.

 

Még azt tudnám elképzelni, hogy a csatolt word fájl ikonjához tartozó feliratból kiszedni az elérési utat, és úgy megnyitni a doksit. De ezt az elérési utat sem látom, hogy honnan, hogyan lehetne kinyerni program útján.

Előzmény: SQLkerdes (15848)
wawabagus Creative Commons License 2011.08.15 0 0 15849

Szia,

Köszi a tippet. Ezen a vonalon indultam, de valahogy nem akart összejönni.

...míg végül mégis :-D.

 

Köszi!

Előzmény: Törölt nick (15839)
SQLkerdes Creative Commons License 2011.08.15 0 0 15848

Mer mér?  Felugrik az ablakja?

 

Előzmény: boraka (15847)
boraka Creative Commons License 2011.08.15 0 0 15847

Szerintem, csak ide lehet beszúrni, de sajnos, nem javít a helyzeten:

 

Sub teszt()
    Dim  W As Word.Document, WD As Word.Application
    Dim o As OLEObject
    
    Set o = ActiveSheet.Shapes("Object 3").OLEFormat.Object
    o.Verb Verb:=xlOpen

    Set W = o.Object
    Set WD = W.Parent

    WD.Visible = FALSE
    W.SaveAs "D:akármi.doc"
    W.Close
    WD.Quit
End Sub

Előzmény: SQLkerdes (15846)
SQLkerdes Creative Commons License 2011.08.15 0 0 15846

Sub teszt()
    Dim  W As Word.Document, WD As Word.Application
    Dim o As OLEObject
    
    Set o = ActiveSheet.Shapes("Object 3").OLEFormat.Object
    o.Verb Verb:=xlOpen

    Set W = o.Object
    Set WD = W.Parent
    W.SaveAs "D:akármi.doc"
    W.Close
    WD.Quit
End Sub

 

Ide az elejére miért nem lehet beszúrni, hogy:

 

WD.Visible = FALSE

 

Vagy félreértem a kérdést?

boraka Creative Commons License 2011.08.15 0 0 15845

Lehet, egy másik nézetből kellene nekikezdeni. A lényeg, hogy különböző munkalapok, különböző adataiból makróval létrehozok és összeállítok egy word dokumentumot különböző formázásokkal.

A problémám az, hogy sehogy sem tudok egy kis képet (egy logót) a wordbe illeszteni, úgy, hogy a képnek ne kelljen külön elérési utat megadni, hanem az adatokat (és a makrót is) tartalmazó excel munkafüzetből lehessen azt a wordben adott helyre beszúrni. 

Előzmény: Jimmy the Hand (15843)
boraka Creative Commons License 2011.08.15 0 0 15844

Sajnos, semmi, pedig erőst guglizok is a témában...

Előzmény: Jimmy the Hand (15843)
Jimmy the Hand Creative Commons License 2011.08.15 0 0 15843

Nem tudom, nem sikerült megoldani. Ha neked van valamid, kíváncsi lennék rá.

Előzmény: boraka (15837)
boraka Creative Commons License 2011.08.15 0 0 15842

Köszi, sokat segítettél ;-)

Előzmény: SQLkerdes (15841)
SQLkerdes Creative Commons License 2011.08.15 0 0 15841

Az application-öknek van egy visible property-jük, azt kell false-ra állítani.

Előzmény: boraka (15837)
Törölt nick Creative Commons License 2011.08.15 0 0 15840

aztán persze elképzelhető, hogy a fkeres-ben az oszlopszámot is dinamikussá kell tenned. (Pl. megkeresed a számát egy matc (hol.van) fgv-el. Nem ismerem a tábla szekezetét...

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

Lásd el névvel a tartományt. A Névvel ellátott tartomány a sorok/oszlpok beszúrásával dinamikusan változni fog.

A nevet pedig a range-ben adod meg:   Range("NÉV")

De lehet így is, nem kell az autofill:

 

Range("teszt").Formula = "=IF(ISERROR(VLOOKUP(A7,orders,3,0)),""Missing"",VLOOKUP(A7,orders,3,0))"

Előzmény: wawabagus (15838)
wawabagus Creative Commons License 2011.08.15 0 0 15838

Sziasztok!

Megint kéne sajnos segítség.

 

Hogyan tudom rugalmasan függvényekkel feltölteni egy munkalapot?

 

Példéul ez a függvényem:

 

   Sheets("SumUp").Cells(6 + 1, LastCol + 3).Formula = _
      "=IF(ISERROR(VLOOKUP(A7,orders,3,0)),""Missing"",VLOOKUP(A7,orders,3,0))"
   Range("R7").Select
   Selection.AutoFill Destination:=Range("R7:R123")

 

Azt, hogy a függvény mindig az utolsó oszlop utáni x (itt 3. oszlopba) kerüljön azt megoldottam.

azt nem tudom,  hogyan másoljam ezt le értelmesen...

 

Tehát az R, nem mindig lesz R...szóval ezt nem használhatom Selection.AutoFill Destination:=Range("R7:R123"). És persze a az sem biztos, hogy 123 sor lesz.

 

 

Hogyan tundám ezt praktikusan megoldani?

Van ötletetek?

 

Köszi előre is!!

 

boraka Creative Commons License 2011.08.15 0 0 15837

Esetleg meg lehet oldani azt is, hogy a beágyazott doksi megnyitása (mentése-bezárása) ne látszódjon?

Az 'Application.ScreenUpdating = False' itt nem működik. 

Előzmény: Jimmy the Hand (15833)
boraka Creative Commons License 2011.08.15 0 0 15836

Tökéletesen működik! Nagyon köszönöm a segítséget! :-)

Előzmény: Jimmy the Hand (15833)
Jimmy the Hand Creative Commons License 2011.08.15 0 0 15835

;-)

Előzmény: wawabagus (15832)
Jimmy the Hand Creative Commons License 2011.08.15 0 0 15834

Ja, bocs. Ezt elfelejtettem visszaírni:

 

Set o = ActiveSheet.Shapes("Object 3").OLEFormat.Object

helyett

Set o = ActiveSheet.Shapes("Objektum 3").OLEFormat.Object

 

Előzmény: Jimmy the Hand (15833)
Jimmy the Hand Creative Commons License 2011.08.15 0 0 15833

Sub teszt()
    Dim  W As Word.Document, WD As Word.Application
    Dim o As OLEObject
    
    Set o = ActiveSheet.Shapes("Object 3").OLEFormat.Object
    o.Verb Verb:=xlOpen

    Set W = o.Object
    Set WD = W.Parent
    W.SaveAs "D:\akármi.doc"
    W.Close
    WD.Quit
End Sub

 

Kell hozzá csatolni a Microsoft Word xx.y Object Library-t a Tools->References menüben.

A vastagított kódrészekre szigorúan véve nem lenne szükség. Azért kellenek mégis, hogy a Word alkalmazást is be lehessen zárni, különben nyitva maradna.

Előzmény: boraka (15831)
wawabagus Creative Commons License 2011.08.15 0 0 15832

Szuper vagy :-)!!!!!!!!

Köszi, működik :-)

Hurra!

Előzmény: Jimmy the Hand (15830)
boraka Creative Commons License 2011.08.15 0 0 15831

Sziasztok!

 

Egy munkalapra beágyazott word dokumentumot szeretnék makróval megnyitni, majd egy adott helyre elmenteni.

A megnyitás rendben van, de nem tudom (a makrórögzítő nem segít), hogyan lehet elmenteni (mentés másként) és utána bezárni a beágyazott dokumentumot.

 

A megnyitásra ezt adta a makrórögzítő:

    ActiveSheet.Shapes("Objektum 3").Select

    Selection.Verb Verb:=xlOpen

 

Tudna valaki segíteni?

Jimmy the Hand Creative Commons License 2011.08.15 0 0 15830

Nem teszteltem, de sztem valami ilyesmi lesz:

 

    Sheets("SumUp").Cells(6 + 1, LastCol + 3).Formula = _
        "=IF(ISERROR(VLOOKUP(A7,orders,3,0)),""Missing"",VLOOKUP(A7,orders,3,0))"

Előzmény: wawabagus (15829)
wawabagus Creative Commons License 2011.08.15 0 0 15829

Sziasztok!

Mint várható volt megint felmerült egy kis bonyodalom.

VBA kódok és Vlookup.

 

Van egy összesítő sheetem, aminek 4 oszlopát vlookup-okkal szeretném feltölteni.

Fel is vettem a makrót. Bizonyos szintig működik is.

 

A gond ezzel a R1C1-es formátummal van.

Hogyan lehet ezt átírni úgy, hogy ne ilyen relatívan határozza meg a pozíciót, hanem fapadosan pl Vookup(Range("A5")...stb...

Valamiért nekem igy nem működik ezzel a range-vel...de nyílván rosszul csinálom.

 

 

 

    Sheets("SumUp").Cells(6 + 1, LastCol + 3).FormulaR1C1 = _
        "=IF(ISERROR(VLOOKUP(RC[-17],'Country Orders'!C[-17]:C[-15],3,0)),""Missing"",VLOOKUP(RC[-17],'Country Orders'!C[-17]:C[-15],3,0))"
    Range("R7").Select
    Selection.AutoFill Destination:=Range("R7:R123")    Sheets("SumUp").Cells(6 + 1, LastCol + 3).FormulaR1C1 = _
        "=IF(ISERROR(VLOOKUP(RC[-17],'Country Orders'!C[-17]:C[-15],3,0)),""Missing"",VLOOKUP(RC[-17],'Country Orders'!C[-17]:C[-15],3,0))"
    Range("R7").Select
    Selection.AutoFill Destination:=Range("R7:R123")

 

 

RC[-17] helyett pl Range("a7") kéne

'Country Orders'!C[-17]:C[-15], helyett pedig named range (már meg is csináltam "orders")

 

Van tippetek?

Nagyon köszönöm előre is!

 

tt65 Creative Commons License 2011.08.15 0 0 15828

"azonos pontszám esetén mindíg az elsőt írja ki. Ez a probléma is megoldható, de most erre nem térnék ki"

pont belefutottam egy ilyenbe, kitérne valaki erre?

vagy biztos volt már a témáról szó, ha valaki segít melyik hszben találom, megköszönném!

Előzmény: Sztai (15773)
Jimmy the Hand Creative Commons License 2011.08.14 0 0 15825

Private Sub UserForm_Activate()

End Sub

?

Előzmény: Gavriel (15823)
_Nyuszi Creative Commons License 2011.08.14 0 0 15824

OFF

"Basszus hány év megtanulni ezt a makró írás mekkmester módra...."

Teljesen átérzem a helyzetedet: én a héten php-ban gyártottam kódot... Nem tudok programozni.... Vicces volt. :-)

Előzmény: wawabagus (15816)
wawabagus Creative Commons License 2011.08.12 0 0 15822

Persze mindig újabb és újabb dolgok merülnek fel, mint:

 

Miért romlik el a conditional formatting a COPY-ban, ami még az eredetiben tök jó.

A conditinal formattingolt rász magábaölel egy pivotot is...

Ott van a probléma...

 

áááá

 

wawabagus Creative Commons License 2011.08.12 0 0 15821

hahahaha...hát igen

:-D

Előzmény: SQLkerdes (15819)
wawabagus Creative Commons License 2011.08.12 0 0 15820

Szia Delila!

Ó, ez tényleg szuper. Megjegyzem későbbre, közben már "átcsináltam" a makrót....

Köszi!

 

Előzmény: Delila10 (15818)
SQLkerdes Creative Commons License 2011.08.12 0 0 15819

Mondjuk az biztos, hogy futás közben tarkón lőni a kódot tartalmazó excel file-t nem egy best practice :-)

Előzmény: wawabagus (15814)
Delila10 Creative Commons License 2011.08.12 0 0 15818

Hihetetlen, de ez az egy sor létrehoz egy új füzetet, és átmásolja a Sheet1 lapot.  Az új füzet lesz aktív, nem lesz benne több lap. Ezt az új füzeted mentheted más néven, és bezárhatod.

 

A sor: Sheets("Sheets1").Copy

Előzmény: wawabagus (15816)
wawabagus Creative Commons License 2011.08.12 0 0 15817

...vagy SaveCopyAs lesz a megoldás :-DDD?

 

Istenem

Előzmény: wawabagus (15816)
wawabagus Creative Commons License 2011.08.12 0 0 15816

Szia,

Igen tudom, de mások fogják használni és nem biztos hogy majd vágják ezt....

Csak közben az jutott eszembe, hogy ha én ciklust írok, amiben becsukom a makrós munkafüzetet, akkor nem szakad meg a ciklus...nem felejti el hol tart a számolásban?

 

Bocs a hülye kérdését...kezdek már kikészülni ettől a hülye makrótól :-D.

 

Már belekezdtem egy olyan megoldásba, ahol inkább array-ként átmásolom az össze sheetet egy friss munkafüzetbe...

Itt most azon szenvedek, hogy nekem csak az átmásolt munkafüzetek kellenek, tehát sheet1, sheet2, sheets3-ra /vagy ahány van nem/.

Ok, újabb megoldásra váró feladat.

 

OK, törlöm az össze sheetet, mielőtt bemásolnám azt ami kell majd nekem.

Szuper, akkor már csak azt nem tudom, hogyan lehet üres munkafüzetbe másolni:

 

   Windows("Template - Version2.xls").Activate
    Sheets(Array("InventoryReport", "EMEA Orders", "Country Orders", _
        "Country Orders Data", "EMEA calls", "Country calls", "EMEA usage", "Country usage" _
        , "PartUsage Data")).Copy Before:=Workbooks("Book1").Sheets(1)

 

Nincs before, after, mert nincs benne sheet...

 

Basszus hány év megtanulni ezt a makró írás mekkmester módra....

ááááááááááááááááááááááá

 

Előzmény: SQLkerdes (15815)
SQLkerdes Creative Commons License 2011.08.12 0 0 15815

Szerintem ehhez elég az Excel biztonsági beállításait megváltoztatni.  Asszem a Trust Center címszó alatt futnak az excel 2007-ben és felette.

Előzmény: wawabagus (15814)
wawabagus Creative Commons License 2011.08.12 0 0 15814

Sziasztok!

Lenne még egy kérdésem...

 

Adott egy template sok sok sheettel, amin mindenféle manipulációt végzek, majd a végén nyomok egy SaveAS-t.

 

Majd újra nyitom a templetem, hogy egy újabb országra is lefusson ugyanaz a procedura...egészen annyiszor ahány országot talál egy adott helyen.

 

 

A kérdésem az lenne, hogy mivel ciklusba szeretném tenni a procedurát /annyiszor fut, ahány országot talál/...a makro biztonsági bizbasza be fog zavarni...

 

Lehet ezt makróból kikapcsolni? Hogy ne zavarjon be minden macro templet nyitáskor?...

 

Össze vagyok zavarodva, lehet nem jó ötlet hogy SaveAS-t nyomok és becsukódik a template...

 

ÁÁÁÁ

 

Esetleg ahelyett, hogy SaveAS a templetre esetleg az egészet egy új munkfüzetbe kéne másolni és akkor a template nyitva marad?

 

Nem tudom mennyire sikerült érthetően átadni mi a gond...

 

Tudok nekem tippet adni, hogyan lehet ezt praktikusan megoldani?

KÖSZÖNÖM

 

 

wawabagus Creative Commons License 2011.08.12 0 0 15813

Szia Jimmy,

Hahaha...nagyon trükkös megoldás :-). Sosem jutott volna ilyen eszembe.

Köszi szépen, tegnap még vissza csináltam a filteres megoldásom...úgy ezerszer gyorsabb :-), mint a szuper loopos...pedig arra nagyon büszke voltam.

 

 

 

Előzmény: Jimmy the Hand (15811)
wawabagus Creative Commons License 2011.08.12 0 0 15812

Ok, köszi

Előzmény: SQLkerdes (15810)
Jimmy the Hand Creative Commons License 2011.08.11 0 0 15811

Esetleg ezt is megpróbálhatod. Úgy mértem, durván 5x gyorsabb, mint a ciklusos megoldás.

Kb. 55000 sornál 51 sec volt a futási idő. (Lehet, hogy a kézi szűrés-másolás ennél is gyorsabb :))

 

Sub töröl()
    Dim Rng As Range, WS As Worksheet
    Application.Calculation = xlCalculationManual
    Set WS = Sheets("Country Orders Data")
    Set Rng = WS.Range("B2", WS.Range("B" & Rows.Count).End(xlUp))
    WS.Range("B:B").Insert
    With Rng.Offset(, -1)
        .FormulaR1C1 = "=IF(RC[1]<>""Denmark"",1,"""")"
        .Copy
        .PasteSpecial xlPasteValues
        .SpecialCells(xlCellTypeConstants, xlNumbers).EntireRow.Delete
    End With
    WS.Range("B:B").Delete
    Application.Calculation = xlCalculationAutomatic
End Sub

Előzmény: wawabagus (15809)
SQLkerdes Creative Commons License 2011.08.11 0 0 15810

A Calculate-et feltétlenül próbáld meg.

Előzmény: wawabagus (15809)
wawabagus Creative Commons License 2011.08.11 0 0 15809

Szia,

Screenupdate-et lekapcsoltam

Calculate-et viszont nem

 

Közben megpróbáltam, hogy szüréssel nyerem ki ami kell nem ezzel a ciklussal és így sokkal gyorsabb.

 

Köszi!

Utánanézek ennek a calculate dolognak

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

 

Előzmény: SQLkerdes (15808)
SQLkerdes Creative Commons License 2011.08.11 0 0 15808

Screenupdating lekapcsolás,

Calculate lekapcsolás

 

35000 sornál akár rengeteget is számíthat.

Előzmény: wawabagus (15807)
wawabagus Creative Commons License 2011.08.11 0 0 15807

Sziasztok!

Lenne még egy kérdésem.

 

Van nekem ez a kódom:

 

    Sheets("Country Orders Data").Activate
    Last = Cells(Rows.Count, "B").End(xlUp).Row
    For i = Last To 2 Step -1
        If (Cells(i, "B").Value) <> "Denmark" Then
            Cells(i, "A").EntireRow.Delete
        End If
    Next i

 

Mivel azonban a sheet, amin töröl kb 35ezer sor van, ez eléggé kikészíti a programot.

Mi lehetne a gyorsabb megoldás? Rászűrés Denmarkra és kicopizás?

 

Köszi a tiippeket!!

 

 

wawabagus Creative Commons License 2011.08.11 0 0 15806

Sziasztok!

Tudnátok nekem tanácsot adni?

 

Vadi új gépet kaptam a munkahelyemen és új programokat is:

 

Windows XP - ->> Windows7

Excel 2003 -->> Excel2007, de a Excel 2003-es még rajta van

 

Vannak régi excel fájlaim, minenféle makróval....meg új fájlok amikben most komponálik makrót stb...

 

TETÜ LASSÚ AZ EXCELEM!!!

 

Megnyitni egy fájlt 3 perc

Elmenteni 2perc

Gagyi makrót futtatni 4 perc

 

A gépem vadi új!

 

Lehet emögött olyan ok, amin esetleg változtatni tudok? Létezik, hogy az excel 2007-en ennyire lassan nyíljanak a régi fájlok?

 

Köszi előre is a tippeket/ötleteket mit lehetne tenni...

Köszi!!!

magyarpityu Creative Commons License 2011.08.11 0 0 15805

Szia Jimmy!

 

Köszönöm a választ, megint tanultam tőled! :))

 

Ezt a 4 elemű tömböt én is nézegettem, de nem tudtam kiokoskodni, milyen adatokat is tárol. Végül megtaláltam a megoldást:

 

Sub szamol()
  Dim Param1 As Integer, Param2 As String
  Dim MenuCommand As CommandBarControl
  Set MenuCommand = CommandBars.ActionControl
  If Not TypeName(MenuCommand) = "CommandBarButton" Then Exit Sub
  Param1 = MenuCommand.Tag
  Param2 = MenuCommand.DescriptionText
  ...

 

A menü több szintes, minden szinten CommandBarControl objektumok szerepelnek. Azokat a menüpontokat, amelyek valamilyen feladatot hajtanak végre, vagyis amelyek meghívják a szamol() makrót, azokat msoControlButton típussal hoztam létre:

 

AlMenu(k).OnAction = "szamol"

AlMenu(k).DescriptionText = "..." 'Param2

AlMenu(k).Tag = "..." 'Param1

 

Azok a menüpontok, amelyekből almenü nyílik, azok msoControlPopup típusúak, és nincs .OnAction tulajdonságuk (pontosabban, ezt a tulajdonságát nem irányítottam a szamol() makróra).

 

Mikor a menüből meghívódik a 'szamol' makró, akkor a CommandBars.ActionControl tartalmazza azt a referenciát, amire szükségem van. Felvettem a 'szamol' makróban egy CommandBarControl típusú objektumot, ennek adtam át a CommandBars.ActionControl referenciát, és innentől kiolvashattam a korábban minden menüpontra egyedileg jellemző .DescriptionText és .Tag tulajdonságokat. Így már át tudok adni paramétereket a meghívott makrónak. Sőt, akár három paraméter is átadható, mert a .Parameter tulajdonság is használható.

Még egyszer köszönöm a segítséget!

Előzmény: Jimmy the Hand (15804)
Jimmy the Hand Creative Commons License 2011.08.11 0 0 15804

Hát én úgy nézem, hogy a variant egy négyelemű tömb, amelynek elemei a hívó menuitem pozícióját mutatják.

 

Sub teszt()
    Dim v As Variant
    v = Application.Caller
End Sub

 

Ha a fenti makrót saját menügombbal indítod, akkor a v(1 To 4) vektor elemei a következők lesznek:

 

v(2) : hányadik menü a felső menüsorban

v(1) : az adott menün belül hányadik menüpont

v(3) : ??? (nem tudom mi ez)

v(4) : kísérleteim szerint, ha legalább 3. szinten van az aktivált menüpont, akkor v(4) értéke 1, egyéb esetben nulla. (Vagyis, ha az aktivált menüpont a főmenü->almenü->menüpont útvonalon érhető el, mint pl. az Eszközök->Védele->Lapvédelem, vagy még ennél is lejjebb van a hierarchiában.)

 

Maximum 2 szintes menürendszer esetén működik az alábbi tesztprogram. A 3. szintre már nem tudtam kiterjeszteni, mert fogalmam sincs, miből derül ki az, hogy az aktív menüpont a hierarchia hányadik szntjén tartózkodik.

 

Sub szamol()
    Dim v As Variant
    With Application
        v = .Caller
        MsgBox .ActiveMenuBar.Menus(v(2)).Caption & " -> " & .ActiveMenuBar.Menus(v(2)).MenuItems(v(1)).Caption
    End With
End Sub

 

Lehet, hogy van egyszerűbb módja is, pl. direkt hivatkozás az aktív menüpontra valahol az Application objektum ezernyi tulajdonsága között. Nem tudom.

Előzmény: magyarpityu (15803)
magyarpityu Creative Commons License 2011.08.10 0 0 15803

Szia Jimmy!

 

Ezt a módszert hogyan lehetne alkamazni menürendszernél?

 

Létrehoztam egy több szintű menüt, minden menüpont CommandBarControl típusú.

 

Const maxMenuCommand As Integer = 40

Dim FoMenu As CommandBarControl

Dim AlMenu(maxMenuCommand) As CommandBarControl

 

Set FoMenu = CommandBars(1).Controls.Add(msoControlPopup)

 

Azokat az almenüpontokat, amelyeknek további almenüi vannak, így hoztam létre:

 

Set AlMenu(k) = FoMenu.Controls.Add(msoControlPopup)

 

Míg azokat a menüpontokat, amelyeknek már nincs almenüje, így:

 

Set AlMenu(k) = FoMenu.Controls.Add(msoControlButton)

 

Minden almenü .OnAction tulajdonságát ugyanarra a makróra állítottam:

 

AlMenu(k).OnAction = "szamol"

 

és a későbbi azonosítás kedvéért még néhány menüpontra jellemző adatot is beállítottam:

 

AlMenu(k).DescriptionText = "..."

AlMenu(k).Tag = "..."

 

Már csak az van hátra, hogy mikor meghívódik a 'szamol' makró, akkor valahogyan azonosítania kellene, hogy melyik menüpont indította el. Ha tudnám, melyik menüpontról lett meghívva, onnantól tudnám a 'szamol' makró paramétereit is, mert minden menüpont .DescriptionText és .Tag tulajdonságait kitöltöttem. Viszont az Application.Caller ebben az esetben egy Variant() típust ad vissza. Hogyan lesz ebből CommandBarControl objektumra való hivatkozás?

 

Előre is köszönöm a segítséget!

Előzmény: Jimmy the Hand (15800)
magyarpityu Creative Commons License 2011.08.10 0 0 15802

Szia Jimmy!

 

Ez fantasztikus, köszönöm szépen! :)) Ezt az Application.Caller-t kerestem!!!

 

Még egyszer köszönöm a segítséget!

Előzmény: Jimmy the Hand (15800)
Jimmy the Hand Creative Commons License 2011.08.10 0 0 15801

kórvégrehajtás kódvégrehajtás

Előzmény: Jimmy the Hand (15800)
Jimmy the Hand Creative Commons License 2011.08.10 0 0 15800

Nem biztos, hogy jól értem a kérdést, de ha igen, akkor a következő megoldást javaslom.

Ne az OnAction értékbe adjad be a paramétert, hanem magát a makrót írd meg úgy, hogy különböző dolgokat csináljon attól függően, hogy melyik képről indult.

 

Tehát pl. minden kép OnAction értéke a meret nevű makró, ami pedig így épül fel:

Sub meret()
    If TypeName(Application.Caller) = "String" Then
        Select Case Application.Caller
        Case "Kép 1"
            MsgBox "A 'Kép 1' objektumra kattintottál."
        Case "Kép 2"
            MsgBox "A 'Kép 2' objektumra kattintottál."
        Case "Szövegdoboz 3"
            MsgBox "A 'Szövegdoboz 3' objektumra kattintottál."
        End Select
    End If
End Sub

Itt tehát az Application.Caller tartalmazza annak az objektumnak a nevét, amelyről a kórvégrehajtás indult.

 

 

Előzmény: magyarpityu (15799)
magyarpityu Creative Commons License 2011.08.10 0 0 15799

Az ID azonosítók mentés, kilépés, újra megnyitás után változnak (de természetesen továbbra is egyediek maradnak), úgyhogy másként kell azonosítani az eseményt kiváltó objektumot. Így aztán most már két kérdésben kérek tőletek segítséget!

 

1. Hogyan lehet (pl. Shape objektum) OnAction eseménykezelőjébe olyan makróhivatkozást megadni, ami paramétereket is át tud adni a meghívott makrónak?

 

2. Hogyan lehet azonosítani azt az elemet, ami kiváltott az OnAction hatására a makróhívást?

 

Illetve talán rosszul közelítek a kérdéshez. Hogyan oldható meg, hogy egy képre kattintva elinduljon egy makró, ami ezt a képet (csak ezt, a többit nem) módosítja?

Előzmény: magyarpityu (15798)
magyarpityu Creative Commons License 2011.08.10 0 0 15798

Sziasztok!

 

Egy dologban szeretném a segítségeteket kérni! Makróval képeket szúrok be egy munkalapra, és azt szeretném, hogy a képre kattintva elinduljon egy makró.

 

Addig rendben, hogy a kép 'Shape' típusú objektum, és az 'OnAction' tulajdonságát beállítom a meghívandó makró nevére, de hogyan adok át paramétert a makrónak? Paraméterek nélkül valóban meghívódik a makró a képre kattintva, de át szeretném adni paraméterként, hogy melyik képre kattintva hívódott meg a makró! Arra gondolok, hogy a meghívandó makró várna egy Long típusú értéket, ami az egérkattintás eseményt kiváltó Shape objektum ID azonosítója lenne. Így próbáltam:

 

Dim abra as Shape

Set abra = Munlalap.Shapes.AddPicture(FileNev, msoTrue, msoTrue, Xpos, Ypos, pWidth, pHeight)

abra.OnAction = "meret(" & abra.ID & ")"

 

Az 'abra' objektum 'OnAction' tulajdonsága valóban felveszi pl. a "meret(12)" stringet, de rákattintva az ábrára hibaüzenetet kapok: "A(z) meret(12) makró nem futtatható. Lehetséges, hogy a makró nem érhető el a munkafüzetben, vagy le van tiltva az összes makró." Viszont a 'meret' makrót Excelből elindítva rendben lefut. Kipróbáltam:

 

sub tesztel()

meret 12

end sub

 

így működik.

 

Mi lehet a hiba? Hogyan lehet ezt megoldani?

tt65 Creative Commons License 2011.08.10 0 0 15797

köszi, valóban  3x(18+1)=57, most már értem honnan a misztikus szám! :-)

Előzmény: Sztai (15794)
Jimmy the Hand Creative Commons License 2011.08.10 0 0 15796

Az Outlook a csatolmányokat belementi az email-be.

Amikor a mellékletet megnyitos, bemásolódik egy temporary mappába, és a továbbiakban az összes mentés, automentés itt rögzül. Aztán amikor be akarod zárni az emailt, az Outlook megkérdezi, hogy mentse-e a változásokat. És ha azt mondod, hogy igen, akkor a temp mappából az email obektumba beágyazódik a csatolt fájl utolsó verziója, és az egész együtt elmentődik vagy az exchange szerverre, vagy a lokális pst fájlba. Mivel elvileg ez (tehát az email + a beágyazott csatolt fájl) a végtermék, és minden egyéb csak munkaverzió, az ideiglenes fájlokra nincs szükség, tehát fölösleges őket az asztalra, vagy egyéb frekventált helyre másolni/menteni. Legalábbis valami ilyesmi lehet az ideológia mögötte.

 

Mindenesetre akár tetszik, akár nem, ehhez kell alkalmazkodni, ha Outlookot használ az ember. Fontos fájlok esetében érdemes rászokni arra, hogy mindenekelőtt lemented a mellékletet egy biztos helyre, és csak utána kezdesz dolgozni vele.

Előzmény: Qtyi (15793)
Sztai Creative Commons License 2011.08.10 0 0 15795

Milyen oprendszered van, milyen outlookod és exceled?

Előzmény: Qtyi (15775)
Sztai Creative Commons License 2011.08.10 0 0 15794

az 57 abból adódik, hogy a példában 18 ország volt, tehát az első 18 pontot kap, a második 17 stb. Ezt úgy számolom ki, hogy 18+1-helyezési sorszám. Mivel 3 csoportban értékelte őket:

n+1-ssz1+n+1-ssz2+n+1-ssz3=3*(n+1)-ssz1-ssz2-ssz3

a ssz-ot pedig a MATCH/HOL.VAN adja meg

Természetesen 57 helyett jobb megszámolni az elemszámot fv-nyel (3*(count(a:a)+1))

Üdv

 

Előzmény: tt65 (15774)
Qtyi Creative Commons License 2011.08.10 0 0 15793

Jimmy, hályog kovács, tt65,

 

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

Sajnos egyik módszerrel sem sikerült elővarázsolni a file-t.

Emlékeztem, hogy valami T-vel kezdődő krix-krax-nevű könyvtárba "mentettem", de azt nem találtam meg (pedig volt vagy 40 könyvtár mindenféle kezdőbetűvel, és mindet végignéztem).

Viszont megtaláltam egy korábbi file-t, amivel szintén így jártam anno, úgyhogy segítségetek nem volt hiábavaló :)

 

Mégegyszer köszönöm!

 

(Pusztán csak elgondolkodás végett, vajon mire jók ezek a krixkrax nevű, elérhetetlen könyvtárak? Miért nem menti az Outlook valami normális helyre a file-okat alapból?... )

 

Előzmény: Jimmy the Hand (15776)
tt65 Creative Commons License 2011.08.10 0 0 15792

mail ment

Előzmény: Daniel Jonas (15791)
Daniel Jonas Creative Commons License 2011.08.10 0 0 15791

1 Ft = ~366 Euro (az én világomban Júniusi adatok)

             -18  Font

             60   Bura

             182 Dán Dáner

              80  Svéd Bróken

             476 Román Ún

stb.

Ha érdekel; van facebookod?

Mert ez nem ehhez a témához tartozik szerintem... :/

Előzmény: tt65 (15790)
tt65 Creative Commons License 2011.08.10 0 0 15790

egyik kevésnek tűnik, a másik sok, hogy kell értelmezni?

Előzmény: Daniel Jonas (15789)
Daniel Jonas Creative Commons License 2011.08.10 0 0 15789

0.30 Ft/lap (kb. 110 €)

Előzmény: tt65 (15787)
wawabagus Creative Commons License 2011.08.10 0 0 15788

Szia köszi,

Igen, valami olyasmi volt a parancs :-).

Ez lett a megoldás :-)

appexcel.ActiveWorkbook.SaveAs "D:ChannelKnowledge_MissingReports W" & wNum & ".xls"

 

Köszi!!!

 

Előzmény: Jimmy the Hand (15756)
tt65 Creative Commons License 2011.08.10 0 0 15787

OFF minden elsimerésem, ez nagyon jó dolog, igazán érdekes. Az ujságot hol lehet olvasni, előfizethető? :-)

Előzmény: Daniel Jonas (15786)
Daniel Jonas Creative Commons License 2011.08.10 0 0 15786

Hmm... Vajon ezt a szép témát ki hozta létre? :D

 

Amúgy azért használom gyakran, mert (nem muszáj kritizálni...) megterveztem a saját világom, országom, gazdasággal, domborzattal, valutákkal, stb. (köröbelül 2.-ikos kormoban kezdtem) és eleinte kézzel csináltam a dolgokat, de a micorosoft office sokszor nagyban megkönnyíti a dolgomat. A Publisherrel a 2havonta megjelenő újságokat gyártom (hogy később emlékezzek, hogy mi volt az országomban pl. 2010 Februárban, stb. Az excellel gyakran készítek hasonló táblázatokat, pl. az excelben vezetem a napi tőzsde-index grafikonomat is. A térképeket többnyire megcsinálom kézzel, de ma már (szerintem) elengedhetetlen a gépi formátum is, amit először paintal csinálok, majd a Publisherrel az átmásolt térképre ráírogatom az adatokat, neveket... Ezért van szükségem főleg erre a két office alkalmazásra :)

De jól esett ezt így leírni! :D

Még akkoris ha nem ebbe a topikba való... :)

Előzmény: tt65 (15784)
tt65 Creative Commons License 2011.08.10 0 0 15785

szivesen!

ez különösen tetszett: "elég rég használom az excelt bonyolultabb dolgokra is ... 15 éves létemre..."  :-)

Előzmény: Daniel Jonas (15783)
tt65 Creative Commons License 2011.08.10 0 0 15784
Előzmény: Qtyi (15775)
Daniel Jonas Creative Commons License 2011.08.10 0 0 15783

ÉS SIKER!

 

Most hogy látom, hogy ez egy ilyen jól működő fórum, szerintem gyakrabban fogok ide fordulni segítségért! ;)

Más fórumokon jó ha hetente egyszer néznek egy témát, de itt gyorsan és segítőkészen megkaptam a választ a részkérdéseimre is! :)

 

Köszönöm mindenkinek! :D

Üdv legközelebb!

tt65 Creative Commons License 2011.08.10 0 0 15782

Válassz fekvő elrendezést a nyomtatásnál :-)

segéd oszlopokat el is lehet rejteni ...

Előzmény: Daniel Jonas (15778)
Daniel Jonas Creative Commons License 2011.08.10 0 0 15781

Köszönöm! :)

Előzmény: Jimmy the Hand (15780)
Jimmy the Hand Creative Commons License 2011.08.10 0 0 15780

Az alábbi cseréket kell megoldanod, ha magyar Excel-t használsz:

MATCH helyett HOL.VAN

LARGE helyett NAGY

, helyett ;

 

 

Előzmény: Daniel Jonas (15778)
Daniel Jonas Creative Commons License 2011.08.10 0 0 15779

Képet nem kell újból gyártani, csak az előző leírásodat egy kissé érthetőbbé tenni számomra.. :)

Előzmény: Daniel Jonas (15778)
Daniel Jonas Creative Commons License 2011.08.10 0 0 15778

Tetszik az ötleted, én is pont így gondoltam (mármint a képet), csak nekem először is hibát ír ki, mert a vesszők nem tetszenek neki, aztán átírtam pontosvesszőre, mert gondoltam (lehet hogy rosszul) hogy az kell oda, aztán pedig még egy #NÉV? hibával is megdobott... Tudom hogy már hajnali négykor (!!!) ennyit vesződtél vele(m), de letudnád írni egy kicsit tagoltabban? :)

 

És köszönöm mindenkinek a segítséget az eddigiekért is! :)

 

tt65: Tetszik a válaszod, és egyszerűbbnek is tűnik, csak én szeretném kinyomtatni, és ez így már akkor is túl sok oszlop, ha minimálisra csökkentem az oszlopszélességet... De neked is nagyon köszönöm :)

Előzmény: Sztai (15773)
hályog kovács Creative Commons License 2011.08.10 0 0 15777

1. El tudom-e valahogy érni a file-t amin dolgoztam?


Szerintem ha tudod a fájl nevét akkor keress rá (Start>Keresés>Fájlok és mappák) akár *.xls-sel az összes excel fájlra. 

 

(Végülis lementettem a Temporary I. F-ba, de nem találok oda)

 

Vagy csak gondolod,hogy lementetted. Nem lehet, hogy Temp-ből csak olvasásra nyílik meg és ezért nem tudod menteni?

 

Gondolom levelezőfüggő, hogy hol van a Temp mappa. XP-Thunderbird5.0-nál C:Documents and settings<felhasználó>Local SettingsTemp útvonalon éred el.

 

XP-OE6-nál valahol itt:C:Documents and Settings<felhasználó>Local SettingsApplication DataIdentities{....}MicrosoftOutlook Express

 

Előzmény: Qtyi (15775)
Jimmy the Hand Creative Commons License 2011.08.10 0 0 15776

Feltételezem, hogy Outlook a levelezőprogramod. Az Outlook egy olyan rejtett mappába menti a mellékleteket, amit tudomásom szerint sehogy máshogy nem lehet megtalálni, csak az alábbi módon.

 

1. Nyisd meg az eredeti emailben az eredeti csatolmány excel fájlt!

2. Menüből válaszd a Fájl -> Mentés másként parancsot! Ekkor megjelenik a "Mentés másként" ablak, de NE kattints a mentésre!

3. Az ablakban megtalálod azt a bizonyos rejtett Outlook mappát. Keresd meg benne azt a fájlt, amelyet munka közben elmentettél! 

4. Ha megvan, kattints rá jobb gombbal, a helyi menüből válaszd a Másolás parancsot, majd Beillesztés valami jobban megközelíthető mappába.

5. A művelet tetszés szerint megismételhető más fájlokkal is.

 

 

 

Előzmény: Qtyi (15775)
Qtyi Creative Commons License 2011.08.10 0 0 15775

Kedves Szakértők,

 

Kérdeztem a Windows-os topicban is, de lehet, hogy inkáb itt tudjátok a választ. 

Segítséget szeretnék kérni.

Egy excel file-ban dolgoztam, melyet e-mailben kaptam, onnan nyitottam meg. Dolgoztam, dolgoztam, annyira, hogy elfelejtettem, hogy a munkám ilyenkor csak  Temporary Internet Files folder valamelyik krix-kraxos mappájában mentődik (ha mentődik).

 

Dolgoztam, dolgoztam, majd az 1-es munkalapot akartam másolni (duplikálni), sikerült is, de a Munkalap fülön a neve ".xls]Munka1" lett.

Egyszer már megkínlódtam azzal, amikor ezt át akartam írni valami normális névre, ezért gyorsan nyomtam egy mentést, - elfeldeve, hogy ilyenkor csak a Temporary I. F-ba mentem. De legalább nyomtam egyet.

Utána megpróbáltam átnevezni a munkalapot valami normálisabb névre, ami persze nem sikerült. Nem fogadott el semmilyen módosítást, hibajelzést dobott, és csak OK-zni hagyta, hogy ez így nem jó, és visszaugrasztott a Munkalap nevére, hogy írjam át valam elfogadhatóra. Ilyen azonban nem volt, még visszaállítani sem hagyta ".xls]Munka1"-re sem. Nem volt más lehetőségem, ki kellett lépjek az excelből, újabb mentés nélkül.

 

Kérdésem:

1. El tudom-e valahogy érni a file-t amin dolgoztam? (Végülis lementettem a Temporary I. F-ba, de nem találok oda)

2. Miért járatja a bolondját velem a Munkalapok elnevezésével az excel? Hogyan lehet egy ilyen helyzetből kikeveredni?

 

Előre is köszönöm a segítségeteket.

tt65 Creative Commons License 2011.08.10 0 0 15774

sztem érthető. annyi, hogy itt más az algoritmus annyiban, hogy nem 200 a versenyzők száma.

az "57" mibenlétére még ilyen hajnalban nem sikerül rájönnöm :-)

Előzmény: Sztai (15773)
Sztai Creative Commons License 2011.08.10 0 0 15773

egy másik megoldás:

1. A B oszlopban található országokhoz tartozó összpontszám meghatározása: 

F4=57-MATCH(B4,$B$4:$B$21,0)-MATCH(B4,$C$4:$C$21,0)-MATCH(B4,$D$4:$D$21,0)

(a pontszám az elemszám+1-sorrszám, összpontszám=(n+1)*3-ssz1-ssz2-ssz3)

2. Összesített helyezési lista az F oszlop pontszámai és a B oszlop nevei alapján:

E4=INDEX($B$4:$B$21,MATCH(LARGE($F$4:$F$21,A4),$F$4:$F$21,0))

(azonos pontszám esetén mindíg az elsőt írja ki. Ez a probléma is megoldható, de most erre nem térnék ki)

Remélem érthető

Üdv

Előzmény: Daniel Jonas (15759)
tt65 Creative Commons License 2011.08.09 0 0 15772

egy megoldás:

ahol:

F2: =SZUMHATÖBB($E$2:E$201;C$2:C$201;B2)

G2: =SZUMHATÖBB($E$2:E$201;D$2:D$201;B2)

M2: =NAGY($J$2:$J$201;SOR()-1)

P2: =FKERES(M2;$J$2:$K$201;2;0)

 

 

Előzmény: Daniel Jonas (15771)
Daniel Jonas Creative Commons License 2011.08.09 0 0 15771

Igen, csakhogy én függvénnyel szeretném :)

 

Nem. Ez csak egy példa. Minden *ország* fog szerepelni mindhárom oszlopban. :)

Előzmény: hályog kovács (15770)
hályog kovács Creative Commons License 2011.08.09 0 0 15770

Én az egyes neveket végigkeresném a három oszlopban és a nevekhez tartozó helyezéseket adnám össze. Az így kapott összegek alapján rendezném sorba a végső listát, a legkisebb lesz az első. Egyenlőség esetén természetesen holtverseny van.

 

Azt, hogy beépített fv-kel hogyan oldható meg a feladat azt nehezen látom, de lehet, hogy ez csak az én tudásom korlátait mutatja. :-)

 

A valódi listád is olyan mint a képen lévő, hogy van név ami csak két oszlopban van ami csak egyben szerepel és egy név sem szerepel mindháromban? Vagy minden név szerepel mindhárom oszlopban csak a példa egy kicsit pontatlan?

Előzmény: Daniel Jonas (15757)
Daniel Jonas Creative Commons License 2011.08.09 0 0 15769

Köszi! :)

 

Tehát akkor már (valaki... :) el tuja mondani (írni), hogy mit csináljak? :)

(Most hogy az algoritmus megvan :D )

Előzmény: tt65 (15768)
tt65 Creative Commons License 2011.08.09 0 0 15768

Üdvözlünk fiatal barátunk! :-) Az algoritmus, az amire gondoltál, a szabály, ami meghatározza,hogy a befutás sorrendjében ki hány pontot kap. Ez nem exceles dolog, hanem a játékhoz tartozik. Ilyen van a forma1- ben is pl. 

Ha a szabály megvan, akkor már csak számolni kell vele excelben és meghatározni az összesített eredményt. 

Az jó ha magadtól jössz rá sok mindenre, mert az tartós, fejleszti az elmét, de érdemes néha kérdezni is, mert az sokat rövidít, és nem biztos, hogy mindenre neked kell rájönni! :-)

Előzmény: Daniel Jonas (15766)
Daniel Jonas Creative Commons License 2011.08.09 0 0 15767

Bár szerintem erre gondoltál mert kezd beugrani hogy miaz, csak lehet hogy keverem a logaritmussal... :)

Daniel Jonas Creative Commons License 2011.08.09 0 0 15766

Boccs hogy sokára írtam, csak nem ültem egész nap itt :) Sajnálom, de annyira azért sajnos még nem értek az excelhez, hogy értsem, hogy mit jelent az algoritmus, de ha erre gondolsz:

úgy gondoltam, hogy a 200 értéket tartalmazó oszlopokban az első helyen álló "kap 200-at, utána lévő 199-et", stb.

 

Boccs ha nem erre gondoltál, elég rég használom az excelt bonyolultabb dolgokra is, de magamtól szoktam rájönni a dolgokra, és ezért az idegen szavak értelmezése kimaradt... :/

 

Ha illene tudnom, mi az (15 éves létemre) akkor is bocsi :|

Előzmény: Jimmy the Hand (15760)
hályog kovács Creative Commons License 2011.08.09 0 0 15764

"Ez volt a precíz kifejezés." :-)

 

Ez a vicc jut róla eszembe:

 

http://www.nevetseges.hu/index.php?menu=kereses

Előzmény: boraka (15763)
boraka Creative Commons License 2011.08.09 0 0 15763

Lehet még így is, ami mindenhol működik:

 

listavege = Range("F" & Rows.Count).End(xlUp).Row 'sorok száma az F oszlop értékei alapján

Előzmény: hályog kovács (15762)
hályog kovács Creative Commons License 2011.08.09 0 0 15762

Ja és még valami. Ez a sor:

 

listavege = Range("F1048576").End(xlUp).Row

 

Excel2007-2010-ben működik. Excel2003 és régebbi verziók esetén így néz ki:

 

listavege = Range("F65536").End(xlUp).Row

Előzmény: hályog kovács (15761)
hályog kovács Creative Commons License 2011.08.09 0 0 15761

Ha még aktuális a kérdésed akkor lehet  ez egy megoldás. Lehet, hogy nem lesz mintapélda egyetemi programozás jegyzetekben de működik:

 

Private Sub Worksheet_Change(ByVal Target As Range)
Dim listavege As Long
listavege = Range("F1048576").End(xlUp).Row
    If Target.Row = 5 And Target.Column = 4 Then
        valasz = MsgBox("Az adatok be fognak kerülni a gyűjtőlistába." & Chr(10) & _"Folytatja?", vbYesNo)
        If valasz = vbNo Then Exit Sub
            Range("F" & listavege + 1).Value = Range("D5").Value
            Range("G" & listavege + 1).Value = Range("D8").Value
    End If
End Sub

 

A munkalap Change eseményéhez van rendelve és annyit tud, hogy ha a D5-ös cellának megváltoztatod az értékét akkor felugrik egy MsgBox és rákérdez, hogy akarod-e hozzáadni a listához D5, D8 cellák értékét. "Igen" esetén beírja az értékeket a következő üres sorba "Nem" esetén pedig kilép.

Előzmény: adimania (15740)
Jimmy the Hand Creative Commons License 2011.08.09 0 0 15760

A pontozás algoritmusa megvan? Ha megvan, akkor tedd közzé, mert anélkül nem lehet rá képletet írni.

Vagy éppen az algoritmust kellene kitalálni?

Előzmény: Daniel Jonas (15757)
Daniel Jonas Creative Commons License 2011.08.09 0 0 15759

Na talán itt :)

Daniel Jonas Creative Commons License 2011.08.09 0 0 15758

Bocsi, a képet nem tudom hová tette... de majd csinálok vmit, idelinkelem, vagy ilyesmi... :) De aki érti így is az írhat! :)

Daniel Jonas Creative Commons License 2011.08.09 0 0 15757

Üdv!

 

Lenne egy érdekes problémám, ami lehet hogy valójában könnyedén megoldható, de nekem mégsem az...

 

Van egy táblázatom (a képen: a példákat egyenlőre csak beírtam...) ahol van 4 oszlop. Ezekben az oszlopokban sorrendeket fogok állítani fentről lefelé; elsőtől az utolsóig haladva. A negyedik oszlopba azt szeretném, ha az excel egy függvénnyel, amit végighúzhatok az oszlopon, összesítené az előző három oszlopban található tulajdonneveket egy végső sorrendbe.

Például, ha a "példa 1" mindháromszor első, akkor ő kerüljön az első helyre, ha meg például kétszer második, és egyszer első, és a "példa 2" kétszer első és egyszer második, akkor a "példa 2" legyen az első és a "példa 1" pedig a második, és így tovább...

 

Viszont így az a probléma is felmerülhet, hogy valamelyik név ugyanannyi "pontot" kap, azaz ugyanott végez, hogy azzal mit fog csinálni...

 

Kérlek segítsen aki tud!

 

Előre is köszönöm! :)

Jimmy the Hand Creative Commons License 2011.08.09 0 0 15756

Ha Access-ből fel tudod tölteni adatokkal azt a munkafüzetet, akkor  menteni is tudni kellene, mert tök egyszerű.

Mi a gondod vele?

Gondolom, van valami ilyesmid:

 

Dim WB As Excel.Workbook

 

Aztán beleteszed az adatokat, aztán már csak ennyi kell:

 

WB.Save

vagy

WB.SaveAs (Filename:="akármi.xls")

Előzmény: wawabagus (15755)
wawabagus Creative Commons License 2011.08.09 0 0 15755

Sziasztok!

Kellene egy kis segítség.

 

Van egy exceles template, ami accessból egy access-es makróval frissül automatikusan.

 

Annyit szeretnék hozzátenni a dologhoz, hogy weeknum hozzátételével el is mentődjön a fájl.

 

Variációs megoldások:

1. access megnyitja a templétet és ott egy macro gombbal, futtatom le a mentő makrót és a gombnak meg törölődnie kéne.

Itt leregadtam, hogy hogyan tudok egy gombot törölni...??? Próbáltam felvenni, de nem vett fel semmit :-(.

 

2. az is megoldás lehetne, hogy accessből frissül a template, és onnan menti le weeknum-mal...de ebben a megoldáson itt ragadtam le...:-(

 

Van valami ötletetek?

 

Köszi szépen előre is!!!

 

 

 

wawabagus Creative Commons License 2011.08.09 0 0 15754

Szia!

Tök igazad van :-), a sablonmunkafüzet másolása egy tökéletes megoldás :-)!

Köszi!

Előzmény: Jimmy the Hand (15750)
wawabagus Creative Commons License 2011.08.09 0 0 15753

Köszönöm :-)!

Előzmény: boraka (15747)
Jimmy the Hand Creative Commons License 2011.08.09 0 0 15752

Vagy ha van a References között valami extra cucc, nem árt ellenőrizni, hogy minden gépen telepítve és csatolva van-e.

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

én még ezeklet megpróbálnám:

office frissítés, windows frissítés

Előzmény: Gavriel (15746)
Jimmy the Hand Creative Commons License 2011.08.08 0 0 15750

Ha készítesz egy sablon munkafüzetet, amiben a megfelelő számú munkalap van, akkor azt egy utasítással le lehet másolni, és így kvázi létrehozni az új munkafüzetet.

Ha Workbooks.Add metódust akarsz, akkor még legalább egy lépés, hogy elmented más néven (így tudsz neki nevet adni), és több lépés, hogy új munkalapokat szúrj be. Ezek szerintem nem elkerülhetők. Lásd Boraka kódját.

Előzmény: wawabagus (15739)
tt65 Creative Commons License 2011.08.08 0 0 15749

valami ilyesmi:

Előzmény: adimania (15744)
tt65 Creative Commons License 2011.08.08 0 0 15748

ha jól értettem és csak a mennyiség változik, akkor egyváltozós adatábláról beszélünk

lsd: http://office.microsoft.com/hu-hu/excel-help/egyvaltozos-adattabla-keszitese-HP005199545.aspx

 

ha az egységár is változik, akkor kétváltozós adattábla forog fenn:

http://office.microsoft.com/hu-hu/excel-help/ketvaltozos-adattabla-keszitese-HP005199586.aspx

 

ha ettől is több a változó, akkor esetekről van szó:

http://office.microsoft.com/hu-hu/excel-help/valtas-ertekkeszletek-kozott-esetek-hasznalataval-HP010072669.aspx

Előzmény: adimania (15744)
boraka Creative Commons License 2011.08.08 0 0 15747

Valami hasonlóra gondoltál?

 

Sub UjMunkafuzet()
Dim MunkaLapokSzamaMost As Long
Dim MunkaLapokSzama As Long
Dim MentesHelye As String
Dim MentesNeve As String

 

  MentesHelye = "C:\mappaneve\"
  MentesNeve = "munkafuzetneve.xls"
  MunkaLapokSzama = 5

 

 With Application
    MunkaLapokSzamaMost = .SheetsInNewWorkbook
    .SheetsInNewWorkbook = MunkaLapokSzama
  End With
 
  Workbooks.Add
  ActiveWorkbook.SaveAs Filename:=MentesHelye & MentesNeve
 
  Application.SheetsInNewWorkbook = MunkaLapokSzamaMost
 
End Sub

 

Előzmény: wawabagus (15739)
adimania Creative Commons License 2011.08.08 0 0 15745

Valamiért nem működik a dolog a képfeltöltéssel kapcsolatban, úgyhogy itt tudjátok elérni:

http://www.megaupload.com/?d=GXY9CLPG

Előzmény: adimania (15744)
adimania Creative Commons License 2011.08.08 0 0 15744

Ezt részletezd kérlek, ha nem jelent túl nagy vesződséget!

Köszönöm előre is!

Előzmény: tt65 (15742)
tt65 Creative Commons License 2011.08.08 0 0 15743

inkább illeszd be ide, mert tűzfal mögül nem minden látszik ...

Előzmény: adimania (15741)
tt65 Creative Commons License 2011.08.08 0 0 15742

esetvizsgáló, esetkimutatás, adattábla a te barátod!

Előzmény: adimania (15740)
adimania Creative Commons License 2011.08.08 0 0 15741

Az előbb valmiért nem csatolta a képet, legalábbis én nem látom, úgyhogy feltöltöttem ide:

http://kepfeltoltes.hu/view/110808/probl_ma_www.kepfeltoltes.hu_.jpg

adimania Creative Commons License 2011.08.08 0 0 15740

Sziasztok!

Egy szerintem általatok rutinműveletnek tűnő, ám számomra annál sürgősebb probléma kapcsán fordulok hozzátok.

Mivel a komplett problémát nehézkes lenne írásban magyarázni, ezért egy egyszerű iskolapéldán keresztül szemléltetem, mellékelten pedig csapolok egy képet is:

------------------------------------------------------------------

Van egy adatsorom amelyben az alábbi inputok (tetszőlegesen megadható) és output (számolt érték) vannak:

 

INPUT
Gyümölcs mennyisége (kg): "beadható érték"
Gyümölcs kilónkénti ára (ft/kg): "beadható érték"


OUTPUT
Fizetendő összeg (ft): "számolt érték"

Eddig ugye semmi probléma, a számítás egyszerű függvénnyel megoldható.

Én viszont azt szeretném, hogy egy külön táblázatban egymás alá gyűjtse a fizetendő összegeket, hogyha én változtatok a gyümölcs mennyiségén az input cellában. Valahogy így:

x kg gyümölcs - "x kg gyümölcs esetén számolt összeg"
y kg gyümölcs - "y kg gyümölcs esetén számolt összeg"
z kg gyümölcs - "z kg gyümölcs esetén számolt összeg"
stb...

------------------------------------------------------------------

- Én olyasmin gondolkodtam, hogy be kellene vonni az accest majd az ott kapott adatbázist visszaimportálni excelbe. Ez akkor lenne az ideális ha automatikusan történne. Accesben viszont nem vagyok otthon kb semennyire, de ha elmondjátok hogyan kell, meg tudom csinálni.

- Az is elképzelhető, hogy makrót kell írni, de ott is hasonló a helyzet.

Éppen ezért arra kérlek benneteket, hogy a lehető legegszerűbb megoldást mondjátok nekem, ami persze neketek is kevesebb vesződséggel jár.

Előre is köszönöm szépen a segítségeteket!

wawabagus Creative Commons License 2011.08.08 0 0 15739

Sziasztok!

 

Meg lehet nyitni VBA-ból egy tök új munkafüzetet adott számű sheettel és egyben el is nevezni?

Workbooks.add és utána valahogy ezt a 2 db dolgot be lehet szúrni egyszerre?

 

Vagy több lépésre van szülség?

 

Úgy rémlik már mintha egyszer említettétek vona, ezt a darab dolgot, de sehol sem találom.

 

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

Yo

SQLkerdes Creative Commons License 2011.08.07 0 0 15738

Alapvetően ugyanúgy közelíteném meg, mint Lucky problémáját:

- előállítanék egy számsort, ami vagy nullákat vagy a pozitiv ügyfélszámok esetén a sorok számát tartalmazza (pld. (a2:a500>0)*row(a2:a500))

- a SMALL függvénnyel sorra előszedném ennek a fenti számsornak a darabjait, oly módon, hgoy a cél cella sorának száma határozza meg,hogy hanyadik SMALL-t keressük.

 

Az INDIRECT tuti működik ezzel a technikával.  Sajnos az OFFSET nem, mert a SMALL/LARGE egy 1*1-es tömböt ad vissza és az OFFSET visszaköpi a tömb bemenő adatokat.

Előzmény: kovacsmiklos1985 (15737)
kovacsmiklos1985 Creative Commons License 2011.08.07 0 0 15737

Sziasztok!

 

Egy kis segítséget szeretnék kérni tőletek, hogy ti hogyan bírkóznátok meg ezzel a feladattal.

 

Van egy oszlop, amelybe alap esetben pozitív előjelű ügyfélszámokat jegyzek be, hogyha mondjuk eladok az ügyfél részére egy terméket.

Azokban az esetekben, amikor nem eladok nekik, hanem bármely más munkát csinálok (pl.: információadás) velük, abban az esetben mínuszos (-) ügyfélszámot jegyzek a cellába, vagy üresen hagyom azt.

 

A kérdésem az lenne, hogy hogyan lehet megoldani azt, hogy egy másik munkalapon ki legyen listázva az oszlop azon cellái, amelyekben a pozitív számok voltak beírva (sorkihagyás nélkül, tehát nem szűrős megoldással, hanem valami listázás félével).

Mellékeltem egy képet, hogy az oszlop tartalom hogy néz ki, és ezek közül kellenének külön listába azok a sorok, amelyekbe pozitív számok vannak.

 

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

 

Miki

luckeEEEr Creative Commons License 2011.08.07 0 0 15736

Igazad van, végül csak megoldottam magamtól ilyen nyögve nyelős módszerrel, de ezt legalább el tudom magyarázni. Köszi a megoldást, azt is áttanulmányozom hogyan működik!

Előzmény: SQLkerdes (15735)
SQLkerdes Creative Commons License 2011.08.07 0 0 15735

Alapvetések:

- adatok az A-C oszlopig (ebben a példában a2:c6-ig, javitsd kreativan)

- keresendő adat a D2 cellában

- találat az E:G oszlopokban

 

Teendő:

E2-be írd be a következőt

=IFERROR(INDIRECT("A"&LARGE(IF($A$2:$C$6=$D$2,ROW($A$2:$C$6),""),ROW(A2)-1)),"")

 

F2-be a következőt:

=IFERROR(INDIRECT("b"&LARGE(IF($A$2:$C$6=$D$2,ROW($A$2:$C$6),""),ROW(B2)-1)),"")

 

G2-be a következőt:

=IFERROR(INDIRECT("C"&LARGE(IF($A$2:$C$6=$D$2,ROW($A$2:$C$6),""),ROW(C2)-1)),"")

 

MINDEGYIK fenti cellát Ctrl+Shift+Enterrel kell lezárni (kapcsoszárójelbe kerül a függvény).

 

Ezután, ha tudod mennyi lehet a maximális találatok száma, akkor annyiszor másolod lefele copy-paste-tel a képleteket, ha nem tudod mennyi a maximális találat, akkor az 500.-sorig (mert ugye max 500 találat lehet egy 500 soros táblázatban.

 

Ha xl2007 előtti exceled van akkor az IFERROR nem fog működni, ISERROR a megoldás.

 

Ne tarts olyanból előadást, amihez nem értesz, mert csúnyán rá lehet égni

Előzmény: luckeEEEr (15734)
luckeEEEr Creative Commons License 2011.08.07 0 0 15734

Köszönöm. Így tényleg működik, a duplikációsat nem próbáltam erre a verzióra előzőleg. Azt hogyan lehetne megoldani, hogy a 3 segédoszlopból a találatokat egy kupacba gyűjtse ki, hogy ne kelljen nekem külön kikeresni?

Előzmény: Delila10 (15733)
Delila10 Creative Commons License 2011.08.06 0 0 15733

A variáció előtt mindhárom oszlopban csakis egyszer fordulhatott elő egy-egy adat.

 

A mostanihoz vagy makró kell, vagy 3 segédoszlop. Nézd meg a 15626-os, és 15629-es hozzászólásokat, vagy várd meg SQL-t, ő ír egy szorzatösszeges, vagy egy istentudjami() függvényt.

Előzmény: luckeEEEr (15732)
luckeEEEr Creative Commons License 2011.08.06 0 0 15732

Kérlek segítsetek!!!

 

A múltkor segítettek páran megoldani nekem ezt a feladatot, de variálni kell egy kicsit rajta és hétfőn előadást kell belőle tartanom! Ezért nagyon sürgős lenne.

 

A lényeg az, hogy van egy 3 oszlopból álló Range-em (A2-től C500-ig).

Keresek egy adatot, amit F2-be írok be.

A feladat, hogy a függvény megkeresse az A2:C500 tartományban az F2-be beírt számot és kiírja annak a sornak a tartalmát, amelyik sor tartalmazza a keresett adatot.  Szóval ha a F2-be rögzített szám a B8-ban van, akkor írja ki az A8-at, a B8-at és a C8-at is.

Az F2-be beírt érték viszont több találatot is adhat! A kérdésem az, hogy hogyan szedem szét sorokra a találatokat?

Itt az általam eddig használt függvény, ami duplikáció esetén már nem jó:

 

=OFSZET(A1;SZUM(--(A2:C217=F2)*SOR(A2:C217))-1;0;1;3)

 

Aki elolvassa és tud segíteni, annak nagyon megköszönöm, mert ez fontos lenne!

pimre Creative Commons License 2011.08.06 0 0 15731

Időközben teszteltem a dolgot. A programhoz nem nyúltam, pusztán a munkalap nevét rövidítettem le. És így hibaüzenet nélkül lefutott a program. Tehát az .XValues = szöveg és hasonló értékadásnál a szöveg string hossza korlátozott. Valahol a 256 karakter környékén. 

Előzmény: pimre (15729)
magyarpityu Creative Commons License 2011.08.06 0 0 15730

Sziasztok!

 

Egy furcsa dolgot tapasztaltam, ebben szeretnék segítséget kérni!

 

Létrehoztam egy menürendszert, hogy a makróimat legördülő menüből hívhassam meg, és azt tapasztaltam, hogy a menüből meghívva a makrók bizonyos részei nem működnek! Az Excelből közvetlenül meghívva minden utasítás jól működik, de menüből elindítva a makrót nem működnek ezek a sorok, és hibaüzenet sincs!

 

Ilyenek nem működnek ('Data' egy Worksheet objektum):

 

Data.Cells.ClearContents

 

Dim LastRow As Long
LastRow = Data.Cells.SpecialCells(xlLastCell).Row

 

de különben így sem jó:

LastRow = Data.Cells(1, 1).SpecialCells(xlLastCell).Row

 

ez utóbbi azért különös, mert így viszont már jó eredményt ad:

LastRow = Data.Cells(1, 1).End(xlDown).Row

 

(De mi van, ha nem az első oszlop utolsó elemének helye kellene, hanem a munkalap legalsó cellájának sorindexe?)

 

Menüből hívva csak az utolsó sor ad vissza helyes értéket, míg a makrókat simán az Excelből indítva mind jó értéket ad vissza. Mi lehet ennek az oka, és mit lehet tenni? Előre is köszönöm a segítséget!

pimre Creative Commons License 2011.08.06 0 0 15729

Bocs, hogy túl sokat kérdezek, de találtam valamit. A tegnapi problémám az aposztrof használatával megoldódott. Ma meg is írtam a programot, ami gyönyörűen összefűzi a tengelyek megadásához szükséges stringet, és rajzolja is a grafikonokat.

 

Ámde: Az egyik adatsoromnál, ahol nagyon szétszórtak voltak az adatok, egyszer csak kiakadt. Hosszas töprengés után azt találtam, hogy nem szintaktikai a probléma, hanem az összefűzött parancsstring hossza meghaladta a 256 karaktert, és erre kezdtem gyanakodni. Ki akartam próbálni a makró fényképezés módszerével, hogy ők hogy oldják meg, de azt találtam, hogy kézből kijelölgetve az adatokat, egy bizonyos pont után meglehetősen udvariatlanul, se szó se beszéd, félbehagyja a munkát, és törli az addigi kijelöléseket.

 

Lehetséges, hogy van egy olyan határ, hogy a parancssor hossza nem haladhatja meg a 256 karektert?

 

Előzmény: Delila10 (15666)
Beugró lány Creative Commons License 2011.08.05 0 0 15728

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

 

pimre Creative Commons License 2011.08.05 0 0 15727

Tulajdonképpen ehhez hasonlót kapok, csak fekete-fehérben, ha a diagram főlé állva az egér jobb gombjával a forrásadatra kattintok. Csak míg ez következetes, addig a diagramra kattintva nem az. 

Előzmény: pimre (15726)
pimre Creative Commons License 2011.08.05 0 0 15726

Sziasztok, meg tudja valaki mondani, hogy az mitől függ, hogy egy elkészült diagramra kattintva az Excel megjelöli-e (lila és kék színekkel bekeretezi) azt az adattartományt, amiből a diagram készült.

 

Nekem egyetlen munkafüzet egyes munkalapjain másképp viselkedik. Egyiken bejelöli, a másikon nem. Szeretném egységesen kezelni őket, de nem tudok rájönni, hogy mitől van a különbség. 

Delila10 Creative Commons License 2011.08.05 0 0 15725

Azt nem figyeltem, hogy 2003-asról van szó. Azzal nem is volt probléma, csak a két újabbal.

A Te kedvedért tettem ki a képet erről a 15717-es hozzászólásban.

Előzmény: SQLkerdes (15724)
SQLkerdes Creative Commons License 2011.08.05 0 0 15724

Ha követed a linket látod, hogy xl2003-ról szól.

2007-ben képtelen voltam előhozni ezt a fícsört.

Előzmény: Delila10 (15723)
Delila10 Creative Commons License 2011.08.05 0 0 15723

Nálad megjelent a tételek elrejtését kínáló doboz? Nálam nem.

Előzmény: SQLkerdes (15722)
SQLkerdes Creative Commons License 2011.08.05 0 0 15722

http://office.microsoft.com/en-us/excel-help/display-or-hide-items-in-a-pivottable-or-pivotchart-field-HP005199384.aspx

 

"Hiding an item in a row field  or column field  removes it from the report, but the item still appears in the dropdown list for the field. Hiding an item in a page field  removes it both from the report and from the dropdown list for the field."

 

Szóval csak a page field-ekkel műxik ez.

 

  1. Double-click the page field.
  2. If the Hide items box is present, select each item that you want to hide, and clear the selection from each item that you want to show.

If the Hide items box is missing, your source data  always lists all available items in the dropdown list for the page field.

 

Előzmény: Delila10 (15721)
Delila10 Creative Commons License 2011.08.05 0 0 15721

A 2010-es sem tudja. :(

Előzmény: Beugró lány (15720)
Beugró lány Creative Commons License 2011.08.05 0 0 15720

Köszönöm, pont erre gondoltam!

 

A 2010-es verzióban esetleg?

Előzmény: Delila10 (15717)
Delila10 Creative Commons License 2011.08.05 0 0 15719

Elnézést, két ilyen makró volt, és nem azt tettem ki, amelyiket kipróbáltam, és jól működött. Itt az igazi.

 

Sub DeleteOldItemsWB()
    Dim ws As Worksheet
    Dim pt As PivotTable
    Dim pf As PivotField
    Dim pi As PivotItem
    
    On Error Resume Next
    For Each ws In ActiveWorkbook.Worksheets
        For Each pt In ws.PivotTables
            pt.RefreshTable
            pt.ManualUpdate = True
            For Each pf In pt.VisibleFields
                If pf.Name <> "Data" Then
                    For Each pi In pf.PivotItems
                        If pi.RecordCount = 0 And Not pi.IsCalculated Then pi.Delete
                    Next pi
                End If
            Next pf
            pt.ManualUpdate = False
            pt.RefreshTable
        Next pt
    Next ws
End Sub

Előzmény: Delila10 (15718)
Delila10 Creative Commons License 2011.08.05 0 0 15718

Kimutatásokról és felesleges adatokról volt itt szó.

 

Nem tudom, a 2007-es verzióra is jellemző-e, hogy azokat a tételeket is mutatja a szűrőkben, amiket már töröltünk a tartományból, de a kimutatás nem felejt. A 2003-as verzióra még igaz.

 

Valahonnan kaptam egykor egy "szellemírtó"-t, ami ezt a hibát megszünteti. Közre adom, biztosan jó hasznát veszi, akinek ilyen gondja van.

 

Sub RemoveGhostPivotItems()
    Dim ghost As PivotItem
    Dim pt As PivotTable
     
    Set pt = ActiveSheet.PivotTables(1)
    pt.ManualUpdate = True
     
    For i = 1 To pt.PivotFields(i).PivotItems
        On Error Resume Next
        For Each ghost In pt.PivotFields(i).PivotItems
            ghost.Delete
        Next ghost
    Next i
     
    pt.ManualUpdate = False
End Sub

Delila10 Creative Commons License 2011.08.05 0 0 15717

Kép a 2003-as verzióból.

 

 

 

A bekarikázott mezőben elrejti azokat, akiket nem akar látni a kimutatásban. Ezután a foglalkozás legördülője csak a megmaradt tételekhez tartozó értékeket mutatja, ill. ezek további szűrését engedélyezi.

Ez az opció nem található meg a 2007-ben.

 

 

Előzmény: SQLkerdes (15703)
tt65 Creative Commons License 2011.08.05 0 0 15716

örülök neki, sok van mit érdemes tudni!

Előzmény: Beugró lány (15713)
luckeEEEr Creative Commons License 2011.08.05 0 0 15714

Hello!

 

Megint módosították az elvárásokat a táblázatommal kapcsolatban. Így már több találatot is ad a függvény, tehát sorokra is szét kellene szedni. Azt mondtad index függvénnyel lehet megoldani. Kérdésem, hogy hogyan?

 

=OFSZET(A1;SZUM(--(A2:C500=F2)*SOR(A2:C500))-1;0;1;3)

 

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

Előzmény: SQLkerdes (15633)
Beugró lány Creative Commons License 2011.08.05 0 0 15713

Képzeld! Most meg tudtam oldani valamit, azzal amit tegnap este mutattál a nyilakkal! Köszi!!!! :)

Előzmény: tt65 (15706)
Beugró lány Creative Commons License 2011.08.05 0 0 15710

Tényleg! A 2010-et nézted már?

Előzmény: Beugró lány (15709)
Beugró lány Creative Commons License 2011.08.05 0 0 15709

Ebből az adatbázisból kell minden hónapban egy statisztikát készítenem, ami biztosan halál egysezrű lehet annak aki virtuóz a Kimutatásokban. Nekem nagyon neki kell feküdnöm, hogy ez menjen. S persze, ha kész a táblázat, akkor már automatizmus lesz a munka a továbbiakban.

Előzmény: tt65 (15706)
Beugró lány Creative Commons License 2011.08.05 0 0 15708

Ma reggel megnyitottam a bázisomat egy régebbi verzióban.  Ott készítettem egyszerűen egy Print Screen -t, hogy meg tudjam nektek, mi is a probléma.

 

De megint az adatok bizalmassága miatt nem szeretném idemásolni.

 

Tehát, ha rákattintottam 2x a "Név" tartalmú, a mostani verióban a Jelentésszűrők között lévő mezőre, akkor a régi verzióban felugrott egy "Kimutatásmező" ablak, aminek a tartalma és funkciója hasonló, minta mostani "Mezőbeállítások"-nak. Kivéve azt az egy plusz funkciót, ami a régiben még legalul "Tételek elrejtése" címmel felsorolta az összes nevet, s itt kijelölhettem, hogy melyik nevet akarom látni, ha legördítem a nevek mellett található "fekete háromszöget" :)

 

Már kezdem elfogadni, hogy az új verzóban nem fogom tudni ezt beállítani, s talán tovább kellene lépnem :(((

 

Azt is látom, hgy Ti itt már nagyon régen, évekkel ezelőtt használtátok csak a 2003-at, s balgaság Tőletek olyat kérni, hogy emlékezzetek valami ilyesmire.

 

 

Előzmény: SQLkerdes (15703)
tt65 Creative Commons License 2011.08.05 0 0 15706

Elvileg a pivot tables opcióknál, de én is elbizonytalanodtam, az előző hozzászóló intelmei miatt.

Esetleg nem tudod, az új összetettebb feladat miatt ezt lepasszolni? :-)

Előzmény: Beugró lány (15705)
Beugró lány Creative Commons License 2011.08.05 0 0 15705

Tudom, hogy Ti ezen a nyelven kommunikáltok, de lefordítanád (persze csak ha lehet), hogyan találom meg ezeket a lépéseket?

 

Ma megtiszteltek egy sokkal összetettebb feladattal is! Már nem volta annyira őszinte a mosolyom.

Előzmény: tt65 (15701)
SQLkerdes Creative Commons License 2011.08.05 0 0 15704

Azt hiszem sikerült reprodukálnom a problémát.

Nincsenek jó híreim, ezt a dolgot már én is észrevettem (csak nem Pivot-oknál, hanem táblázatok szűrésénél) és nem tűnik úgy hogy van megoldás.

A jó hír, hogy xl2010-ben már mintha másként lenne.

Előzmény: SQLkerdes (15703)
SQLkerdes Creative Commons License 2011.08.05 0 0 15703

Szerintem nem.  Amit te mondasz, csak "megtöri" a page filed oszlopokat.  Egyébként sincs az az érzésem, hogy Lány a page field-ekről beszélt.

Én restelkedve de bevallom, hogy még mindíg nem értem a kérdést.  Lány egyszer azt mondja, csak x darabot akar látni, egy másik hozzászólásban (nevekkel és szinekkel) azt mondja, hogy ha a szinek között kiválasztotta a sárgát, akkor csak a sárga játékok nevét akarja látni a Név oszlop szűrőjében (vagyis kumulativ szűrést akar csinálni).

Ha csak pld 10 darabot akar látni a több mint 60 (játék) nevéből, akkor hogy választja ki melyik 10-et?  Erre írtam, hogy írja le, hogy hogy csinálja.

Lány, tedd már meg, hogy egy kicsit részletesebben elmagyarázod a problémát.

Screenshot-ok sokat segítenének, főleg egy 2003-as excelből, ahol műxik a dolog.

Előzmény: tt65 (15701)
Jimmy the Hand Creative Commons License 2011.08.05 0 0 15702

Private Sub TextBox1_AfterUpdate()
    Debug.Print TextBox1.Text
End Sub

Előzmény: Gavriel (15699)
tt65 Creative Commons License 2011.08.05 0 0 15701

Szerintem a Pivot tables opcióknál a "Fields per Column: You can specify the number of page fields to show before starting another row of page fields." lesz a te barátod. Próbáld ki.

Előzmény: Beugró lány (15698)
Beugró lány Creative Commons License 2011.08.04 0 0 15698

Egyetértek veled a 2007 komfortosságát illetően. Emiatt is mertem belevágni az újításba, mert bíztam benne, hogy sokkal kellemesebb lesz. az is lett nagyon sok mindenben, de...!

Egy gyenge hasonlattal élve egy 2007 szintű ember sok jó, de talán körülményes megoldási javaslatot adna a híd alá beszorult kamionnak, míg a 2003-as javasolná a kerekek leengedését. De azt hiszem én angyon kevés vagyok ezen programok minősítésére, ez talán csak az én problémámra igaz.

Előzmény: tt65 (15697)
tt65 Creative Commons License 2011.08.04 0 0 15697

Az adatbázisban való szűrés (táblázat) nem érvényessül a belőle készült kimutatásban, ott újra szűrni kell az adatokat. Asszem ez is gondot okoz neked. Szóval elegendő csak a kimutatásban szűrni.

Amugy biztos nem a 2007 a bűnös, szvsz pivot táblában sokkal komfortosabb mint a 2003 volt.

Előzmény: Beugró lány (15675)
Beugró lány Creative Commons License 2011.08.04 0 0 15696

Ez jó lenne, de sajnos más is akar ebből az adatbázisból mindenféle kimutatást készíteni, napi szinten töltöm folyamatosan fel. Tovább bonyoltaná az amúgy se egyszerű munkámat.

Gyakran érzem az egészet egy egész napos logikai feladatnak. Élvezem, hogy mindig rájövök valami újabb "csodára", és szinte kihívásnak érzem az ilyen helyzeteket. De már kezd bosszantani ez a mostani.

Előzmény: Delila10 (15695)
Delila10 Creative Commons License 2011.08.04 0 0 15695

Csöppet sem elegáns dolog, de másold át egy új lapra azokat, akiket meg akarsz jeleníteni, és erről az új lapról csinálj kimutatást.

Előzmény: Beugró lány (15694)
Beugró lány Creative Commons License 2011.08.04 0 0 15694

Ne má'! Ezt nem akarom elhinni! Utálom, ha valamit nem tudok megoldani. Biztosan kell legyen valami megoldás. Erről ismerszek meg, hogy mindig találok megoldást! Logisztikai cégnél dolgozom :)

 

De komolyra fordítva a szót: nem tudom rendezni a neveket, mert havonta ismétlődnek, néha jönnek újak, majd eltünnek. S ezek mind-mind ott "figyelnek" legördítéskor :((((((( 

Hát emiatt szeretném de nagyon, ezt lekorlátozni. Már néztem a Kimutatás mezőadatainak csoportosítását is. De ez nem Mezőadat, mint azt már tudom :(

Előzmény: Delila10 (15693)
Delila10 Creative Commons License 2011.08.04 0 0 15693

Egyéb jó dolgokat is megszüntettek. :(

Előzmény: Delila10 (15692)
Delila10 Creative Commons License 2011.08.04 0 0 15692

Ha módodban áll, rendezd úgy az adataidat, hogy azok a nevek, amiket nem akarsz látni a kimutatásban, a lista végére kerüljenek, a kimutatáshoz pedig ezt a csökkentett tartományt add meg forrásként.

Előzmény: Beugró lány (15689)
Beugró lány Creative Commons License 2011.08.04 0 0 15691

No hát pont ez az! Nem hiszem el egyszerűen, hogy egy fejlettebb változat elhagyjon egy lehetőséget, ami rendkívül hasznos volt!

 

De örülök, hogy végre el tudtam magyarázni a hasfájásomat! :)

Előzmény: Delila10 (15690)
Delila10 Creative Commons License 2011.08.04 0 0 15690

Igen, ott volt lehetőség a tételek elrejtésére, itt nem találom.

Előzmény: Beugró lány (15689)
Beugró lány Creative Commons License 2011.08.04 0 0 15689

Ja, természetesen nem pont 10  nevet, hanem tetszőleges, általam kiválasztott pár nevet. Akikre éppen az a kimutatás vonatkozik.

Előzmény: Beugró lány (15688)
Beugró lány Creative Commons License 2011.08.04 0 0 15688

Sajnos nem ez a gond. A név már eredetileg is ott volt a Jelentésszűróben. Így tudom mindig csak egy emberre leválogatni a kimutatást.

 

Azt szeretném, ha legördítéskor csak 10 nevet adjon föl nekem, s ne mind a 60 egynéhányat, aki csak szerepel az alapbázisban. Ezt tudtam anno beállítani a 2003-ban, a korábban már leírtak szerint.

 

Már több mező, kocka, négyzet, izé felett próbálkoztam az egér jobb illetve bal gombjának nyomkodásával is, de semmi.

Előzmény: Delila10 (15687)
Delila10 Creative Commons License 2011.08.04 0 0 15687

Lehet, hogy rájöttem, mi a gond.

 

Ha mindig csak egy nevet (és a hozzá tartozó többi adatot) akarod látni, állj be a kimutatásba.

Jobb oldalon megjelenik a Kimutatás mezőlista. A Sorcímkék közül a Név mezőt húzd fel a Jelentésszűrőbe (bal oldali alsó négyzetből a fölötte lévőbe).

A név most a kimutatásod fölött lesz, (mind) felirattal. Ennek a legördülőjéből kiválaszthatod egyenként a neveket.

 

A 2003-ban ezt oldalnak hívták.

Előzmény: Beugró lány (15685)
Beugró lány Creative Commons License 2011.08.04 0 0 15686

De látom, jó helyen vetettem fel a kérdést, csak a felvetés módja kezdetleges, elnézéseteket kérem.

Beugró lány Creative Commons License 2011.08.04 0 0 15685

A kimutatásban mindig csak egy nevet akarok látni! Ez rendben is van. Az is be tudom állítani, hogy egy vagy több nevet lássak a kimutatásban, tudom.

Ide nekem vissza egy 2003-as verziót! Holnap én is keresek egyet. Az itthoni gépemen is már az új van. De a benti gépek valamelyikén még láttam az elődöt.

 

Nem kattintottam rá, szót fogadtam :), azt is tudom már, hogy nem kell oda pipa, szerencsére ezeknél már előrébb vagyok.

 

Pedig a nevek legördülője mellett is van tölcsér, mégis az adatbázisban szereplő összes nevet legördíti. Én ezt a legördülő listát szeretném leszűkíteni valahogy, mint ahogyan azt meg tudtam tenni a régi verzióban.

Előzmény: Delila10 (15683)
Delila10 Creative Commons License 2011.08.04 0 0 15684

Az a mező, ahol a tölcsért látod, szűrve van. Ezt gördítsd le, és meglátod, nem minden jelölőnégyzet előtt van pipa. Ahol nincs tölcsér, ott minden tétel be van jelölve.

Előzmény: Beugró lány (15682)
Delila10 Creative Commons License 2011.08.04 0 0 15683

NE kattints rá. A legördülőben megjelennek a nevek, akit nem akarsz látni a kimutatásban, az elől vedd ki a pipát.

 

Megpróbáltam 2003-ban ezt a duplaklikket, nálam a többi mező jelent meg, amiből egyet kiválasztva az is bekerült a kimutatásba. Semmi alá-, vagy áthúzás.

Előzmény: Beugró lány (15679)
Beugró lány Creative Commons License 2011.08.04 0 0 15682

Látod, még ezt sem tudom nagyon, mit is jelent.

 

Van egy több tízezer soros s több mint 30 oszlopos alapbázis nevű lap, melyen be van kapcsolva az adatszűrés. Ebből készítettek az elődeim kimutatásokat, ahol szintén látom a szűrőket. No az igaz, hogy nem egyforma ikonnal vannak ellátva az oszlopok a kimutatásokon. Van olyan, ahol csak fekete lefele mutató háromszög van, s van olyan ahol tölcsér és pici háromszög is van. (huh, ijesztően egyszerűnek tűnhetek:( ) Fél évvel ezelőtt, még csak az alapműveleteket voltam képes kezelni az excelben, ehhez képest most függvénykete értelmezek, s néha már alkotok is. Az elődöm egyik napról a másikra kiment küldöldre dolgozni. Töméntelen keresztbe hosszába file-kon és munkalapokon keresztüli hivakozások nyüzsögnek mindenfelé. Napról napra fedezem fel az értelmét, s emiatt bosszant, hogy erre nem tudok rájönni.

Előzmény: Delila10 (15680)
Delila10 Creative Commons License 2011.08.04 0 0 15681

Igen, 1000 a maximum.

Előzmény: _Nyuszi (15678)
Delila10 Creative Commons License 2011.08.04 0 0 15680

Kimutatásban dolgozol, vagy az autoszűrő van bekapcsolva?

Előzmény: Beugró lány (15679)
Beugró lány Creative Commons License 2011.08.04 0 0 15679

Hát nekem nem szineződik el semmi :(

 

Az egérrel természetesen tudok ide-oda közlekedni, de ha nyitva van a Mezőbeállítások ablak, azon kívül úgy sem enged sehova se kattintani.

 

Tehát nagyjából így néz ki

A3 : Év

B3: 2011 (jelen esetben, ezt úgye ki tdom választani)

A4: Hó

B4: 7 (ezt is tudom választani a lgördülő listából)

A5: Név (na erre kellett a régi verzióban 2x kattintani és itt jött ki az összes név az adatbázisból, sötétkéken áthúzta 1 kattintásra, vagy fehéren hagyta, s ettől függött, hgoy a következő B5 mezőben miket sorol fel, amik közül szintén válaszhatok, ha lenyitom)

B5: Kovács J (pl. egy név az összes közül sajnos)

 

Most ha rákattintok 2x az A5-re akkor a gyűlölt Mezőbeállítások ablak nyílik meg, ahol szerintem már minden létező variációt végigpróbáltam...

 

Köszönöm, hogy válaszolgattok!

 

Előzmény: SQLkerdes (15673)
_Nyuszi Creative Commons License 2011.08.04 0 0 15678

AutoSzűrőnél azt hiszem maximalizált a listába kerülő mennyiség. Vagy valami ilyesmi, mert már én is belefutottam (Excel 2003).

Előzmény: SQLkerdes (15676)
SQLkerdes Creative Commons License 2011.08.04 0 0 15677

Azt azért írd le, hogy Excel 2003-ban hogy csináltad, mert lehet abból rájövünk a jelenség nevére.

Előzmény: Beugró lány (15675)
SQLkerdes Creative Commons License 2011.08.04 0 0 15676

Én erről még sose hallottam.

Szóval már a legördülőben sem látszik minden név?  Mifene.

Most már tökre érdekel, holnap megpróbálok ráfeküdni a témára.

Előzmény: Beugró lány (15675)
Beugró lány Creative Commons License 2011.08.04 0 0 15675

Igen, sejtettem, hogy nem tudom elég jól elmondani a problémámat.

 

Ha legördítem a neveket, akkor az adatbázisban szereplő összes nevet felsorolja. Ez rendjén is lenne. De a régi - 2003-as verzióban be tudtam állítani, hogy melyik pl. 10 nevet sorolja fel lenyitáskor.

 

Elég bizalmas adatokat kezelek így, emiatt nem tudok konkrétabb példát hozni itt nyilvánosan-

 

Az alapbázisból (ennek Ti talán valami szaknévvel illetitek) több hasonló tartalmú kimutatást készítek, természetesen külön munkalapokon. 

Hiába szűröm le azonban pl. szinekre a játékokat, hogy csak a sárgákat kérem, a neveknél mégis felsorolja az össze színű játékot.

Nem ez a tartalom persze, de a hasonlat jó.

 

Már néztem a súgót is, de lehet, hogy valahol keresnem kellene 2003-as verzió súgóját és ott megkeresnem, hogyan vezeti le ezt a beállítást? Ha egyáltalán leírja.

 

Én szeretném komolyan venni  az excelt! Naponta 10-12 órán keresztül dolgozom vele, de sohasem tanultam, csak belecsöppentem.

Előzmény: Delila10 (15672)
SQLkerdes Creative Commons License 2011.08.04 0 0 15674

Delila módszere is működik, meg a Lány módszere is.

Az egyetlen eltérés, hogy a Lány módszere már eleve szűrve készíti el a Pivottable-t, Deliláé meg teljes amikor elkészül és "utólag" szűkíti le.

A végeredmény ugyanaz.

Előzmény: Delila10 (15672)
SQLkerdes Creative Commons License 2011.08.04 0 0 15673

Amikor a gyűlölt Mezőbeállítások rész felugrik mozgasd a mouse-t a Név mezőre (de ne kattints, csak mozgasd fölé).

A Név mező színe megválozik, és a mező jobb oldalán feltűnik egy fekete lefele mutató háromszög.  Kattints a háromszögre és voálá!

Előzmény: Beugró lány (15654)
Delila10 Creative Commons License 2011.08.04 0 0 15672

Elbizonytalanodtam, hogy nem válaszolt senki erre a kérdésre. Lehet, hogy nem tudom, mire gondolsz?

 

Szerintem úgy tudsz válogatni a tartományban megjelenő nevek között, hogy a Név mező legördülőjét legördíted. Ott találod a felsorolást, és válogathatsz, kit jelölsz be, kit nem.

Előzmény: Beugró lány (15670)
Beugró lány Creative Commons License 2011.08.04 0 0 15670

Segítsetek nekem is plííííz, az én kérdésem szerintem ennél lényegesen egyszerűbb.

Az idén már a 12000. sornál jár az adatbázisom, amiből a kimutatásokat készítgetem, (ez lehet másoknak nem olyan sok, csak nekem), de bosszantó ez a kis apróság, hogy nem jövök rá, hol lehetne beállítani.

Előzmény: SQLkerdes (15669)
SQLkerdes Creative Commons License 2011.08.04 0 0 15669

Pedig ha komolyak a szándékaid az excellel, készülj fel erre!

Az excel annyira összetett (bármit is gondolnak a júzerek kezdetben), hogy nem létezik, hogy minden szabályt fejből tudj.  Ha valahol először olvasol is pld. az aposztrófos szabályról, el is felejted rövidesen.

Ellenben amikor élesben beleszaladsz a késbe és több óra kisérletezgetés után rájössz, hogy mi volt a probléma, nos arra emlékezni fogsz egy életen át.

 

Az aposztrófos szabály még csak-csak, mert az dokumentált szabály.

 

Majd akkor is ejts itt egy bejegyzést, ha egyszer megpróbálkozol pld. dinamikus grafikonokkal és az alkalmazott Named Range nem hajlandó működni grafikonos környezetben, mert INDIRECT van benne.  Nos, ezekre a dolgokra nem tér ki az excel manúál, ezt meg kell szívni, gúglizni és egy életre megjegyezni.

Előzmény: pimre (15667)
Delila10 Creative Commons License 2011.08.04 0 0 15668

Sajnos nem tudok ebben segíteni, tapasztalat alapján jöttem rá. :(

Előzmény: pimre (15667)
pimre Creative Commons License 2011.08.04 0 0 15667

Így van, időközben ellenőriztem, hogy nem az ékezetes karakterek, hanem a munkalap névben lévő szóközök miatt kellett az aposztrof. A szóközök törlése után, az ékezetes karakterek ellenére nem tett aposztrofot a program.

 

De Te ezt honnan tudod ilyen szabatosan? A forrás érdekelne. Nem szeretnék minden ilyen megtanulható aprósággal napokat eltölteni, mire próbálgatással rájövök.

Előzmény: Delila10 (15666)
Delila10 Creative Commons License 2011.08.04 0 0 15666

A lapnevet a hivatkozásokban függetlenül attól, hogy magyar, vagy nem, aposztrófok közé kell tenni, ha szóközt tartalmaz, vagy számjegyekből áll.

 

Végül csak összejött!

Előzmény: pimre (15665)
pimre Creative Commons License 2011.08.04 0 0 15665

Kösz, de nem az a problémám, hogy miként fűzzem össze a stringet programból, hanem az, hogy mit fogad el a program.

 

 

Időközben megtaláltam a hibát. A 15647-es hozzászólásban a munkalapomat az egyszerűség kedvéért átneveztem Munka1-re. Ezzel a kritikus sor így nézett ki:

  ActiveChart.SeriesCollection(1).XValues = _

        "=(Munka1!R6C6:R11C6,Munka1!R13C6:R18C6,Munka1!R20C6:R23C6,Munka1!R25C6:R28C6)"

 

És mivel én tényleges ékezetes magyar nyelvű munkalapneveket használok, pl: "Átmérő korreláció 1999", azzal próbálkoztam, hogy a fenti sorban a Munka1 helyére egyszerűen beírtam a tényleges munkalapnevet, amit aztán a program nem fogadott el.

 

És mostanáig nem jutott eszembe, hogy az "új makró rögzítés" funkciót a tényleges munkalapnévvel lefuttassam. Most megtettem. És meglepetésemre kiderült, hogy a magyar nyelvű munkalap nevet aposztrofok közé zárta a program. Így:

ActiveChart.SeriesCollection(1).XValues = "=('Átmérő korreláció 1999'!R6C6:R11C6,'Átmérő korreláció 1999'!R13C6:R18C6,'Átmérő korreláció 1999'!R20C6:R23C6,'Átmérő korreláció 1999'!R25C6:R28C6)"

Ezzel kipróbáltam, és a saját tesztprogramomba bemásolva tökéletesen működik.

 

Tehát az aposztrof hiánya volt eddig a gond. Innetől már gyerekjáték lesz ciklusban összefűzni a szükséges stringet.

 

De hogy ezzel mennyi időm elment, az borzasztó :-)))

Előzmény: Delila10 (15658)
Beugró lány Creative Commons License 2011.08.04 0 0 15664

Megtaláltam mindent amit írtál, de ez nagyon angol és nagyon szaknyelv nekem. 

Annyit tudok róla mondani, ha tudsz így távsegíteni, hogy a Reference ablakban a legfelső 4 elem van kipipálva. Természetesen fogggggggggggalmam sincs, melyik mit jelent.

 

 

 

Előzmény: Gavriel (15655)
Beugró lány Creative Commons License 2011.08.04 0 0 15663

Khm, megtalálam :)

Előzmény: Beugró lány (15661)
Delila10 Creative Commons License 2011.08.04 0 0 15662

Ne a szerkesztőlécre írj, hanem a "balra fent (ahol a mindenkori kiválasztott cella koordinátái vannak) ott adj neki egy tömb címet."

Előzmény: pimre (15660)
Beugró lány Creative Commons License 2011.08.04 0 0 15661

Kszönöm, de sejtettem, hogy annyira alapszintűek az ismereteim, hogy már az első kifejezésnél elakadok :( szégyen, nem szégyen, de kezdjük ott esetleg, hogy mi az és hol találom a Visual Basic-et.

Előzmény: Gavriel (15655)
pimre Creative Commons License 2011.08.04 0 0 15660

Ez nekem nem így működik. Az "oszlopfejre" ha ráklikkelek, az kijelöli az oszopot. Ha ezután a szerkesztőlécre kattintok, és beírok bármit, az az oszlop első sorába íródik.

 

De nem is érdekes ez, hiszen nem kattintgatni akarok, hanem programot írni! Adatokat tömbbe másolni egyébként programból tudok. Azt nem tudom, hogy a tömböt hogyan tudnám használni a regresszióanalízisnél az .xvalues=range("f6:f28") parancs idézőjeles része helyett.

Előzmény: Gavriel (15659)
Delila10 Creative Commons License 2011.08.04 0 0 15658

A 15617-es írásodban az értékeknél szerepel a munkalap neve is. A for-next ilyesmi legyen - ismét próba nélkül:

 

dim szv as string, CV as range

 

for each CV in terület

if CV<>0 then szv=szv & "Munka1!" & CV.address & ","

next

ActiveChart.SeriesCollection(1).XValues = right(szv, len(szv)-1) ' az utolsó vessző levágása

 

Gavriel 15652-es válaszát kipróbáltad már?

 

 

Előzmény: pimre (15656)
pimre Creative Commons License 2011.08.04 0 0 15657

Igen, attól tartok, hogy ilyen irányba kell elmennem (eltekintve attól, hogy az első mondatodat nem értem: "Szerintem csinálj klikkelj rá az oszlop fejre és balra fent adj neki egy tömb címet. "). 

 

A lényeget tekintve viszont ez lesz a kényszerű megoldás. Valahova átmásolgatom az adatokat, kihagyva az érdekteleneket, és onnan már a program tudja majd kezelni az egybefüggő adattartományokat. Csak el akartam kerülni, hogy az adatokat át kelljen másolgatni új helyre, mert borzasztóan nem elegáns megoldás.

Előzmény: Gavriel (15652)
pimre Creative Commons License 2011.08.04 0 0 15656

Ezt már kipróbáltam, nem fogadja el. Egyszerűen a vesszőkkel nem tud mit kezdeni. Pedig igyekeztem hibátlanul lemásolni a makrókészítésnél a program által generált értékadási mintát.

 

Egyszerűen érthetetlen. Nem akarom elhinni, hogy az Excel programozás szintaktikáját csak találgatással lehet megismerni:-(((

Előzmény: Delila10 (15651)
Beugró lány Creative Commons License 2011.08.04 0 0 15654

Szervusztok!

 

Segítséget szeretnék kérni.

 

Évek óta használom az excel 2003 változatát, kimutatásokat, szűréseket egészen jól kezelem. Két hete "fel"cserélték a 2007-es vezióra, s azóta nem tudok egy számomra elég fontos funkciót használni. Megpróbálom érthetően leírni:

 

A régi vezióban a kimutatásoknál le tudtam szűkíteni, hogy az oszlopcimkéknél az összes (pl.) Név közül melyik 10-et kínálja fel nekem kiválasztásra.

Rá kellett kattintanom 2x a Név mezőre, felsorolta az összeset, s amelyiket nem akartam hogy látszódjon a nevek között, az sötétkéken áthúzta, amelyik kellett, az maradt fehéren. Most ha ezt teszem, akkor a Mezőbeállítások ablak ugrik fel, amiben semmi hasonlót nem találtam eddig.

 

TUDOM, elég primitív lehet a leírásom, de egyszerű felhasználó vagyok sok-sok adat kezelésével megbízva.

 

Már elég sok mindent átnéztem, nem adom fel könnyen, s sejtem valami banálisan egyszerű lesz a megoldás, de NEMTALÁLOM!!!!!!!!! :(

 

Köszönöm előre is!

luckeEEEr Creative Commons License 2011.08.04 0 0 15653

Sziasztok!

Akinek van annyi ideje, le tudná írni, hogy részenként hogyan működik a következő offszetes függvény:

 

=OFSZET(A1;SZUM(--(A2:C217=F2)*SOR(A2:C217))-1;0;1;3)

 

Annál a hozzászólásnál található, amire most válaszoltam.

Ma derült ki, hogy majd előadást is kell róla tartanom a kollegáknak...

 

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

Előzmény: SQLkerdes (15633)
Delila10 Creative Commons License 2011.08.03 0 0 15651

Egy for each - next ciklussal egy szöveges változóba gyűjteném a nem nulla értékeket tartalmazó cellák címét vesszővel elválasztva, és ezt a változót adnám meg értékként az X és Y tengelynek. 

 

Érthető ez így? Nem próbáltam ki, csak egy ötlet.

Előzmény: pimre (15650)
pimre Creative Commons License 2011.08.03 0 0 15650

Ezt kipróbáltam. Vesszővel elválasztva még 2 elemet sem fogad el, nemhogy egy adatsort.

 

Az előzőt (#15648) majd kipróbálom. Most el kell mennem. A vicc az, hogy az általam makrófényképezéssel elkészített és leírt kódot sem tudom egyelőre bemásolni a saját programomba. AZ a baj, hogy egyelőre azt sem látom át, hogy mikor ActiveChart.SeriesCollection.NewSeries (azaz beszúrt új adatsor, ha jól értem), és mikor ctiveChart.SeriesCollection(1) után jön az .XValues. 

 

Csak sehol egy leírás, ami ezeket elmagyarázná. Pedig szívesen rászánnám az időt.

Előzmény: SQLkerdes (15649)
SQLkerdes Creative Commons License 2011.08.03 0 0 15649

Meg ezt:

Sub valamimas()

Range("a1, a3").Select
End Sub

 

 

Előzmény: pimre (15647)
SQLkerdes Creative Commons License 2011.08.03 0 0 15648

Gondolatébresztőnek nézd meg ezt:

 

Sub valami()

Dim MyRange As Range
Set MyRange = Union(Range("sheet1!A1"), Range("sheet1!A3"))

MyRange.Select

End Sub

Előzmény: pimre (15647)
pimre Creative Commons License 2011.08.03 0 0 15647

Viszont makrófelvétellel indítva megoldható a hibás sorok kihagyása (Ctrl billentyű nyomva tartásával adva meg a tartományhatárokat). De az eredmény így néz ki:

 

Sub próba()

 

'

    Charts.Add

    ActiveChart.ChartType = xlXYScatter

    ActiveChart.SetSourceData Source:=Sheets("Munka1").Range("L6") ’ Ez mindegy, a táblázat egy üres pontjáról indítottam a diagram beszúrást

 

    ActiveChart.SeriesCollection.NewSeries

    ActiveChart.SeriesCollection(1).XValues = _

        "=(Munka1!R6C6:R11C6,Munka1!R13C6:R18C6,Munka1!R20C6:R23C6,Munka1!R25C6:R28C6)"

    ActiveChart.SeriesCollection(1).Values = _

        "=(Munka1!R6C7:R11C7,Munka1!R13C7:R18C7,Munka1!R20C7:R23C7,Munka1!R25C7:R28C7)"

    ActiveChart.Location Where:=xlLocationAsObject, Name:="Munka1"

    With ActiveChart

        .HasTitle = False

        .Axes(xlCategory, xlPrimary).HasTitle = False

        .Axes(xlValue, xlPrimary).HasTitle = False

    End With

End Sub

 

És a 2 vastagon szedett sort nem vagyok képes program által kezelhető formába hozni.

 

Segítsetek!

 

Előzmény: pimre (15646)
pimre Creative Commons License 2011.08.03 0 0 15646

Sziasztok!

 

Továbbra is a programból való chart rajzolással vagyok elakadva. A feladat zömét már megoldottam, be tudom állítani a grafikon valamennyi paraméterét programból, csak a lényegét nem. Az általam kívánt tartományt nem tudom úgy megadni, ahogy szeretném. Alaphelyzetben persze működik a következő képlet:

 

   With ActiveChart.SeriesCollection.NewSeries

      .XValues = Range("F6:f28")

      .Values = Range("G6:G28")  

   End With

 

A feladat a következő.  Egy nagy táblázatom van (több ezer sorral), melyben az F oszlop az X, a G oszlop az Y tengely. Egy másik oszlopbeli azonosítószám szerint rendezve vannak az adatok.  Az azonos azonosítószámú adatokkal kellene regresszióanalízist végezni. A program meg tudja vizsgálni, hogy melyik az azonos azonosítójú adatok kezdő és befejező sora.  A konkrét példában a 6-28. sorok. Talán működne is a dolog, ha folyamatosak lennének az adataim a 6. és a 28. sor között. De az a gond, hogy regresszióanalízist végzek, és az adatok közt több értékelhetetlen van (0 értékekkel, amit ki kellene hagyni). Ha kézzel állítom be a grafikonkészítést, akkor ki tudom válogatni a megfelelő sorokat, a programban ezt nem tudom megtenni. Arra gondoltam, hogy kigyűjtöm őket tömbbe (kihagyva a hibás adatokat), de nem találok megoldást arra, hogy a range("....") helyére meg tudok-e adni egy tömbcímet. Ezen belül annak kezdő és befejező elemével.

 

A másik megoldás az lenne, ha a Range magadás működne úgy, hogy range("G6:G11,G13:G18,G20:G23,G25:G28"), de ezt nem engedi a program.

 

(Elvileg könnyű lenne a megoldás, ha rendezném az adataimat az azonosítószámon belül az X, vagy az Y oszlop szerint csökken/növekvő sorrendbe, de sajnos mindkét oszlopban előfordulhatnak 0 értékű, tehát kizárandó adatok)

Törölt nick Creative Commons License 2011.08.03 0 0 15645

Egyszerű.

Jobb egérgombbal kattints a képen. A felugró menüben kiválasztod a makró hozzárendelését. Ott katt az "Újat" gombra. Erre kapsz felnyílik az excel fejlesztőkörnyezete valami ilyesmi generált kóddal:

 

Sub Kép1_Kattintás()

End Sub

 

A két sor közé beírod ezt, ahogy neked kell:

 

 

Range("Q6:R8").ClearContents

 

 

A range nyilván a te tartományod lesz

Előzmény: kovacsmiklos1985 (15644)
kovacsmiklos1985 Creative Commons License 2011.08.02 0 0 15644

Sziasztok! A segítségeteket kérném, hogy hogyan tudnám azt megoldani excelben, hogyha mondjuk egy képi elemre kattintok, akkor egy bizonyos cellatartomány értéke törlésre kerüljön. Magyarul szeretném ha egy gombnyomásra kitörlődnének bizonyos cellák értékei. Segítségeteket előre is köszönöm!

pimre Creative Commons License 2011.08.02 0 0 15643

Köszönöm, ez a Peltier féle honlap nagyon jó, már korábban is néztem. Sok érdekes ötletet látok benne, de egyetlen dolog hiányzik nekem, a szisztematikus tanulható, kereshető információgyűjtemény.  Egyébként talán túl konkrét voltam, amikor olyan irodalmat kerestem, ami a chartokkal foglalkozik. Azt hiszem, olyan kellene, ami általában, és nagyon részletesen foglalkozik az Excel VBA programozásával.  Valami kézikönyv szerű leírás kellene. És ha esetleg nincs az interneten, szívesen vennék javaslatot klasszikus kézikönyvre. Én most az alapokat Kovalcsik Géza 1999-es könyvéből tanulom, de ez csak nagyon az alapismereteket adja. Nem is nagyon adhat többet 300 oldalon. 

 

Szóval, ha valaki tud nagyon részletes kézikönyvet, azért hálás lennék.

 

Előzmény: SQLkerdes (15618)
wawabagus Creative Commons License 2011.08.01 0 0 15642

Gavirel és Jimmy the Hand!

Nagyon Köszönöm a weeknumos tippet,

Bocs, hogy csak most válaszolok, de most jöttem haza szabiból :-).

Köszi!

Előzmény: Gavriel (15531)
Delila10 Creative Commons License 2011.08.01 0 0 15641

Ezt a választ eddig nem vettem észre, pedig nagyon jó.

Előzmény: SQLkerdes (15633)
Delila10 Creative Commons License 2011.08.01 0 0 15640

Felveszel 3 segédcellát, ezek nálam a következők:

J1 -> =HA(NEM(HIBÁS(FKERES($F$2;A:A;1;0)));HOL.VAN($F$2;A:A;0);"")

K1 -> =HA(NEM(HIBÁS(FKERES($F$2;B:B;1;0)));HOL.VAN($F$2;B:B;0);"")

L1 -> =HA(NEM(HIBÁS(FKERES($F$2;C:C;1;0)));HOL.VAN($F$2;C:C;0);"")

 

Azért $F$2, mert ide írtam be a keresendő adatot.

 

A 3 titkos helyzetű cella:

Cella1 -> =HA(DARAB($J$1:$L$1)>0;INDEX($A:$C;MIN($J$1:$L$1);1);"Nincs a kritériumnak megfelelő érték")

Cella2 -> =HA(DARAB($J$1:$L$1)>0;INDEX($A:$C;MIN($J$1:$L$1);2);"Nincs a kritériumnak megfelelő érték")

Cella3 -> =HA(DARAB($J$1:$L$1)>0;INDEX($A:$C;MIN($J$1:$L$1);3);"Nincs a kritériumnak megfelelő érték")

 

Ha nem feltétlenül szükséges – és ebben az esetben nem az – ne vonj össze cellákat. Beírod a bal oldaliba a szöveget, kijelölöd harmad magával, és a cellaformátum Igazítás fülén a vízszintes elrendezésnél "A kijelölés közepére" opciót választod. Ha ehhez hozzászoksz, kevesebb nyűgöd lesz később.

 

Előzmény: luckeEEEr (15637)
luckeEEEr Creative Commons License 2011.08.01 0 0 15639

Nem nevek vannak. Akkor ez a legegyszerűbb megoldás úgy látom. Sikerült megcsinálni minden variációt amit leírtatok, el is mentettem őket. Köszönöm mindenkinek a segítséget!

Előzmény: SQLkerdes (15638)
SQLkerdes Creative Commons License 2011.08.01 0 0 15638

Akkor az én megoldásom műxik.

Bár ha tényleg nevek vannak az egyik oszlopban, akkor azért nem vehető abszolút biztosnak, hgoy nem lesz duplikáció...

Előzmény: luckeEEEr (15637)
luckeEEEr Creative Commons License 2011.08.01 0 0 15637

Legjobban egy példával tudom leírni. Az első oszlopban sorszámok vannak, 1- mondjuk 200-ig. Második oszlopban nevek, harmadik oszlopban pedig születési dátumok. Azonos oszlopon belül nincs 2 egyforma adat. Egy kereső cella van, rákereshetek a három adat közül bármelyikre. A célom az, hogy ha rákeresek pl a Kiss Ádám névre, kiírja ezt egy általam meghatározott külön cellába, előtte levő cellába a sorszámot, mögé pedig a születési dátumot. A három cella fölötti cellákat egyesítem, beleírom hogy TALÁLAT. A kereső cella felé pedig értelem szerűen KERESÉS. Tehát csak a kereső és a találati részt akarom elhatárolni magától a táblázattól, hogy ez kerüljön a figyelem középpontjába. Ugyanis nem én fogok vele a későbbiekben dolgozni. Remélem így már érthetőbb volt(?).

SQLkerdes Creative Commons License 2011.08.01 0 0 15636

Én is követelem e félreértések tisztázását!

A kérdező azt írta:  ne csak azt az egy adatot írja ki a találathoz ami egyezik, hanem a mellette szereplő másik 2 cella adatait is.

VAgyis ha a C8-ban van találat, akkor a C8, D8 és E8 cellák tartalmára vagy kiváncsi?  Vagy az A8, B8, C8 cellákéra.  Vagy a mellette balra szereplő másik két cella?

Előzmény: Delila10 (15635)
Delila10 Creative Commons License 2011.08.01 0 0 15635

Akkor tisztázzuk, mi is pontosan a feladat.

Az első kérdésnél ezt írtad: "Egyetlen cellát használok a keresésre, és az A, B, C oszlopokban keresek. Azt szeretném elérni, hogy bármely oszlopban egyezést talál akármelyik cella tartalmával, ne csak azt az egy adatot írja ki a találathoz ami egyezik, hanem a mellette szereplő másik 2 cella adatait is."

 

Tehát különféle adatok vannak az A, B és C oszlopokban, amik közül bármelyikben előfordulhat a kereső cellában lévő adat. Azt az azonos sorban lévő hármat szeretnéd kiíratni az általad meghatározott 3 cellába (melyikbe?), amik közül valamelyik azonos a kereső cellában (melyikben?) lévővel – ha jól értem.

Az egyes oszlopokban többször is előfordulhat a kereső cella értéke? Ha igen, jó-e az első fellelhető sor, amelyiknek bármelyik oszlopában azonos az adat kereső celláéval?

Előzmény: luckeEEEr (15632)
SQLkerdes Creative Commons License 2011.08.01 0 0 15634

Mer UDF :-)

Előzmény: Delila10 (15631)
SQLkerdes Creative Commons License 2011.08.01 0 0 15633

Most segítsetek már, hogy jól értem-e.

Szóval a kollegának van egy 3 oszlopból álló Range-e (mondjuk A1-tól C10-ig).

Van egy száma, amit beír a D1-be.

A feladat, hogy a függvény megkeresse az A1:C10 tartományban a D1-be beírt számot és kiírja annak a sornak a tartalmát, amelyik sor tartalmazza a számot.  Szóval ha a D1-be rögzített szám a B8-ban van, akkor írja ki az A8-at, a B8-at és a C8-at is.

A D1-be rögzített szám csak egy találatot ad, ugye?

 

Mert akkor a teendő a következő:

 

1.) E1-től G1-ig terjedő tartományt kijelölni

2.)  F2 billenytűt leütni

3.) Beírni a szerkesztőlécbe, hogy:  =OFFSET(A1,SUM(--(A1:C10=D1)*ROW(A1:C10))-1,0,1,3)  (ez nyilvánvalóan angol változat, könnyen magyarítható!)  (Vigyázat, lehet, hogy a magyar verzióban nem vesszőket kell a függvényeken belül használni.

4.)  A rögzítést NEM Enterrel, hanem Ctrl+Shift+Enter-rel lezárni (ha jól csináltad akkor a képlet kapcsos zárójelek közé kerül).

5.) D1-be beírni a keresett értéket, a D1 változására az E1:G1 tartomány automatikusan reagál.

 

Ha a D1-be rögzített érték több találatot is generál akkor szóljatok és egy INDEX-szel szétszedjük sorokra a dolgot.

Előzmény: luckeEEEr (15632)
luckeEEEr Creative Commons License 2011.08.01 0 0 15632

Köszi az újabb választ! Azt hogy oldanád meg, hogy az általam meghatározott 3 külön cellába írja ki a találatot? Mert ebben az esetben is a 3 oszlopban a keresett adattól függően jelenik meg a 3 találat.

Előzmény: Delila10 (15629)
Delila10 Creative Commons License 2011.08.01 0 0 15631

A határidő függvényt nem ismerem. :)

Előzmény: SQLkerdes (15630)
SQLkerdes Creative Commons License 2011.08.01 0 0 15630

Én egy INDEX - MATCH kombón gondolkoztam, de közbejött egy határidő :-(

Előzmény: Delila10 (15629)
Delila10 Creative Commons License 2011.08.01 0 0 15629

Közel sem biztos, hogy nincs egyszerűbb megoldás az enyémnél. Biztos vagyok benne, hogy hamarosan jelentkezik valaki egy ofszetes megoldással. 

 

luckeEER! Itt egy másik, ahol nem kell a D1:F1 képletein változtatni, csak a D1 képletét jobbra másolni az F oszlopig, majd le.

D1-be:

=HA(VAGY(A1=$I$1;B1=$I$1;C1=$I$1);INDEX($A:$C;SOR();OSZLOP()-3);"")

 

 

 

Előzmény: _Nyuszi (15628)
_Nyuszi Creative Commons License 2011.08.01 0 0 15628

Éreztem én, hogy nem az enyém a legegyszerűbb válasz. ;)

Delila, én is köszönöm!

Előzmény: luckeEEEr (15627)
luckeEEEr Creative Commons License 2011.08.01 0 0 15627

Köszönöm! És én még attól féltem, hogy nem kapok választ:) Jó ez a topik!

Előzmény: Delila10 (15626)
Delila10 Creative Commons License 2011.08.01 0 0 15626

Egy másik megoldás a feladatodhoz:

 

D1-be =HA(VAGY($I$1=A1;$I$1=B1;$I$1=C1);INDIREKT("A"&SOR());"")

 

ahol a keresendő értéket az I1 cella tartalmazza. A képletet jobbra másolod az E és F oszlopokba, az "A"-t átírod "B"-re, illetve "C"-re. A három képletet lemásolod, ameddig értékek vannak az A:C oszlopokban.

 

Előzmény: luckeEEEr (15617)
luckeEEEr Creative Commons License 2011.08.01 0 0 15625

Igazad van, jobb félni mint megijedni; valamint sikertelen próbálkozásaim következtében a teljesség igénye nélkül bezárom az excelt az autocad-del együtt és húzok ebédelni! Nemsoká visszatérek!

Előzmény: _Nyuszi (15624)
_Nyuszi Creative Commons License 2011.08.01 0 0 15624

Egyszer kellett volna AutoLISP-ben csinálni valami ilyesmit, de inkább passzoltam. Külön-külön használom őket: az egyik Autodesk, a másik Microsoft, inkább nem engedem össze őket... Sohasem lehessen tudni. Félős vagyok? Lehet... Nomen est omen.

Előzmény: luckeEEEr (15623)
luckeEEEr Creative Commons License 2011.08.01 0 0 15623

Főleg, hogy nem is dolgozok itt csak szakmai gyakorlaton vagyok, ami a sulihoz kell. A bitgondnok pedig derüsebb napjain is morcos személyiség :D Szóval nem kontárkodok inkább a makrókkal. Jól van ez így ahogy van.

Most, hogy megvan ez a feladat is, megint elfogyott a munkám. De majd pár nap múlva szokás szerint egyszerre minden a nyakamba zúdul.

Hogy legyen egy kis ontopic is, kérdezek még egyet szintén esztétikai jelleggel. Mennyire értesz az autoCAD és excel táblázat közötti adatkapcsolatokhoz?

Előzmény: _Nyuszi (15622)
_Nyuszi Creative Commons License 2011.08.01 0 0 15622

Jut eszembe, van megoldás arra is, hogy írsz egy makrót, és amit a ctrl+F talál, azt kigyűjti (meg a sor többi elemét is, persze) egy külön cellatartományba. Ehhez viszont engedélyezni kell a makrókat, ami vállalati gépek esetén néha világnézeti összetűzést okoz a bitgondnokkal... :-(

Előzmény: luckeEEEr (15620)
_Nyuszi Creative Commons License 2011.08.01 0 0 15621

OFF

Igazából pár lépést ki szoktam próbálni (pl. nálad a hibakódos részt, HA nélkül), de nem ütök össze egy konyhakész verziót a topikoló kedvéért, szóval csak részben írom fejből. :-)

Részben vág csak ide, amit a munkahelyen csinálok: kell hozzá pc, néha Excel is, de nem ilyen mértékben. Ez csak kikapcsolódás, hobbi. Jó dolog ez a program, érdemes érteni hozzá, azt hiszem.

Előzmény: luckeEEEr (15620)
luckeEEEr Creative Commons License 2011.08.01 0 0 15620

Trimmel kiszedtem a felesleges szóközöket, úgy sem néz ki rosszul. Egyébként ha nem várták volna el ezt tőlem, annyit mondtam volna hogy ott a táblázat, ctrl+F és írják be amit keresnek. De úgy persze nem jó... Köszönöm még egyszer a segítséget! Mivel foglalkozol, hogy ilyen szépen megy fejből is az excel?

Előzmény: _Nyuszi (15619)
_Nyuszi Creative Commons License 2011.08.01 0 0 15619

Ne fűzd össze, és akkor külön cellákba írja. ;-)

Viccet félretéve: én nem " "-zel, hanem ""-zel oldanám meg (még mindig HA fgv., és akkor mondhatod azt, hogy a kilencből az a három kell, amelyiknél egyik trió sem üres (DARABTELI, DARABÜRES stb.). Vagy valami ilyesmi.

Előzmény: luckeEEEr (15617)
SQLkerdes Creative Commons License 2011.08.01 0 0 15618

Számos ilyen hely van, csak ezek közül kevés ami egy helyen lefedi a Chart-ok minden dimenzióját.

Én általában egy Peltier nevű csóka dolgaihoz nyúlok először ha grafikonos problémám van, lehet neked is segítség lesz.

Itt van pld egy Chart mozgatás és átméretezés cikke:  http://peltiertech.com/Excel/ChartsHowTo/ResizeAndMoveAChart.html

Előzmény: pimre (15616)
luckeEEEr Creative Commons License 2011.08.01 0 0 15617

A struktúrád tökéletesen működik, viszont lenne még egy esztétikai problémám a megoldás végével kapcsolatban. Az a jelenlegi helyzet, hogy 9 cellában jelennek meg az adatok attól függően, hogy melyik oszlopban levő adatra keresnek rá. A hibák ki vannak szedve, helyükön egy "space" van. Összefűzve egymás mögé rakja be az adatokat, nekem viszont arra lenne szükségem, hogy 3 külön cellába írja ki a 9 adatból azokat, amelyek nem hibásak. Erre is van valami megoldás? Előre is köszönöm a segítséget!

Előzmény: _Nyuszi (15608)
pimre Creative Commons License 2011.07.31 0 0 15616

Sziasztok!

 

Található az interneten olyan leírás, amely részletesen taglalja, hogyan lehet programból diagramot rajzolni?

 

Próbáltam makró létrehozással majd a kód elemzésével, de nem az igazi. Nem kapok választ többek közt olyan kérdésekre, hogy miként lehetne tartomány kijelölés helyett tömbökből megadni a tengelyeket, meg arra sem, hogy hogyan tudnám a kész diagram helyét fixen megadni. És talán még egy pár "apróság", ami egyelőre eszembe sem jut, amig nem kezdem el a programot írni.

mafikám Creative Commons License 2011.07.31 0 0 15615

Szuperjóó, köszi szépen!!

Előzmény: Jimmy the Hand (15588)
tt65 Creative Commons License 2011.07.31 0 0 15614

bossatntó, mert sehol nem írják ezt a korlátot.

ill. nem találok ellenkező példát.

Előzmény: _Nyuszi (15613)
_Nyuszi Creative Commons License 2011.07.31 0 0 15613

Nekem is. :)

Ezért kerestem valami más, áthidaló megoldást, amíg nem jön nálam okosabb olvtárs.

Előzmény: tt65 (15612)
tt65 Creative Commons License 2011.07.31 0 0 15612

igen, de nekem a HOL.VAN hibát dob, ha nem sorban vagy oszlopban keres!

Előzmény: _Nyuszi (15611)
_Nyuszi Creative Commons License 2011.07.31 0 0 15611

Mire gondolsz? HOL.VAN?

Előzmény: tt65 (15610)
tt65 Creative Commons License 2011.07.31 0 0 15610

Nincs olyan fv. ami nem csak sorban vagy oszlopban tud keresni, hanem tömbben is?

Előzmény: _Nyuszi (15608)
luckeEEEr Creative Commons License 2011.07.31 0 0 15609

Nagyon köszönöm a segítséget! Nem is olyan bonyolult dolog ez, csak első olvasásra volt az :)

_Nyuszi Creative Commons License 2011.07.31 0 0 15608

A három oszlophoz három FKERES-t használnék úgy, hogy egy negyedik, D oszlopba a sor sorszámát venném fel. Mind a három FKERES a saját oszlopában keres, és a D oszlopban lévő sorszámot adja vissza.

Ekkor lesz egy értékes adatod és két hibaüzeneted attól függő oszlopban, hogy melyikben van a keresett adat.

Mindegyik oszlophoz két INDEX függvénnyel megkeresteted a hiányzó két értéket, a következő módon: az A oszlophoz tartozó két INDEX függvény a B és a C oszlopban lévő értékkel tér vissza, a B oszlopé az A és a C oszlopban stb. Az oszlopszám egyértelmű, a sor száma meg az FKERES értéke.

Ezek után HA függvénnyel kiszeded a hibaüzeneteket, valahogy így (fejből írom), A13-as, B13-as, C13-as cella: HA(HIBA.TÍPUS(A10)=7;....;....).

Majd összefűzöd a válaszokat egy tetszőleges cellába, mondjuk pontosvesszővel tagolva: ÖSSZEFŰZ(A13;"; ";B13;"; ";C13".").

Ez magyar 2003-ss Excelre vonatkozik.

 

Van elegánsabb megoldás is, de ez egyszerű(?). :)

Előzmény: luckeEEEr (15607)
luckeEEEr Creative Commons License 2011.07.31 0 0 15607

Sziasztok!

A következő dolgot szeretném excelben megoldani.

Van 3 oszlopnyi különböző kategóriájú adatom: A, B, C. Egyetlen cellát használok a keresésre, és az A, B, C oszlopokban keresek. Azt szeretném elérni, hogy bármely oszlopban egyezést talál akármelyik cella tartalmával, ne csak azt az egy adatot írja ki a találathoz ami egyezik, hanem a mellette szereplő másik 2 cella adatait is. Úgy tudtam eddig megoldani, hogy 3 kereső cella van, de most az a kérdésem, hogy 1-el hogy lehet?

Gulyi921 Creative Commons License 2011.07.29 0 0 15606

Közben SQL módszere is életre kelt, természetesen átsiklottam SUM/SZUM mondatodon... :)

Köszönöm mégegyszer!

tt65 Creative Commons License 2011.07.29 0 0 15605

SQL kreatív műxik, azt használhatod

Előzmény: Gulyi921 (15603)
tt65 Creative Commons License 2011.07.29 0 0 15604

sorry, egy oszloppal elcsúsztam jobbra, D helyett C, E helyett C.

kollega unalmas megoldása nem a te barátod, neked db. kell nem szumma.

Előzmény: tt65 (15602)
Gulyi921 Creative Commons License 2011.07.29 0 0 15603

Köszönöm!

tt65 módszere tökéletesen működik ez esetben.

SQL sajnos a tiéd nem működött valamiért. :(

tt65 Creative Commons License 2011.07.29 0 0 15602

valami ilyesmi: =DARABHATÖBB(D:D;"=A";E:E;"=2")

Előzmény: Gulyi921 (15600)
SQLkerdes Creative Commons License 2011.07.29 0 0 15601

Hagyományos (értsd: unalmas) módon SUMIFS (excel 2010 és felette).

Ha kreatív módon akarod megoldani vagy régi exceled van akkor:

(mondjuk az A1-be írde be, hogy:)

=SUM(--(C1:C7="A")*(D1:D7=2))

A képletet NE Enterrel, hanem CTRL+Shift+Enter-rel zárd le. (Ha jól csináltad akkor a szerkesztőlécben a képlet kapcsos zárójelek közé kerül).

Ha magyar exceled van akkor SUM helyett SZUM.

Előzmény: Gulyi921 (15600)
Gulyi921 Creative Commons License 2011.07.29 0 0 15600

Sziasztok!

A következő problémára szeretnék megoldást találni:
Lebutítva egy olyan függvényre lenne szükségem, mely megmondja, hogy hány darab olyan találat van, mely jelen esetben a "C" oszlopban A és ezzel együtt a "D" oszlopban pedig 2. (Ezt sárgával kiemeltem)

 




u.i.: Tudom, hogy szűréssel is meg lehetne oldani, de mindenképp függvénnyel szeretném!

Előre is köszönöm a válaszokat!

_Nyuszi Creative Commons License 2011.07.28 0 0 15599

Erre próbáltam utalni, de azt hiszem, túl bátortalanul.

:-(

Előzmény: Jimmy the Hand (15589)
tt65 Creative Commons License 2011.07.28 0 0 15598

Delila tippje jó, de az igazi szakértő Hamupipőke, őt kérdezd meg! :-)

Előzmény: mimi_bacsi (15597)
mimi_bacsi Creative Commons License 2011.07.28 0 0 15597

Ilyen tagolásúak (is) vannak: 

 

Kovács Béláné Özv.

Kiss Kft

ifj. Huszár Károly

Nyilvános Állomások Sibyll Kisszövetkezet

Idősek Napközi Otthona

 

Sajnos a példa miatt nem lenne jó a 2 tagú nevek keresése...:-(

 

 

Előzmény: Delila10 (15596)
Delila10 Creative Commons License 2011.07.28 0 0 15596

Próbáld meg a Szövegből oszlopok funkcióval szétszedni az adatokat. Valamennyit segíthet, hogy a nevek áltzalában 2 tagúak, a cégnevek több tagból állnak.

Előzmény: mimi_bacsi (15595)
mimi_bacsi Creative Commons License 2011.07.28 0 0 15595

Sajnos nem tartalmazza a cégformákat legtöbb esetben...:-(

Arra gondoltam, hogy a személynevek (pl.: Károly, István, Irén...) irányában indulnék el.. (Ha a cella tartalmazza ezeket a személyneveket, akkor marad, egyébként pedig másolja át (hogy átnézhessem, ellenőrizhessem) egy másik munkalapra azokat, amelyekben nincsenek személynevek...(Bár találtam olyat, ami így nézett ki, pl.: Kovács Péter Étterem)

 

De ez talán már így makróval lehet megoldani...?

Előzmény: SQLkerdes (15594)
SQLkerdes Creative Commons License 2011.07.28 0 0 15594

Cellánként megnézném, hogy a cella tartalmazza-e az ismert cégformák rövid v. hosszú változatát (kft, rt., zrt, nyrt, ...).  Ennek a vizságlatnak az eredménye (TRUE/FALSE) lenne mondjuk a B oszlopban.  Utána már csak rendezés és törlés kérdése a dolog.

Előzmény: mimi_bacsi (15593)
mimi_bacsi Creative Commons License 2011.07.28 0 0 15593

Van egy táblázatom, ami több, mint 40 000 sorból áll. A oszlopban vannak személynevek (pl.: A1 cellában Kis István) és cégnevek (pl.: A2 cellában Kis Kft, Étterem) és ezek ömlesztve.

Van-e arra viszonylag egyszerű megoldás, hogy csak a személynevek (Kis István) maradjanak a táblázatban?

zotilla Creative Commons License 2011.07.28 0 0 15592

Szia ! Köszi a segítséget. Ez 5 pontos volt! :)

Előzmény: Sznida (15576)
zotilla Creative Commons License 2011.07.28 0 0 15591

Ez így nem jó. Azt Én tudom, hogy a B oszlopban lévő számok léteznek az A oszlopban is. Én azt szeretném tudni, hogy hol vannak, mert sok adatról van szó.

Előzmény: tt65 (15577)
Törölt nick Creative Commons License 2011.07.28 0 0 15590

adatérvényesítés kell neked szerintem, nézz utána.

Előzmény: fazonka (15580)
Jimmy the Hand Creative Commons License 2011.07.28 0 0 15589

Az eleve egy rossz konstrukció, amikor a felhasználó tervezetten képleteket ír felül, és most mindegy, hogy éppen helyes vagy hibás értékekkel, mert a képlet így mindenképpen megsemmisül, és nem tudhatod, mikor lesz rá megint szükség. Inkább kellene egy segédoszlop a hiányzó adatok bevitelére, és a zárolt oszlopban képlettel kiválasztani a megfelelő értéket az I oszlopból vagy az új segédoszlopból. A segédoszlopban meg feltételes formázással lehetne kiemelni azokat a sorokat, ahová adatot kell bevinni.

Előzmény: fazonka (15580)
Jimmy the Hand Creative Commons License 2011.07.28 0 0 15588

Ha a sorszám után van pont, akkor:

 

A2= =CSERE(B2;SZÖVEG.KERES(".";B2);1000;"")

C2= TRIM(CSERE(B2;1;SZÖVEG.KERES(".";B2);""))

Előzmény: mafikám (15587)
mafikám Creative Commons License 2011.07.28 0 0 15587

Sziasztok! A segítségetekre lenne szükségem.

 

Tudnátok egy olyan képletet / függvényt mondani, amely a B oszlopban található számokat átteszi az A oszlopba, a szöveget pedig a C oszlopba?

Pl.. B2 = 123.  Épületek, épületrészek, tulajdoni hányadok épületekben

A2= 123
C2 = Épületek, épületrészek, tulajdoni hányadok épületekben

 

Köszi szépen!!

pimre Creative Commons License 2011.07.27 0 0 15586

Eljött az ideje, hogy végleg lezárjam az eddigi offolásomat, és beszámoljak egy részeredményről. Miután két napja sikertelenül kutatok a megfelelő képlet után, hogy hogy programból váltsam ki az Excel regresszióanalízis eljárásának nehézkes menetét, kiderült, hogy az Excel ezt közvetlenül tartalmazza (rengeteg más hasonlóval együtt). Ez az FDist függvény, ami közvetlenül visszaadja a nekem szükséges p-értéket. A meghívása több másikhoz hasonlóan (például faktoriális számítás) egy kissé összetettebb formulával történik: Application.WorksheetFunction.FDist(férték, számláló szabadságfok, nevező szabadságfok) , viszont kitűnően működik.

Előzmény: pimre (15573)
tt65 Creative Commons License 2011.07.27 0 0 15585

igen, én is olyankor szoktam használni 1-el! :-)

Előzmény: Törölt nick (15583)
_Nyuszi Creative Commons License 2011.07.27 0 0 15584

Adj a felhasználónak egy plusz sort vagy oszlopot, ezt meg zárold vagy védd le vagy amit kell. Így nem jó?

Előzmény: fazonka (15580)
Törölt nick Creative Commons License 2011.07.27 0 0 15583

Igen. "alapesetben" az alapeset pedig az, ha az utolsó argumentumot elhagyod - ami így alapból 1-es (IGAZ) lesz.

Ritkán kell használom 1-essel, pl. ha intervallumot kell keresni, mondjuk egy korosításhoz.

Előzmény: tt65 (15582)
tt65 Creative Commons License 2011.07.27 0 0 15582

valami alapja, csak van:

 

 

de, van amikor tényleg úgy működik, ahogy írod.

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

Általános tévhit.

Miért kéne sorbarendezettnek lennie?

 

 

Előzmény: tt65 (15579)
fazonka Creative Commons License 2011.07.27 0 0 15580

Sziasztok!

Kellene egy kis segítség.

Adott egy oszlop,amiben a következő feltétel van:=HA(K2="M";I2; " ")

a feladat az lenne,hogy ha teljesűlt a feltétel és érték kerül a cellába azt a cellát zárolni kellene,de az üres vagy a feltételnek nem megfelelő cellába lehesen írni.

Eddig rendben is van,a baj csak akkor kezdődik ha elrontotta a beírt számot és "DEL"-el törli.

Ekkor a képlet is oda van..Megköszönném ha valaki kisegítene.

Fazon

tt65 Creative Commons License 2011.07.27 0 0 15579

igen, de az fkeresnél sorrendbe rendezettnek kell lennie, különben bukik a mutatvány

 

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

ezt lehet így is:

HA(HIBÁS(FKERES....);"van";"nincs")

Előzmény: zotilla (15574)
tt65 Creative Commons License 2011.07.27 0 0 15577

vagy C oszlopba : =HA(NINCS(HOL.VAN(B2;A:A;0));"nincs";"van")

 

Előzmény: zotilla (15574)
Sznida Creative Commons License 2011.07.27 0 0 15576

Ja bocsi, elnéztem az oszlopokat... :(

Szóval:

 

- A A1-es cellára katt.

- fomátum, feltételes formázás

- Ott kiválasztanám a legördülőben, hogy képlet értéke

- mellé beírnám ezt a képletet: =FKERES(A1;B:B;1;HAMIS)

- formátum gombra kattintva megadnám azt a formátumot amit láni akarok, én a hátteret szoktam ilyenkor változtatni.

- OK

 

Aztán formátum másolás, a A oszlop értékeire.

 

Bocs.

 

Üdv: Sznido

Előzmény: Sznida (15575)
Sznida Creative Commons License 2011.07.27 0 0 15575

Szia,

 

2003-as excelben én ezt a kövtkezőképpen csinálnám:

 

- A B1-es cellára katt.

- formátum, feltételes formázás

- Ott kiválasztanám a legördülőben, hogy képlet értéke

- mellé beírnám ezt a képletet: =FKERES(B1;A:A;1;HAMIS)

- formátum gombra kattintva megadnám azt a formátumot amit láni akarok, én a hátteret szoktam ilyenkor változtatni.

- OK

 

Aztán formátum másolás, a B oszlop értékeire.

 

Üdv: Sznido

Előzmény: zotilla (15574)
zotilla Creative Commons License 2011.07.27 0 0 15574

Sziasztok!

Kérlek segítsetek, hogyan tudonám a következő feladatott megoldani. Az A oszlopban van mondjuk egymás alatt 25 cellában adat(szám) a B oszlopban van egymás alatt 15 cellában adat(szám). A feladat az lenne, hogy keresse meg az A oszlopban lévő számok között azt amelyik a B oszlopban is megtalálható és ezeket vagy jelölje meg(vagy jelölje össze) vagy a C oszlop azonos sorában adjon vissza egy értéket egyezzőség esetén.

Előre is köszönök minden segítséget!

pimre Creative Commons License 2011.07.27 0 0 15573

Kösz, az valóban lehet, hogy nem iterációról, hanem integrál kiszámításról van szó. Ehhez sajnos nem értek.

 

De az továbbra is fennáll, hogy nem kerekítési pontosságbeli különbségekről van szó, hanem eljárásbeliről. Elképzelhető, hogy régebben az általam leírt algoritmust használták, és azóta áttértek másikra.

 

Időközben több más adatsoron is lefutattam a kétféle értékelést. Az eredmények viszonylag közeliek, egyetlen esetet kivéve, ami viszont nagyságrendi (ellenőriztem, nem elütésről, vagy adathibáról van szó). És ez utóbbi különösen zavaró.

 

saját képletem  Excel eredmény

p=0.3051              0.3044

P=0.4422              0.4366

p=0.1205              0.1239

p=0.0792            0.9697

p=0.0936              0.0970

 

Egyébként az összes többi adat ugyanaz. Tehát az általam számított érték és az Excel beépített értékelő program valamennyi tizedesre ugyanazt az eredményt adja az adatok átlaga, a regressziós egyenes paraméterei, az r és r², a t érték és az F érték esetében. Csak ez a fránya p érték más.

 

Off: valaki persze mondhatná, hogy használjam a beépített Excel függvényeket, de sajnos több munkalapon kell 100-100 adatpárra elvégeznem a munkát, amit nem szeretnék kézzel egyenként megtenni. Ezért írok programot.

 

És én azt kérem, hogy megköszönve az eddigi tippeket, hagyjuk egy időre a témát, mert ez már nem Excel programozási kérdés, hanem matematikai statisztikai. Megpróbálom ehhez értőkkel felvenni a kapcsolatot, és itt nem offolok tovább.

 

 

Előzmény: tt65 (15572)
tt65 Creative Commons License 2011.07.27 0 0 15572

Nem vagyok matematikus, de anno tanultam ilyeneket. Itt nem iterációról van szó, az egy kicsit más. Itt az van, hogy az intgerált nem lehet zárt alakban elvégezni, azaz nem lehet a primitiv függvényt meghatározni, ezért valamilyen módszerrel egy polinomot állítanak elő, valószínűleg sorfejtéssel. Ami jól illeszkedik a problémához és megbízhatóan jó eredményt ad. Az általad eredményül kapott két érték közt simán lehet különbség, bár ebben az esetben ez valóban nagynak tűnik. DE abba is gondolj bele, hogy a számítógép nem tud hatványozni, azaz nem tudja kiszámítani a 3.456^5,837 értékét, ezt is sorfejtésen alakuló algoritmusssal számolja ki ...

 

Esetleg próbáld ki az ecel beállításoknál, hogy a megjelenített pontossággal számoljon az excel, akkor mekkora az eltérés?

Előzmény: pimre (15571)
pimre Creative Commons License 2011.07.26 0 0 15571

Kösz, ez jó nyomnak tűnt. A linkből kiindulva elkezdtem keresgélni az angol nyelvű szakirodalomban. Találtam egy-két kalkulátort, ami szintén az Excel által adott értéket produkálja az enyémmel szemben. Aztán találtam képletet is hozzá, ami egészen más alapon működik, mint az enyém: http://easycalculation.com/statistics/f-test-p-value.php. Szóval lehet, hogy nem a kerekítési pontosságon múlik a dolog. Furcsa is lenne, hiszen a Double az Double pontosság, nemigen változhatott sokat az elmúlt időszakban.

 

Kell most nekem egy kis idő, amíg értelmezem ezt a képletet, és a kettő közti különbséget, de kösz a kiinduló linket.

 

Persze, ha akad itt egy matematikus, aki tudja, hogy működött az általam használt képlet, meg hogyan működik a fenti link képlete, mi köztük a különbség, mi az elméleti háttér, annak nagyon örülnék, mert nem biztos, hogy ezt magamtól meg tudom fejteni. 

Előzmény: Jozsef (15570)
Jozsef Creative Commons License 2011.07.26 0 0 15570

Én is erre gondolok. Az Fisher-féle F elosztás ( http://en.wikipedia.org/wiki/F-distribution) eloszlásfüggvényben egy integrált közelítő módon kell kiszámítani. Itt az értékes tizedesjegyek nagyban befolyásolják a pontosságot.

Egyébként érdemes lenne  még ellenőrizni, hogy az regresszió F-próbafüggvénye ugyanaz az érték mindkét módszerben.

 

Előzmény: SQLkerdes (15569)
SQLkerdes Creative Commons License 2011.07.26 0 0 15569

Bár sajnálatos módon a legtöbb képlet esetében már az egyenlőségjel utáni 10-ik karakternél elvesztem a fonalat, de a hiba okával kapcsolatban még megjegyezném, hogy akár az is lehet, hogy a későbbi excel-ek több tizedessel számolnak.

Persze lehet, hogy nem.

Előzmény: pimre (15565)
boraka Creative Commons License 2011.07.26 0 0 15567

Az előbb kicsit gyorsan válaszoltam, szóval, tedd a userform eseménykezelőjébe az alábbi kódot és a form tulajdonságoknál állítsd be ezt: StartUpPosition = 0 - Manual

 

Private Sub UserForm_Activate()

  With Me
    .Width = Application.Width
    .Height = Application.Height
  End With
End Sub

Előzmény: boraka (15564)
pimre Creative Commons License 2011.07.26 0 0 15566

"Amúgy az utóbbi képletet" helyesen "...képlettel" akart lenni. Ennyire hibásan általában nem fogalmazok:-)))

 

Előzmény: pimre (15565)
pimre Creative Commons License 2011.07.26 0 0 15565

Kösz, de ennyire gyermeteg hibát nem követek el. 

 

F próbáról lévén szó, a számláló szabadságfoka 1, a nevezőé n-2, az f értékét már kiszámoltam, és átadom a p értéket kiszámító függvénynek. Az algoritmus a következő:

 

a = 2 / 9  ' (helyesen 2/(9*számláló szabadságfok), de az utóbbi itt mindig 1

b = 2 / (9 * nevező szabadságfok)

zs = (1 - b) * f érték ^ (1 / 3) - 1 + a

zn = Sqr(b * f érték ^ (2 / 3) + a)

zy = Abs(zs) / zn

pérték = 0.5 * oldal / ((1 + zy * (0.196854 + zy * (0.115194 + zy * (0.000344 + zy * 0.019527)))) ^ 4) * 100

 

Amúgy az utóbbi képletet az én Excelem (Excel 2003, majd egyszer áttérek egy újabb verzióra) expression too complex hibát ad, de ez nem volt gond, felbontottam több lépésre.

 

A sejtésem az, hogy a gond az utolsó képlettel lehet. Sajnos nem vagyok matematikus, de ezt valami iterációnak gondolom. És nem tartom kizártnak, hogy nagyobb (vagy kisebb) mélységig is lehetne iterálni, és hogy az Excel beépített függvénye valami ilyesmiben tér el. 

 

Szóval örülnék, ha látnám az általuk használt algoritmust, esetleg egy matematikai statisztika könyvet, ami az algoritmust tartalmazza.

Előzmény: Jozsef (15563)
boraka Creative Commons License 2011.07.26 0 0 15564

Tedd be a Form eseménykezelőjébe ezt:

 

Private Sub UserForm_Activate()
  UserForm1.Width = Application.Width
  UserForm1.Height = Application.Height
End Sub

Előzmény: Gavriel (15556)
Jozsef Creative Commons License 2011.07.26 0 0 15563

Első pillantásra a szabadsági fokok valamilyen kis eltérésére gondolok. Mindkét módszernél biztos, hogy ugyanazzal számolsz?

Előzmény: pimre (15562)
pimre Creative Commons License 2011.07.26 0 0 15562

Sziasztok!

 

Ismét segítséget kérek. Egy regresszió analizáló programon dolgozom. Lényegében kész, és szinte minden adat stimmel. A programomat lefuttatva szinte minden érték azonos az adatelemzésnél elérhető regressziószámítás paramétereivel.

 

Egyetlen kivétel a p érték, ami az F próba szignifikanciaszintjét megadja. A konkrét példáimon minimális az eltérés,  de van. Ami nálam 0.3055, az a beépített függvénynél 0.3044. 

 

Az én algoritmusom több mint 10 éves, és elég megbízható helyről kaptam annakidején. Már többször átnéztem, nem látok elütést ahhoz képest. Ugyanakkor nyugtalanít az eltérés, de az Excelnek a statisztikai rutinokat tartalmazó programját csak jelszóval tudnám megnyitni, ami érthető okokból nem elérhető felhasználóként.

 

Viszont nagyon szeretném összehasonlítani az algoritmusokat. 

 

Tudnátok segíteni?

 

Törölt nick Creative Commons License 2011.07.26 0 0 15561

Hát én valami ilyesmit csinálnék:

 

ActiveWindow.Width = UserForm1.Width
ActiveWindow.Height = UserForm1.Height

 

persze neked nem ez kell... :)

 

munkalap valamely eseménykezelőjében megadnám a szükséges paramétereket - a makrórögzítő dobja a metódusokat, mint sqlkerdes írta

 

 

Előzmény: Gavriel (15559)
SQLkerdes Creative Commons License 2011.07.26 0 0 15560

Hogy használtad?  Megadtál mindegyikhez (.left, stb) valami számot?  Mert ott kell megadni, hogy a képernyő bal felső sarka hol legyen illetve, hogy az Application window milyen magas és széles legyen (pixelben).

 

Próbáld meg macro recorderrel.  Indítsd el, mozgasd és méretezd át az Excel főképernyőt és nézd meg a kódot amit generált.

Előzmény: Gavriel (15559)
SQLkerdes Creative Commons License 2011.07.26 0 0 15557

Application.Left    

Application.Top    

Application.Width    

Application.Height

 

És mindezt berakod a Workbook Open eseménykezelőbe.

Előzmény: Gavriel (15556)
Törölt nick Creative Commons License 2011.07.25 0 0 15555

hát, elég durva.

egyébként 2010-es excelben már megvan rá a (kibővített) weeknum (HÉT.SZÁMA, vagy mi lett a neve) függvény.

 

Sőt, mssql, (transact-sql) acces sem kezeli

(t-sql-ben külön függvényt írtam rá)

Előzmény: tt65 (15552)
Törölt nick Creative Commons License 2011.07.25 0 0 15554

köszönöm szépen, az off-ért pedig elnézést mindenkitől

Előzmény: Sznida (15553)
Sznida Creative Commons License 2011.07.25 0 0 15553

Nem emlékszem már, honnan vadásztam, mert akkor betettem a start menübe, ja és otthon van meg sem tudom keresni.

Ám, ezt találtam:

http://windows.microsoft.com/hu-HU/windows7/Snipping-Tool-frequently-asked-questions

Meg ezt, ez is érdekes lehet:

http://win7.ucoz.es/load/minialkalmazasok/screen_snaper_gadget/7-1-0-386

 

Üdv: Sznido

Előzmény: Törölt nick (15551)
tt65 Creative Commons License 2011.07.25 0 0 15552

egy kis adalék: http://msdn.microsoft.com/en-us/library/bb277364.aspx

a hét számítására képlet: =INT((D7-DÁTUM(ÉV(D7-HÉT.NAPJA(D7-1)+4);1;3)+ HÉT.NAPJA(DÁTUM(ÉV(D7-HÉT.NAPJA(D7-1)+4);1;3))+5)/7) ; ha D7-ben van a dátum.

(Az év első hete  azon hét hétfőjével  kezdődik, amely az év első csütörtöki napja módszer szerint. Sajnos az outlook és az excel sem jól kezeli ezt)

Előzmény: Törölt nick (15537)
Törölt nick Creative Commons License 2011.07.25 0 0 15551

win 7 képmetszője? az hol van?

Delila, amúgy én is paint-be ctrl+v, majd szerkeszt, ment - de ez túl macerás.

Köszönöm, a  screenhunter-t meg az irfanview-t kipróbálom.

Előzmény: Sznida (15549)
Delila10 Creative Commons License 2011.07.25 0 0 15550

A "sima" a teljes képernyőt teszi vágólapra, az alt-os az aktuálisan megnyitott alkalmazásét. Még azon belül is, ha pl. az Excelben egy gyorsmenü van nyitva, azt tárolja.

 

Előzmény: Sznida (15549)
Sznida Creative Commons License 2011.07.25 0 0 15549

Én otthon a win7 képmetsző-jét használom, a cégnél win XP PrtSc, de csak simán.

 

Mi a különbség a sima, és az alt-os között??

 

Üdv: Sznido

Előzmény: Jimmy the Hand (15548)
Jimmy the Hand Creative Commons License 2011.07.24 0 0 15548

Részemről is. De én még az Alt-ot sem használom :)

Előzmény: Delila10 (15545)
Vacy Creative Commons License 2011.07.24 0 0 15547

http://www.szoftverbazis.hu/szoftver/irfanview-v4-23--magyar--OW12.html

 

Beállítható a kivágott kép mérete, helye.

Előzmény: Törölt nick (15544)
Delila10 Creative Commons License 2011.07.24 0 0 15545

Részemről Alt+Prt scr, majd Paint-be Ctrl+v. :)

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

ezeket milyen képlopóval vágjátok be?

(gondolom nem (alt)+prt scr, aztán vmi szerkesztőben igazgatott képet raktok ide.

Előzmény: Jimmy the Hand (15541)
Törölt nick Creative Commons License 2011.07.23 0 0 15543

Üdv!

 

Lenne egy-két kérdésem. Az első az lenne, hogy hogyan lehet azt megcsinálni, hogy van négy mérkőzés és ugye értelemszerűen a négy mérkőzésből továbbjut négy csapat és ezt a négy csapatot beírja a következő fordulóba autómatikusan és a négy győztes csapat nevét ki is emelje vastagon? Majd a két elődöntő győztesét automatikusan betegye a döntőbe? Illetve van négy féle verseny és mind a négynek más-más a pontrendszere, de egy tabellán számítják. Ez megoldható valahogy? Aki kiesik az első négyes mérkőzésén ők is más pontot kapnak mint aki ugyan azon verseny elődöntőjében esnek ki. Szóval 4 féle pontszámítás, de a 4 pontszámításon belül 4 adható. Negyeddöntős, elődöntős, döntős, győztes. Bocsi, ha bonyolultan fogalmaztam! Köszi előre is!

 

Üdv.

Jimmy the Hand Creative Commons License 2011.07.22 0 0 15541

A munkafüzet fölső keretére jobb gombbal kattintva is elérhető. Próbáld ki azt.

Előzmény: Gavriel (15540)
Jimmy the Hand