Hirdetés

2024. április 27., szombat

Gyorskeresés

Útvonal

Fórumok  »  OS, alkalmazások  »  Microsoft Excel topic (kiemelt téma)

Téma összefoglaló

Téma összefoglaló

  • Utoljára frissítve: 2023-11-13 08:31:56

LOGOUT.hu

A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.

Összefoglaló kinyitása ▼

Hozzászólások

(#49901) istvankeresz válasza Fferi50 (#49900) üzenetére


istvankeresz
aktív tag

Nem is kell, hogy benne legyenek a makrók. Itt a cél az, hogy a gombnyomásra generáljon egy új excel fájlt üresen és legyen egy worksheet, ami a Template másolata.

XBOX ONE GT: istvankereszt79

(#49902) Fferi50 válasza istvankeresz (#49901) üzenetére


Fferi50
őstag

Szia!
Akkor kipróbálod?
Üdv.

(#49903) istvankeresz válasza Fferi50 (#49902) üzenetére


istvankeresz
aktív tag

Run-time error '9':

Subscript out of range

XBOX ONE GT: istvankereszt79

(#49904) Fferi50 válasza istvankeresz (#49903) üzenetére


Fferi50
őstag

Szia!
Melyik sornál?
Megmutatnád a makrót, ami ezt okozza?
Üdv.

[ Szerkesztve ]

(#49905) istvankeresz válasza Fferi50 (#49904) üzenetére


istvankeresz
aktív tag

Kettóvel ezelötti hsz-emben, a ??? helyére bemásoltam amit írtál. Ott akadt meg, azt a sort sárgázta ki a debugger.

Szerk:

Kiegészítve amit írtál erre:

ThisWorkbook.Sheets("Nyilvantartolap_TEMPLATE").Copy

Most már legenerálja a fáljt amit akarok üresen, majd generál egy újat amibe beleteszi a template-t.

Jó uton vagyunk, Szerintem innen már összelegózom.

Köszi! :R

[ Szerkesztve ]

XBOX ONE GT: istvankereszt79

(#49906) istvankeresz


istvankeresz
aktív tag

Így már megcsinálja, amit akarok, viszont nyit mellé egy üres excel fájlt, már csak ezt kell valahogy megoldanom.

XBOX ONE GT: istvankereszt79

(#49907) Fferi50 válasza istvankeresz (#49906) üzenetére


Fferi50
őstag

Szia!
A Workbooks.Add sor felesleges. A Sheets(...).Copy magától létrehozza az új munkafüzetet.
Üdv.

(#49908) istvankeresz válasza Fferi50 (#49907) üzenetére


istvankeresz
aktív tag

Igen, köszi, hát ez bentmaradt. Kivettem, tökéletes. Köszönöm! :R

XBOX ONE GT: istvankereszt79

(#49909) Bertiee


Bertiee
aktív tag

Sziasztok! Kezdő Excel 2021 HUN felhasználó vagyok és megakadtam egy feladatnál:
adott egy számsor : osztályzatok,
átlagot számolni nem gond, viszont az a kitétel, ha az osztályzatok között akár csak egy db 1-es van, akkor a teljes sor átlaga 1-es.
Hogyan kellene ezt felírni?

(#49910) lappy válasza Bertiee (#49909) üzenetére


lappy
őstag

a következő függvények segítségével pl:
- ha
- darabteli
- átlag

Bámulatos hol tart már a tudomány!

(#49911) Bertiee válasza lappy (#49910) üzenetére


Bertiee
aktív tag

Köszi!
Egy variációban működik, de az "átlag" oszlop mellé magától kibont egy csomó új oszlopot... Ez jó így?
Kiindulás: [kép]

Eredmény: [kép]

(#49912) lappy válasza Bertiee (#49911) üzenetére


lappy
őstag

Ha(darabteli (b2:h2;<1); átlag (b2:h2);1)

Bámulatos hol tart már a tudomány!

(#49913) Delila_1 válasza Bertiee (#49911) üzenetére


Delila_1
Topikgazda

=HA(DARABTELI(B2:H2;1)=0;ÁTLAG(B2:H2);1)

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#49914) Bertiee válasza Delila_1 (#49913) üzenetére


Bertiee
aktív tag

:R

(#49915) istvankeresz


istvankeresz
aktív tag

Üdv!

Adott három oszlop. Azt szeretném, hogy az I oszlopban csökkenjen az érték a H oszlop értékével csak akkor, amikor a C oszlopban "SZ" szöveg található. Ez sikerült is, viszont abban a sorban ne írjon ki semmit, ahol nincs a C oszlopban érték. Ha más egyéb szöveg van, akkor pedig NE csökkentse az I oszlopot, csak írja oda az utolsó I oszlop értéket.

Ha a képletet módostom arra, hogy:

=HA(C31="SZ";I30-H31;"")

akkor egészen addig jó, míg újra nem lesz "SZ" a C oszlopban, mert akkor a semmiből akarja kivonni H oszlop adott értékét.

Remélem képről érthetőbb. :)

[ Szerkesztve ]

XBOX ONE GT: istvankereszt79

(#49916) lappy válasza istvankeresz (#49915) üzenetére


lappy
őstag

=HA(C31="SZ";I30-H31;HA(ÜRES(C31);" ";I30))
ha jól értem mit is akarsz ezt kell I31 be beírni majd lehúzni

[ Szerkesztve ]

Bámulatos hol tart már a tudomány!

(#49917) istvankeresz válasza lappy (#49916) üzenetére


istvankeresz
aktív tag

Ez az eredeti képletem nekem is. Ezzel csinálja azt amit a képen látsz.
Ezt lehúzva kitölti azokat a cellákat is, ahol c oszlopban nincs semm.

szerk:

Látom közben szerkesztetted a hsz-t.
Kipróbálom, de lehet h csak hétfőn tudom már.
Köszönöm

[ Szerkesztve ]

XBOX ONE GT: istvankereszt79

(#49918) lenkei83


lenkei83
tag

Sziasztok!

Érvényesítésben lehet külön drop downt és custom feltételeket megadni képlettel. Küldön külön nincs gond, a kettőt szeretném kombinálni.
A custom képlet figyeli, hogy az érvényesítéssel rendelkező cellát csak abban az esetben lehetssen kitölteni, ha egy másik cella már tartalmaz értéket Ezt nyilván több módon is meg lehet oldani. Viszont én azt szertném, ha az érvényesítéssel rendelkező cellában egy listából lehetne választani abban az esetben, ha egy másik, hivatkozott cell tartalmaz értéket.
Látott már ilyet valaki?
VBA-ban rendben van, de jelen esetben kimondottam kérték, hogy VBA alkalmazása nélkül találjuk ki a megdolsát?

Köszi
P.

(#49919) Fferi50 válasza lenkei83 (#49918) üzenetére


Fferi50
őstag

Szia!
Szerintem ezt a többszintű érvényesítés elve alapján meg lehet oldani, itt a fórumon is voltak rá példák (sajnos most nem tudok mutatni).
A másik cellában mindegy milyen érték van vagy az értékétől függ a választható lista?
Üdv.

(#49920) lenkei83 válasza Fferi50 (#49919) üzenetére


lenkei83
tag

Szia Feri!

A megelőző cellában mindegy az érték, ott csak azt vizsgálom, hogy üres vagy sem.
Rákeresek a többszintűre, köszönöm.

Üdv.:
P.

(#49921) Onderon


Onderon
senior tag

Sziasztok,

Egy túlóra táblázatot próbálok elkészíteni, de az Excel tudásom elég alap. Egész órára már meg tudtam csinálni, de az óra töredéknél már elakadtam.

A túlóra az alábbiak szerint számolódik:

1-2 óra a napibér 15%-a
3-4 óra a napibér 17.5%-a
5-6 óra a napibér 20%-a

Viszont, a túlórát 15 percenként számolják és a legelső 15 perc "ingyen" van, azért nem jár semmi.

Volna kedve valakinek elkészíteni esetleg és felrakni valahová ahonnan le tudom tölteni?

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

(#49922) lappy válasza Onderon (#49921) üzenetére


lappy
őstag

=HA(KEREK.LE(A1/IDŐ(0;15;0);0)<=1;" ";HA(KEREK.LE(A1/IDŐ(0;15;0);0)<9;B1*0,15;HA(KEREK.LE(A1/IDŐ(0;15;0);0)<16;B1*0,175;HA(KEREK.LE(A1/IDŐ(0;15;0);0)<24;B1*0,2))))
A1- a túlóra idő formátumban megadva
B1 - a napibér díja

[ Szerkesztve ]

Bámulatos hol tart már a tudomány!

(#49923) Fferi50 válasza Onderon (#49921) üzenetére


Fferi50
őstag

Szia!
Ez megoldható az Fkeres függvénnyel, mutatom a képet:

A pótlék % képlete a B2 cellában látható.
A tényleges pótlék képlete (D1-ben van a napi bér):
=$D$1*FKERES(A2;$K$1:$L$6;2;1)
A képleteknél figyelj a $ jelek megfelelő használatára.
Az Fkeres függvény 4 paramétere 1, ebben az esetben azt az értéket adja vissza, amelyik a legközelebbi határértékhez tartozik. Ezért kell a határokat minimálisan túllépve megadni a táblázatban.
Üdv.

(#49924) Onderon válasza lappy (#49922) üzenetére


Onderon
senior tag

Nem tudom én csinálok e valamit rosszul, de nekem ez B1-re megadva a napidíjat A1 nagyobb mint nulla értéknél HAMIS értéket ad, nulla vagy kisebb értéknél üresen hagyja a mezőt.

Meg van, nem raktam ár idő formátumra az A1-et!

[ Szerkesztve ]

(#49925) Onderon


Onderon
senior tag

Nem tudok már szerkeszteni:

lappy: idő formátummal sem kapok jó értékéket, de köszönöm! Próbálok operálni vele.
Fferi50: írtam privátban, köszönöm!

(#49926) lappy válasza Onderon (#49925) üzenetére


lappy
őstag


akkor vmit rosszul adtál meg

[ Szerkesztve ]

Bámulatos hol tart már a tudomány!

(#49927) istvankeresz válasza lappy (#49916) üzenetére


istvankeresz
aktív tag

Szia!

Tökéletes lett! Közönöm! :R

XBOX ONE GT: istvankereszt79

(#49928) mr_ricsi


mr_ricsi
veterán

Sziasztok!

Kaptam egy excel táblát, amiben ha a a Ctrl + nyilakkal mozgok, akkor az "A" oszlopban lefelé mozogva az utolsó adatot tartalmazó cella után nem a legutolsó (1048576) cellára ugrik, hanem megáll a 10000 számú cellánál. Oszloponként változó, hogy melyik cellában áll meg. A legtöbb oszlopban a legutolsó cellára ugrik, míg további kettő oszlopban a 6000. cellára.

Azt szeretném kérdezni, hogy milyen módon lehet ilyen "navigációs cellákat" elhelyezni a táblákban?

Sokkal kellemesebb úgy hibát keresni, ha tudod, hogy másban kell!

(#49929) Delila_1 válasza mr_ricsi (#49928) üzenetére


Delila_1
Topikgazda

Feltehetően van azokban a cellákban valami láthatatlan karakter, pl. szóköz, azt kell kitörölnöd.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#49930) nihill


nihill
őstag

Sziasztok, újra pivot tábla téma.
Hogy lehet neki (ennél is jobban) elmagyarázni hogy az a mező időt is tartalmaz?
(jobb oldalt selectálva ahogy az SQL táblában van)
köszönöm.

(#49931) lappy válasza nihill (#49930) üzenetére


lappy
őstag

kattints jobb gombbal egy hónapra vagy dátumra, és válasszd a "Csoportbontás" lehetőséget.

Bámulatos hol tart már a tudomány!

(#49932) nihill válasza lappy (#49931) üzenetére


nihill
őstag

és igen :R

(#49933) istvankeresz


istvankeresz
aktív tag

Üdv!

Egy (nekem) eléggé összetett lekérdezést szeretnék csinálni de nem boldogulok.
Cél: Gombnyomásra végig fut egy ciklus az aktuális workbook-ban worksheet-eken. Ezeken a worksheet-eken szintén végigfut egy ciklus ami végignéz egy oszlopban egy range-t, és ha talál egy feltétellnek megfelelő cellaértéket, akkor azt a cellaértéket átmásolja a template-ből létrejövő új workbook-ba.

A ciklusban-ciklusban-feltétellel nem boldogulok, azaz az adatkiolvasással.

XBOX ONE GT: istvankereszt79

(#49934) Fferi50 válasza istvankeresz (#49933) üzenetére


Fferi50
őstag

Szia!
Az elveket mutatnám, amit hozzá kell adaptálnod a saját feladatodhoz:
Set ujws=Workbooks("uj").Sheets(1)
For Each ws in Worksheets
For Each rng In ws.UsedRange.Columns("A").Cells
If rng.Value=x Then
ujws.Cells(Cells(ujws.Rows.Count,1).End(xlUp).Row+1,"A").Value=rng.Value
'ha nem lehet több érték akkor Exit For
End If
Next
Next

Az "uj" munkafüzetet létre kell hoznod előtte.
A feltételt az If-fel kezdődő sorban kell megadni, itt egy szimpla egyenlőséget tételeztem fel.
Az értéket mindig az A oszlop következő üres cellájába másolja.
Üdv.

[ Szerkesztve ]

(#49935) istvankeresz válasza Fferi50 (#49934) üzenetére


istvankeresz
aktív tag

Uhh, köszi!

Kiindulásnak tök jó lesz! Beleintegrálom a sajátomba, aztán finomítok.

mindenképpen visszajelzek, hogy mire jutottam. :R

XBOX ONE GT: istvankereszt79

(#49936) the radish


the radish
senior tag

Sziasztok

Lehet, hogy kicsit komplikált a projekt és biztosan van egyszerűbb megoldás is hozzáértők számára attól amit én próbálok véghez vinni, de azért azt hittem eddig, hogy boldogulok vele.
Most azonban ilyen fogad:

Tele van képletekkel a tábla, fogalmam sincs hol lehet a hiba.

Arra gondoltam, hogy az átszámolás csak a makró lefuttatását követően menjen végbe - feltételezve, hogy ezzel van baj.

Ezt hogy tudnám kivitelezni?
Előre is köszönöm.

(#49937) Fferi50 válasza the radish (#49936) üzenetére


Fferi50
őstag

Szia!
Állitsd a számításokat manuálisra:
Application.Calculation=xlCalculationManual
A visszaállítás:
Application.Calculation=xlCalculationAutomatic
Viszont ha a makró a számított értékeket is figyelembe veszi valahol, akkor hamis lehet a végeredmény.

(#49938) the radish válasza Fferi50 (#49937) üzenetére


the radish
senior tag

Köszönöm!

(#49939) istvankeresz válasza Fferi50 (#49934) üzenetére


istvankeresz
aktív tag

Szia!

Jó volt kiindulási alapnak a kódod, Köszönöm! Sikerült összeraknom úgy, ahogy nekem kell. :R

Következő kérdésem mindenkihez:

Feltételnek szeretném megadni egy cella értékét. Ha az a cella egy karakter sorozattal kezdődik, pl.: 1234.56 , de még vannak mögötte karakterek, akkor a tudok olyan univerzális jelet használni, mint máshol a csillag, azaz ha valami 1234.56-al kezdődik akkor vegye figyelembe, egyébként pedig nem. Magyarul VBA-ban is lehet * karaktert használni? Mert nekem így nem találja meg amit keresek.

XBOX ONE GT: istvankereszt79

(#49940) the radish


the radish
senior tag

VBA segítségével másolnék képletet, de a képletben szereplő idézőjelekre hibát dob. Mi a megoldás az üres cellákra?
Pl. Szeretném üresen hagyni, de nem jövök rá:

   ActiveCell.FormulaLocal = "=HAHIBA(KEREKÍTÉS(DÁTUMÉRTÉK($J1)+IDŐÉRTÉK($J1);4);"")"

(#49941) karit


karit
csendes tag

Sziasztok! Szeretném a munkafüzet 1-2-3 lapján lévő táblázatokat (mint adat táblákat) a 4. lapon létrehozott bármilyen adatkapcsolattal elérni, hogy ezen a 4. fülön létrejövő táblázaton SQL lekérdezést tudjak írni a 3 adat táblára. Tehát nincs semmilyen külső adatforrás.
Hmm, érthető ez így? :S

Odáig eljutottam, hogy a saját munkafüzet egyik tábláját tudom forrásként használni úgy, hogy a Létező kapcsolatoknál a Meglévő kapcsolatok fül alján betallózom ugyanezt az xlsx-et: de csak 1 db tábla választható ki, több nem.
Ezután a Kapcsolat tulajdonságai form aljára beírható az SQL, jól le is fut. Apró szépséghiba, hogy futáskor olvasásra még egyszer megnyitja a fájlt (ezt is el szeretném kerülni valami Excel.CurrentWorkbook-féle beírással a path helyett), és persze így csak 1 db forrás tábla/munkalap használható, de mindhárom kellene egyszerre.

Nagyon megköszönnék minden segítséget.

(#49942) the radish válasza the radish (#49940) üzenetére


the radish
senior tag

Bocsánat, megoldva, pontosabban csak elfelejtettem a megoldást.

(#49943) spe88


spe88
senior tag

Be lehet állítani Excelben, hogy egy szám formázásánál egy adott cellából húzza mindig az infót?
Pl a formátumkód: 0,00, de mögé szeretnék még írni valamit, ami mindig változik és egy adott cellában van. Létezik ilyen?

köszi

Spóroljunk! Kerül, amibe kerül!

(#49944) Fferi50 válasza istvankeresz (#49939) üzenetére


Fferi50
őstag

Szia!
Használhatod a Like operátort ebben az esetben:
Cells(1,1).Value Like "1234.56*" True értéket ad, ha a cella értéke a beírt karakter sorozattal kezdődik, ellenkező esetben False az érték.
Vigyázz, a számok összehasonlításánál is a Like operátor utáni résznek szövegnek kell lenni és nem tizedespont hanem a magyar szabályok szerint tizedesvessző kell bele!
Üdv.

(#49945) Fferi50 válasza spe88 (#49943) üzenetére


Fferi50
őstag

Szia!
"mögé szeretnék még írni valamit, ami mindig változik és egy adott cellában van."
Szerintem munkalapon ilyet nem lehet csinálni. Viszont az egyéni formázásban a számok elé - mögé írhatsz szöveget, amit utána formátum másolással át tudsz vinni bárhová.
Pl. 0,00utas formátum minden beírt szám után odaírja az utas szöveget. Tehát megcsinálod a kívánt egyéni formátumokat és azokat alkalmazod a megfelelő cellákra.
Üdv.

(#49946) istvankeresz válasza Fferi50 (#49944) üzenetére


istvankeresz
aktív tag

Szia!

Ez tökéletes. Viszont a kiolvasott cellákat szeretném másolni egymás alá egy másik munkalapra.

Ezt hova kell berakni, hogy jó legyen? Ha egyáltalán helyes. :)

lr = Sheets(6).Range("E" & Rows.Count).End(xlUp).Row + 1

Ebbe szeretném beletenni, úgy, hogy minden ciklus után ugorjon egy sort.

Dim cell As Range
Dim ws As Worksheet
Dim lr As Long

    For Each ws In ThisWorkbook.Worksheets
        For Each cell In Sheets(ws.Name).Range("K2:K6")
            If cell.Value Like "1234.56*" Then
                Sheets(6).Range("E10") = cell.Value
                ' MsgBox (ws.Name & " " & cell.Value)
            End If
            ' MsgBox (ws.Name & " " & cell.Value)
        Next cell
        
    Next ws
End Sub

MsgBox-ok, csak ellenörzésnek vannak, hogy lássam, hogy a megfelelő értékekkel dolgozom.

Köszi!

XBOX ONE GT: istvankereszt79

(#49947) Fferi50 válasza karit (#49941) üzenetére


Fferi50
őstag

Szia!
Próbáld meg a következőt:
Kijelölöd a beolvasandó adatokat az egyik munkalapon, majd Az Adatok - Adatok beolvasása és átalakítása csoportból a Táblázatból vagy tartományból menüpontot választva Power Query szerkesztővel létrehozod a kívánt lekérdezést.
Ugyanezt megcsinálod a másik 2 munkalapra is.
Ezután a 3 lekérdezést egyesítheted.
Üdv.

(#49948) Fferi50 válasza istvankeresz (#49946) üzenetére


Fferi50
őstag

Szia!
Ezt a sort a for ciklus elé érdemes betenni a kezdő sor számának meghatározására. A másolás viszont akkor így néz ki:
Sheets(6).Range("E" & lr) = cell.Value :lr=lr+1 ' másol majd növeli a sor számát.
Üdv.

(#49949) sonkuci


sonkuci
tag

sziasztok.

excel 2016ban van egy kimutatásom, hozzátartozó kördiagram és egy szeletelő.
miután beszúrtam a diagramot, megformáztam (semmi extra, adatfeliratok hol legyenek, félkövér, stb) viszont amikor használom a szeletelőt akkor elfelejt mindent.
így ha valamit kiválasztok a szeletelővel újra be kell állítanom hozzá újra a formázást.
ha stílusból választom ki valamelyik stílust, úgy mindig érvényes bármit választok a szeletelővel.
ha elmentem sablonként se jegyzi meg a formázást.
én vagyok a béna és van erre valami egyszerű megoldás, vagy minden alkalommal be kell ezt állítanom?

köszi

(#49950) Onderon válasza lappy (#49926) üzenetére


Onderon
senior tag

De, viszont 0:16-ra már járna túlóra, mert csak az első 15 perc "van ingyen", a te függvényeddel azonban 0:29-ig jár nulla, 0:30-ra pedig már a teljes túlóra jár, pedig a lépték 15 perces kellene legyen arányosan. Elnézést, azt hiszem nem fogalmaztam meg érthetően.

Szóval a túlóra emelkedik, de arányosan kapjuk, minden megkezdett 15 perc után, ahol a legelső 15 percért nem jár semmi, viszont a második 15 percért (15-30) már jár a túlóra 2/4-e, a harmadikért (30-45) jár a 3/4-e, majd 45-60-ig a 4/4-e és stb.

[ Szerkesztve ]

Útvonal

Fórumok  »  OS, alkalmazások  »  Microsoft Excel topic (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.