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

(#33301) Declare


Declare
őstag

Ma nem volt még kerdes, szoval bedobok egy nagyobb falatot, ha lesz ideje valamelyikötöknek, megköszönnem a segitseget :) Csiszolgatom a macrokat, amiket összeallitottam a segitsegetekkel es azert mindig elöjön valami, de ezzel most nem birok.

Még Fferi50 irta ezt nekem pont azt hiszem:

Dim kezdrng As Range, vegrng As Range, ws1 As Worksheet, celrng As Range, elsocim As String, gewerkrng As Range
Set ws1 = ActiveSheet
'megkeressük az elso S. Titel cellát:
Set vegrng = ws1.Columns("G").Find(what:="S. Titel", LookIn:=xlValues, lookat:=xlWhole, searchdirection:=xlNext, After:=Range("G1"))
elsocim = vegrng.Address 'megjegyezzük a címét, mert itt kell leállítani
Do While Not vegrng Is Nothing
'megkeressük a kezdo sort / Titel /
Set kezdrng = ws1.Columns("G").Find(what:="Titel", LookIn:=xlValues, lookat:=xlWhole, After:=vegrng, searchdirection:=xlPrevious)
If kezdrng.Row < vegrng.Row Then 'ha kisebb mint az S. Titel helye, akkor összeadjuk
vegrng.Offset(0, -1).Formula = "=Sum(" & kezdrng.Offset(2, -1).Address & ":" & vegrng.Offset(-1, -1).Address & ")"
vegrng.Offset(0, -1).NumberFormat = "#,##0.00 $"
vegrng.Offset(0, -1).HorizontalAlignment = xlRight

End If
'következo S. Titel
Set vegrng = ws1.Columns("G").Find(what:="S. Titel", LookIn:=xlValues, lookat:=xlWhole, After:=vegrng, searchdirection:=xlNext)
If vegrng.Address = elsocim Then Exit Do 'ha visszaértünk az elsohöz, kilépünk
Loop
'megkeressük az elso S. Gewerk cellát:
Set vegrng = ws1.Columns("G").Find(what:="S. Bereich", LookIn:=xlValues, lookat:=xlWhole, searchdirection:=xlNext, After:=Range("G1"))
elsocim = vegrng.Address: Set gewerkrng = Range("G1") 'megjegyezzük a helyét és a lehetséges elso cellát
Do While Not vegrng Is Nothing
'megkeressük az elso S. Titelt a Gewerkben
Set kezdrng = ws1.Columns("G").Find(what:="S. Titel", LookIn:=xlValues, lookat:=xlWhole, After:=vegrng, searchdirection:=xlPrevious)
Set celrng = kezdrng
Do While Not kezdrng Is Nothing
If kezdrng.Row > gewerkrng.Row Then ' ha benne van a tartományban
If kezdrng.Row < vegrng.Row Then ' és oda tartozik, akkor bevesszük az összesítésbe
Set celrng = Union(kezdrng, celrng)
Else
vegrng.Offset(0, -1).Formula = "=Sum(" & celrng.Offset(0, -1).Address & ")" 'ha nincs benne, akkor beírjuk az összesíto képletet
vegrng.Offset(0, -1).NumberFormat = "#,##0.00 $"
vegrng.Offset(0, -1).Font.Bold = True
vegrng.Offset(0, -1).HorizontalAlignment = xlRight
Exit Do
End If
Else
vegrng.Offset(0, -1).Formula = "=Sum(" & celrng.Offset(0, -1).Address & ")" ' ha már az elozo Gewerkhez visszaértünk, akkor beírjuk az összesíto képletet
vegrng.Offset(0, -1).NumberFormat = "#,##0.00 $"
vegrng.Offset(0, -1).Font.Bold = True
vegrng.Offset(0, -1).HorizontalAlignment = xlRight
Exit Do
End If
'megkeressük a következo S. Titel cellát:
Set kezdrng = ws1.Columns("G").Find(what:="S. Titel", LookIn:=xlValues, lookat:=xlWhole, After:=kezdrng, searchdirection:=xlPrevious)
Loop
Set gewerkrng = vegrng ' a Gewerk területet változtatjuk
'megkeressük a következo S. Gewerk cellát:
Set vegrng = ws1.Columns("G").Find(what:="S. Bereich", LookIn:=xlValues, lookat:=xlWhole, After:=vegrng, searchdirection:=xlNext)
If vegrng.Address = elsocim Then Exit Do 'ha visszaértünk az elso találathoz, akkor végeztünk
Loop

A lenyeg hogy egy tablazatban vannak fötetelek ("Bereich" es hozza kapcsoldo S(szumma). Bereich sorok. A "Bereich" es "S.Bereich" között vannak altetelek ("Titel" es "S.Titel"). A "Titel" es "S.Titel" között pedig feladatoknak az értékei/árai.
A makro azt csinalja, hogy megkeresi az "S.Titelt" es ezt a szöveg cellat felülirva beir egy SZUMM kepletet, felfele egeszen addig, amig nem jön a "Titel" cella (tehat tartomanyt szummaz). Igy szummazza a feladatok ertekeit. Ezt megcsinalja ujra es ujra, minden "Titel" es "S.Titel" között.
Ezutan megkeresi az elsö "S.Bereich" cellat, ode beir egy SZUMM kepletet, amibe a fölötte levö "S.Titel" cellakat adja össze egyesevel (nem tartomanyt, hanem ahol "S.Titel" van azt az egy cellat hozzaadja), egeszen addig, amig nem jön megint egy "S.Bereich". Ebbe a következö "S.Bereich" cellaba szummazza a következö "S.Titel"-eket es igy tovabb.

Ez jol is müködik, egeszen addig, amig van több Titel/S.Titel es Bereich/S.Bereich. Most viszont volt egy olyan eset, hogy 1db Bereich/S.Bereich páros volt és itt a makro vegtelen ciklusba került.

Kb Latom hol lehet a hiba, de nem tudom, hogy lehetne kijavitani :(

Nem egyszerü a kerdes, föleg gondolom most elsöre atolvasva :D , de ha lesz idötök valamikor, ez hasznos lenne, ha valahogy ki lehetne küszöbölni ezt a hibat.

Csinaltam egy Excel tablat, hogy nez ki az adattabla a makro futtatasa elött, hogy nez ki utanna, illetve egy olyan lapot is ahol a futtatas elött van a a tabla es jelentkezik a hiba. [link]

Köszi elöre is ha lesz idötök, en is ezzel probalkozom most :))

(#33302) G.A.


G.A.
aktív tag

Üdv!

A segítségeteket kérném egy excel diagramhoz.

Egy ilyen diagramot kéne létrehoznom:

A másodlagos tengelyt létre tudom hozni, csak ekkor az egyik adathalom oszlopai a másik mögé bújnak el. Nekem viszont egymás mellé kéne őket raknom.

Ezt excelben (2010-2013) hogy lehetne kivitelezni?

(#33303) Dr V


Dr V
őstag

Sziasztok!

Powerpivot felületen hogyan tudok számítást végezni egy, az alaptáblában megnevezett cellával?
Darabszámmal szeretnék értéket osztani, de a darabszám változása esetén kövesse le a powerpivot is a számítást. Mindenképpen powerpivotban gondolkozom, mert egy másik fájlból szedem ki az adatokat.

(#33304) Fferi50 válasza Salex1 (#33300) üzenetére


Fferi50
őstag

Szia!

Ha képként mented el, akkor bármivel meg lehet nézni és képként be is lehet importálni munkalapra is :)
Egyébként visszafelé nem kompatibilis egyetlen Excel verzió sem, a fejlesztéseket nem lehet a korábbi verziókban használni, azok hibát okoznak.
Azért nézd meg lsz. hogy a 2010-es Excelben nincs-e benne már a saját kombinációs lehetőség (2013-as verzióban van), mivel én azt már nem tudom megnézni.

Üdv.

(#33305) Fferi50 válasza Declare (#33301) üzenetére


Fferi50
őstag

Szia!

Egy picit kellett módosítani rajta:
Sub adogat()
Dim kezdrng As Range, vegrng As Range, ws1 As Worksheet, celrng As Range, elsocim As String, gewerkrng As Range, kezdocim As String ' a második ciklus kezdőcímének tárolására
Set ws1 = ActiveSheet
'megkeressük az elso S. Titel cellát:
Set vegrng = ws1.Columns("G").Find(what:="S. Titel", LookIn:=xlValues, lookat:=xlWhole, searchdirection:=xlNext, After:=Range("G1"))
elsocim = vegrng.Address 'megjegyezzük a címét, mert itt kell leállítani
Do While Not vegrng Is Nothing
'megkeressük a kezdo sort / Titel /
Set kezdrng = ws1.Columns("G").Find(what:="Titel", LookIn:=xlValues, lookat:=xlWhole, After:=vegrng, searchdirection:=xlPrevious)
If kezdrng.Row < vegrng.Row Then 'ha kisebb mint az S. Titel helye, akkor összeadjuk
vegrng.Offset(0, -1).Formula = "=Sum(" & kezdrng.Offset(2, -1).Address & ":" & vegrng.Offset(-1, -1).Address & ")"
vegrng.Offset(0, -1).NumberFormat = "#,##0.00 $"
vegrng.Offset(0, -1).HorizontalAlignment = xlRight

End If
'következo S. Titel
Set vegrng = ws1.Columns("G").Find(what:="S. Titel", LookIn:=xlValues, lookat:=xlWhole, After:=vegrng, searchdirection:=xlNext)
If vegrng.Address = elsocim Then Exit Do 'ha visszaértünk az elsohöz, kilépünk
Loop
'megkeressük az elso S. Gewerk cellát:
Set vegrng = ws1.Columns("G").Find(what:="S. Bereich", LookIn:=xlValues, lookat:=xlWhole, searchdirection:=xlNext, After:=Range("G1"))
elsocim = vegrng.Address: Set gewerkrng = Range("G1") 'megjegyezzük a helyét és a lehetséges elso cellát
Do While Not vegrng Is Nothing
'megkeressük az elso S. Titelt a Gewerkben
Set kezdrng = ws1.Columns("G").Find(what:="S. Titel", LookIn:=xlValues, lookat:=xlWhole, After:=vegrng, searchdirection:=xlPrevious)
kezdocim = kezdrng.Address
Set celrng = kezdrng
Do While Not kezdrng Is Nothing
If kezdrng.Row > gewerkrng.Row Then ' ha benne van a tartományban
If kezdrng.Row < vegrng.Row Then ' és oda tartozik, akkor bevesszük az összesítésbe
Set celrng = Union(kezdrng, celrng)
Else
vegrng.Offset(0, -1).Formula = "=Sum(" & celrng.Offset(0, -1).Address & ")" 'ha nincs benne, akkor beírjuk az összesíto képletet
vegrng.Offset(0, -1).NumberFormat = "#,##0.00 $"
vegrng.Offset(0, -1).Font.Bold = True
vegrng.Offset(0, -1).HorizontalAlignment = xlRight
Exit Do
End If
Else
vegrng.Offset(0, -1).Formula = "=Sum(" & celrng.Offset(0, -1).Address & ")" ' ha már az elozo Gewerkhez visszaértünk, akkor beírjuk az összesíto képletet
vegrng.Offset(0, -1).NumberFormat = "#,##0.00 $"
vegrng.Offset(0, -1).Font.Bold = True
vegrng.Offset(0, -1).HorizontalAlignment = xlRight
Exit Do
End If
'megkeressük a következo S. Titel cellát:
Set kezdrng = ws1.Columns("G").Find(what:="S. Titel", LookIn:=xlValues, lookat:=xlWhole, After:=kezdrng, searchdirection:=xlPrevious)
If kezdrng.Address = kezdocim Then Exit Do 'ha nincs több S. Titel, akkor kilépünk EZ AZ EGYIK ÚJ SOR
Loop
Set gewerkrng = vegrng ' a Gewerk területet változtatjuk
'megkeressük a következo S. Gewerk cellát:
Set vegrng = ws1.Columns("G").Find(what:="S. Bereich", LookIn:=xlValues, lookat:=xlWhole, After:=vegrng, searchdirection:=xlNext)
'INNEN MÓDOSULT
If vegrng.Address = elsocim Then 'ha visszaértünk az elso találathoz
If Application.IsFormula(vegrng.Offset(0, -1)) Then 'és már van képletünk, akkor végeztünk
Exit Do
Else ' egyébként betesszük a képletet és utána végeztünk
vegrng.Offset(0, -1).Formula = "=Sum(" & celrng.Offset(0, -1).Address & ")" ' ha már az elozo Gewerkhez visszaértünk, akkor beírjuk az összesíto képletet
vegrng.Offset(0, -1).NumberFormat = "#,##0.00 $"
vegrng.Offset(0, -1).Font.Bold = True
vegrng.Offset(0, -1).HorizontalAlignment = xlRight
Exit Do
End If
End If
Loop

End Sub

Remélem így már rendben lesz.

Üdv.

(#33306) Declare válasza Fferi50 (#33305) üzenetére


Declare
őstag

Tesztelem, de ugy nezem, tökeletes! Köszi szepen ismet! Nem szamitottam ilyen gyors megoldasra :B :R

(#33307) Declare válasza G.A. (#33302) üzenetére


Declare
őstag

Van jo sok ilyen video, meg leiras a neten. Nezd meg pl ezt a videot, lehet megtalalod benne a valaszt, amit keresel [link]

(#33308) Declare válasza Declare (#33306) üzenetére


Declare
őstag

Valami nem az igazi megsem sajna.

A makro lefut, de csak az elsö "S. Bereich" ertek jo, a töbi nem. Nem irja be szumma kepletet.

(#33309) zakoss válasza Delila_1 (#33297) üzenetére


zakoss
tag

Sajnos az sem hozott megoldást. Továbbra is a fagyás, és a fagyás. Ez ügyben tanácstalan vagyok :D

(#33310) Fferi50 válasza Declare (#33308) üzenetére


Fferi50
őstag

Szia!

A minta fájlban rendesen lefut. Küldenél egy másik - hosszabb - mintát (vagy amin nem fut le rendesen)?

Üdv.

(#33311) föccer


föccer
nagyúr

Sziasztok!

Van egy táblázatom, amiben szűrő feltételeket alkalmazok. Hogyan tudnám levadászni, hogy milyen szűrőt állítottam be? Egy egészen másik táblában kellene egy szumhatöbb-el összegeznem leszűrt adatokhoz tartozó darabszámot. Makró nálkül, függvénnyel, valami egyéb trükkel.

Ötlet? Összesíttel próbálkozom, csak nem megy, mert nem abban a táblában szűrök, ahol az összegzendő adatok vannak.

Köszi. :R

Építésztechnikus. Építőmérnök.

(#33312) Fferi50 válasza föccer (#33311) üzenetére


Fferi50
őstag

Szia!

Semmi akadálya annak, hogy a SZUMHATÖBB függvényben másik munkalapra(munkafüzetre) mutató hivatkozásokat használj.
Pl.SZUMHATÖBB(egyik munkalap A:A;egyik munkalap B:B; másik munkalap A2; egyik munkalap C:C;másik munkalap D2)
Ráadásul ezt a képletet akár az egyik, akár a másik, akár egy harmadik munkalapra is elhelyezheted.

Üdv.

(#33313) Delila_1 válasza föccer (#33311) üzenetére


Delila_1
Topikgazda

Szia!

Sub teszt()
Dim AF As AutoFilter, F As Filter, i As Long

Set AF = ActiveSheet.AutoFilter
For i = 1 To AF.Filters.Count
Set F = AF.Filters(i)
If F.On Then MsgBox "Az AutoFilter " & i & ". oszlopában bekapcsolt szűrő, feltétel: '" & F.Criteria1 & "'"
Next
End Sub

Ez a makró végig lépked a táblázaton. Amelyik oszlopban be van kapcsolva a szűrő, ott kiírja a kritériumot.
Üzenet helyett cellákba is kiírhatod az eredményt, amit majd a szumhatöbb függvény paramétereként felhasználsz.

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

(#33314) Delila_1 válasza föccer (#33311) üzenetére


Delila_1
Topikgazda

Sub teszt_1()
Dim AF As AutoFilter, F As Filter, i As Long, WF As WorksheetFunction

Set WF = Application.WorksheetFunction
Set AF = ActiveSheet.AutoFilter
For i = 1 To AF.Filters.Count
Set F = AF.Filters(i)
If F.On Then
Range("T" & WF.CountA(Columns(20)) + 1) = Chr(i + 64)
Range("U" & WF.CountA(Columns(21)) + 1) = Right(F.Criteria1, Len(F.Criteria1) - 1)
End If
Next
End Sub

Ez a makró kiírja a T oszlopba a szűrt oszlop betűjelét, az U-ba a kritériumot. Ha 1-nél több kritérium lehetséges 1-1 oszlopban, módosítani kell a makrón.

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

(#33315) Declare válasza Fferi50 (#33310) üzenetére


Declare
őstag

Valamit en rontottam el, sorry...nem szoltam :B

Ez ugye csak egy reszlete a teljes makronak es amikor probaltam ezt amit küldtel külön jo volt, aztan beillesztettem a teljes makroba (ahol ezek a Titel meg S. Titel ezek egy lekerdezesböl jönnek) es ott valamit elronthattam. A hibat nem talaltam meg, nem is tudom, de ujra bemasoltam, ujra atirtam amit kellett es most jo.

Szoval köszönöm szepen megegyszer, megiscsak jol müködik :C :R

Szep hetveget mindenkink! :)

[ Szerkesztve ]

(#33316) Delila_1 válasza föccer (#33311) üzenetére


Delila_1
Topikgazda

Makró nélkül a szűrt sorok darabszáma:

=RÉSZÖSSZEG(103;D:D)

A D:D helyére olyan oszlop betűjelét írd, ahol minden sorban van adat. Ezt a függvényt arra a lapra vidd be, ahol a szűrt táblázatod van, a táblázatodon kívüli cellába. A másik füzetben erre a cellára hivatkozz!

A 103 a DARAB2 függvénynek felel meg, vagyis minden cellát (szöveges, szám, dátum, képlet) megszámol.

[ Szerkesztve ]

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

(#33317) föccer válasza Delila_1 (#33316) üzenetére


föccer
nagyúr

Igen, a darabszámot meg tudom számolni. A probléma az alábbi

Van 1 munkalap, amint mintavételi eredmények találhatóak, többek között egy sorban megadva a vonatkozó recept sorozatszámát és az egyik alapanyag tipust. Egy munkalapon néhányszáz minta van, a csoportosítás alapját képpező alapanyag 4-5 féle lehet, pl CEM II/B-S 42,5 N; CEM II/A-S 42,5 N, a recept azonosítója pedig 4 jegyű kód. Egy receptúrából évente több minta is van. Nem minden receptből van minta.

Van egy másik munkalap, amin termelési adatok vannak, 4 jegyű kódonként egy sorban.

Elemzért kell készítenem az azonos alapanyabül készült minták alapján, aminek a része az összes, ilyen alapanyaból gyártott termék termelési adata.

Tehát azt szeretném, hogy az 1 munkalapon szűrővel kiválasztom az adott alapanyagot és a 2-es munkalapról összeszámolja nekem az ehhez tartozó legyártott mennyiségeket. Magát az összesítést szumhatöbb- szépen elvégzni, csak a kritériumot nem tudom neki megani, ezt mivel tudnán neki, makró nélkül megadni. (makrók futtatására nincs lehetőség policy alapján), cask függvényekkel tudok dolgozni.

Így talán érthetőbb.

Másik, hogy Adatok->érvényesítés->lista alapján csinálok legördülőt, amiben a forrást a fenti mintás táblázatból adom meg, viszont nem tudom az ismétlődéseket kivenni. A párszáz mintáből kb 4-5 fajta alapanyag van és a listában megjelenik a teljes lista. Ezt le lehetne valahogy szűrni, hogy az ismétlődések ne jelenjenek meg?

Köszi képen :R

Építésztechnikus. Építőmérnök.

(#33318) Fferi50 válasza föccer (#33317) üzenetére


Fferi50
őstag

Szia!

Az ismétlődéseket egyszerű módon eltávolíthatod. Egy segédoszlopba kiteszed mintás táblázatod megfelelő oszlopát, majd Adatok - ismétlődések eltávolítása.
Ez a "kigyomlált" segédoszlop legyen a legördülő forráslistája.
(Vagy az adott oszlopra speciális szűrőt használsz, azzal másoltatod ki a segédoszlopba - csak az egyedi értékek bejelölve a párbeszédpanelen - szűrendő az oszlop, szűrőfeltételnek kijelölöd az oszlop fejlécét, hova másolja a segédoszlop első cellája. Fontos, hogy a szűrőt arról a munkalapról kell indítani, ahova az értékeket kapni szeretnéd.)

Üdv.

(#33319) föccer válasza Fferi50 (#33318) üzenetére


föccer
nagyúr

További beavatkozás nálkül kellene kinyernem az adatot. Bianco készül, beírom a megfelelő adatokat és a nagy táblázatból leszűröm a kiértékelendő adatokat. Összegzés függvénnyel gyönyörű szépen tudom a szűrt elemekre elvégezni a megfelelő műveleteket, csak ezt a fránya gyártási mennyiséget nem tudom összehozni.

Lehet ezt a részét külön le kell majd kezelnem, de szeretném ha nem kellene. Elvileg ha egy külön cellába megadom a keresési értéket, akkor minden adatot kigyűjt, csak nem szeretném bonyolítani a dolgot.

üdv, föccer

Építésztechnikus. Építőmérnök.

(#33320) Juditta_56


Juditta_56
aktív tag

Sziasztok!

Ez miért ad értékhibát a SZÖVEG.KERES függvényre, akkor is, ha van benne "O"? ;] :O :F
[link]

Előre is köszönöm a választ, mert már mindent kipróbáltam... :W

"You may say that I'm a dreamer But I'm not the only one"

(#33321) lappy válasza Juditta_56 (#33320) üzenetére


lappy
őstag

Nálam csak annyit kellett vele tenni hogy az "o"-t az A oszlban újra beírtam és működött

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

(#33322) Juditta_56 válasza lappy (#33321) üzenetére


Juditta_56
aktív tag

Az túl egyszerű lenne ;] , ez egy köremailből származó adatsor, amit bemásolok egy táblázatba, úgy lenne "hülyebiztos", ha nem kéne mókolni vele...

"You may say that I'm a dreamer But I'm not the only one"

(#33323) Fferi50 válasza föccer (#33319) üzenetére


Fferi50
őstag

Szia!

Eddig azt hittem, hogy értem a feladatot, de most nagyon elbizonytalanodtam :(
"További beavatkozás nálkül kellene kinyernem az adatot. Bianco készül, beírom a megfelelő adatokat"

Ha bianco táblát kapsz, akkor miért is nem lehet beletenni amit szeretnél, hogy működjön?

"Összegzés függvénnyel gyönyörű szépen tudom a szűrt elemekre elvégezni a megfelelő műveleteket, csak ezt a fránya gyártási mennyiséget nem tudom összehozni"

A többi adatot milyen paraméterekkel szűröd? Lehet, hogy egy kis minta alapján többet tudnánk segíteni és nem beszélnénk el egymás mellett...

Üdv.

(#33324) föccer válasza Fferi50 (#33323) üzenetére


föccer
nagyúr

Hülyebiztosra kellene megcsinálni, mert vélhetően nem én fogom használni. Az eredeticélom az lett volna, hogy az összegyűjtött mintavételi táblában megcsinálják a szűrést és erre a szűrt tűáblára automatikusan számolja ki a szükséges értékeket. Mindenzt makro nálkül.

üdv, föccer

Építésztechnikus. Építőmérnök.

(#33325) Delila_1 válasza föccer (#33324) üzenetére


Delila_1
Topikgazda

Nem jó a részösszeg függvény?

Én sem látom teljesen a feladatot. :(

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

(#33326) föccer válasza Delila_1 (#33325) üzenetére


föccer
nagyúr

Mindegy, szerintem hétvégén átszervezem a táblát és megoldom máshogy. Már itthon vagyok, nem tudok több képet csinálni róla.

A részösszeggel akartam én is, de egy szöveget kellene kiszednem egy tömbből. A tömb sok, ismétlődő adat van, amik közül 1-et választok auto szűrővel. A kiválasztott adat (szöveg) kellene nekem, mert egy másik munkalapon ez a szöveg a kritériuma egy szumhatöbb függvénynek.

üdv, föccer

Építésztechnikus. Építőmérnök.

(#33327) Delila_1 válasza föccer (#33326) üzenetére


Delila_1
Topikgazda

A másik lapra tehetnél egy érvényesítést, amiből kiválaszthatod az egyik lap kritériumát.

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

(#33328) Fferi50 válasza föccer (#33324) üzenetére


Fferi50
őstag

Szia!

Majdnem "hülyebiztos" csak akkor lesz, ha listát nyújtasz át tálcán, hogy ebből tessék választani. De ne legyenek kétségeid, hogy ilyenkor is lesz, aki "mellé trafál".

Nem lenne egyszerűbb egy kimutatást csinálni az adatokból, amit aztán mindenki kedve szerint szűrhet, szabhat-varrhat (mármint a megengedett keretek között)?
Én lehet, ebbe az irányba indulnék el.

Másrészt szerintem képekkel sem megyünk túl sokra, igazán a mintatábla segít, mert abban lehet tesztelni is a javaslatokat.
Sajnos távolbalátási és gondolatolvasási képességekkel ezen a fórumon kevesen rendelkeznek :)

Amint látod, így csak találgatunk - mint az egyszeri rabbi a libáknál :)

Üdv.

[ Szerkesztve ]

(#33329) SzlobiG


SzlobiG
félisten

Sziasztok ismét a nagy koponyák segítségét kérném az alábbi dokumentumban:

[link]

A kérdés a legfelső sorban leledzik, ha esetleg valaki tudja rá a megoldást azt megköszönném. :R

(#33330) lappy válasza SzlobiG (#33329) üzenetére


lappy
őstag

Szia
=HA(C4=C3;HA(B4-B3>IDŐ(0;15;0);1;0);1) ez megnézi a cellák alapján hogy az azonosító és az idő kritérium alapján meg felel-e
a végén pedig egy darabhatöbb függvénnyel lehet számolni a cellákat.
a D3 mindig 1

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

(#33331) SzlobiG válasza lappy (#33330) üzenetére


SzlobiG
félisten

Köszi. Nagyon hasznos viszont csak részben működik.

A [link] alatt mutatom mire gondolok.

:R

(#33332) HREH


HREH
senior tag

Olyat hogyan lehet csinálni, hogy ha egy cellába beírok egy adott szót, akkor az alatta lévő cellákba automatikusan írjon be előre megadott szavakat/mondatokat?

Olyanra gondolok, hogy az A1 cellába beírom például, hogy virágok, erre az A2 cellába írja be, hogy "rózsa", A3-ba hogy "ibolya" és így tovább.
Hogyan kellene ezt megoldani? Több kulcsszavam lenne, minden kulcsszó alá menne 10-12 szó/mondat.

"Fun isn't something one considers when balancing the universe. But this... does put a smile on my face."

(#33333) Delila_1 válasza HREH (#33332) üzenetére


Delila_1
Topikgazda

Az A2 képlete:

=HAHIBA(INDEX($H$1:$L$16;SOR();HOL.VAN($A$1;$H$1:$L$1;0));"")

A képletben szereplő tartományokat ($H$1:$L$16 és $H$1:$L$1) az adataidnak megfelelően módosítsd.

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

(#33334) puma0812


puma0812
csendes tag

Sziasztok

Nekem olyan gondom van hogy adott exel tábla

c7-c206 feltételes formázást adtam meg neki ha azonos érték jelen esetben( C7:12345 C8: 12345)
akkor jelölje ki a cella szinét pirossal .
Meg is történt ki is jelölte szépen MS Office
De mi a cégbe Libre ofict használunk és mihelyst rámentek a libra officba
már elfelejti kijelölni a 2 egyforma cellát.
Tudnátok ebbe nekem segíteni macroval?
Hogy ha a C7-C206 ig 2 egyforma szám van jelölje pirossal mint a képen:
Előre is köszönöm
Üdvözlettel PUMA

[ Szerkesztve ]

(#33335) lappy válasza puma0812 (#33334) üzenetére


lappy
őstag

Nézd meg hogy LibreOffice-ban milyenek a feltételes formázás lehetőségei

[ Szerkesztve ]

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

(#33336) tzimash


tzimash
őstag

Üdv,

Van egy kacifántos problémám :)
Vannak számozott polcaim(A), egy polcra csak egyféle cikkszámmal(B) kerülhetnek termékek. Ismert a polcok kapacitása(C) is, és az hogy jelenleg mennyi termék(D) van rajta.
A cél az, hogy helyet szabadítsak fel, oly módon, hogy összepakolom egy polcra az egyforma termékeket. 6 ill. 4 férőhelyes polcaim vannak. Az nem cél, hogy minél több teli polc legyen, tehát ha az egyiken van 5 termék, egy másikon 3, akkor nem fogok egyikről átpakolni a másikra, csak azért, hogy valamelyi tele legyen, mert úgy is két polcot foglal. És az is kritérium, hogy pl. ne a 4db terméket pakoljam hozzá az 1db-hoz, hanem fordítva.
Továbbá még van egy olyan eset is, amikor adott termékből csak 1db van össz-vissz, ennek tárolása nem gazdaságos, így le lehetne venni a polcról.

Az eredménynek valahogy úgy kellene kinéznie, hogy: cikkszám 5-ös polc(2) >> 1-es polc(3).
Kivitelezhető ez valahogy?
Addig jutottam, hogy kiszedtem a listából azokat a polcokat, amelyek tele vannak. :B

Köszönöm előre is a segítséget.

(#33337) puma0812 válasza lappy (#33335) üzenetére


puma0812
csendes tag

Feltétel
Színskála
Adatsav
Ikon készlet
Dátum

De ezeket próbáltam mar az első mentesig ment is ki lep officbol vissza es már nem is jó
Evvel a függvénnyel
DARABTELI($C$7:$C$206;$C7)>1
Evvel csináltam
Ezért kellene macroval megoldani

Üdv Zoltán

[ Szerkesztve ]

(#33338) huliganboy


huliganboy
addikt

Sziasztok!

Az alábbi makró hogyan módosítható, hogy a gép ne haljon bele a futtatásába?

Sub Nagy_Kezdőbetű()
' A megadott tartomány összes celláján végrehajtja a ciklust.
For Each x In Range("D3:AD20000")
' A Microsoft Visual Basic for Applications (VBA) alkalmazásban nincs nagy kezdőbetűs függvény.
' Ezért a munkalapfüggvényt kell használnia a következő módon:
x.Value = Application.Proper(x.Value)
Next
End Sub

Kb lehetetlen kivárni mig befejezi...

Köszönöm!

(#33339) Pakliman válasza huliganboy (#33338) üzenetére


Pakliman
tag

Szia!

Így valamivel gyorsabb lesz:

Sub Nagy_Kezdőbetű()
'Letiltjuk a cellák újraszámolását és a képernyő frissítését
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
End With

' A megadott tartomány összes celláján végrehajtja a ciklust.
For Each x In Range("D3:AD20000")
' A Microsoft Visual Basic for Applications (VBA) alkalmazásban nincs nagy kezdőbetűs függvény.
' Ezért a munkalapfüggvényt kell használnia a következő módon:

'Az átalakításból eleve kizárjuk az üres és a nem szöveget tartalmazó cellákat
If (Not IsEmpty(x)) And (Not IsNumeric(x)) Then
x.Value = Application.Proper(x.Value)
End If
Next

'Engedélyezzük a cellák újraszámolását és a képernyő frissítését
With Application
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
End Sub

[ Szerkesztve ]

(#33340) Fferi50 válasza huliganboy (#33338) üzenetére


Fferi50
őstag

Szia!

Megpróbálhatod ezt:
Sub nagybetus()
Dim ertekek, xx As Long, yy As Long
ertekek = Range("D3:AD20000").Value
For xx = 1 To UBound(ertekek)
For yy = 1 To UBound(ertekek, 2)
ertekek(xx, yy) = Application.Proper(ertekek(xx, yy))
Next
Next
Range("D3:AD20000").Value = ertekek
End Sub

Ha esetleg memória problémát jelezne, akkor vedd kétfelé a területet.

Üdv.

(#33341) huliganboy


huliganboy
addikt

#33339) Pakliman
(#33340) Fferi50

Köszönöm srácok végül az alábbi megoldást választottuk: (nem tudom mennyire elegáns, de működik)

Sub Nagy_Kezdőbetű_F()


Set x = Application.InputBox(prompt:="Add meg a nagybetűsíteni kívánt tartományt!" & vbCrLf & "VIGYÁZZ! Számot tartalmazó oszlop ne szerepeljen benne!", Title:="Tartomány megadása", Type:=8)
x.Select
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Application.EnableEvents = False
ActiveSheet.DisplayPageBreaks = False

For Each x In Selection

x.Value = Application.WorksheetFunction.Trim(x.Value)
x.Value = Application.Proper(x.Value)
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
Application.EnableEvents = True
ActiveSheet.DisplayPageBreaks = True


MsgBox "KÉSZ!", vbInformation

End Sub

(#33342) Fferi50 válasza huliganboy (#33341) üzenetére


Fferi50
őstag

Szia!

Csak egy icipici megjegyzés:
Ahhoz, hogy meghatározd a tartományt, nem kell kijelölni (select), az is időt igényel. Anélkül is lehet használni (sőt az a kívánatos - a selecteket száműzni kell mindenhonnan, ahonnan csak lehet).
Tehát ez működik
x.select kihagyva

For each x in x.cells

Üdv.

(#33343) botond2225 válasza botond2225 (#33273) üzenetére


botond2225
csendes tag

Sziasztok,

Olyan problémára keresek megoldást, office 2013, magyar verziónál, hogy egy excelben lenne 2 munkalap, ahol úgy szeretnék keresni az egyik munkalapon egy oszlopban minden cellán menjen végig és keresse meg a másik munkalap egyik oszlopában, hogy szerepel a cella vagy sem. Ha szerepel, nem kell semmit csinálnia, ha viszont nem szerepel, színezze be a cellát.

A cél, hogy 2 oszlopot akarok összehasonlítani, amely oszlopokban (ideális esetben) ugyanazok az értékek szerepelnek, de az egyikben nem biztos, hogy szerepel ami a másikban megtalálható. Ezt a különbséget kellene megtalálnom és ezt szeretném jelölni valahogy (beszínezni).

Tudtok erre megoldást?

Köszi a segítséget előre is.

(#33344) Delila_1 válasza botond2225 (#33343) üzenetére


Delila_1
Topikgazda

Nézd meg a DARABTELI függvényt, és alkalmazd a feltételes formázásban.
Ha a darabteli értéke egyenlő nullával, akkor adjon háttérszínt a cellának.

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

(#33345) botond2225 válasza Delila_1 (#33344) üzenetére


botond2225
csendes tag

Köszi a segítséget.
0 meg 1 értéket kiír már, de hogy színezem be?

(#33346) Delila_1 válasza botond2225 (#33345) üzenetére


Delila_1
Topikgazda

A feltételes formázásnál nem lehet másik lap tartományára hivatkozni, ezért kell egy segédoszlop az első lapra. Ennek az értékét figyeltetjük a formázással.

A képen ez a képlet B oszlopban van, B1-ben =DARABTELI(Munka2!A:A;A1)

A két lap egymás mellett látható, a felt. formázás a Munka1 A1:A17 tartományára vonatkozik.

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

(#33347) botond2225 válasza Delila_1 (#33346) üzenetére


botond2225
csendes tag

Köszi szépen, sikerült megcsinálni.
Hálás köszönet.

(#33348) Nowitzki


Nowitzki
csendes tag

Sziasztok!

Milyen paramétert kell megadnom a print # használatakor hogy a karakter kódolás stimmeljen? Megcsinálja az adatexportot, de a txt fájlban a szöveg tele van kérdőjelekkel az ékezetes karakterek helyén, pedig a txt fájl alapból utf-8-ban van mentve.
Tudnátok segíteni nekem ebben?

Köszönöm!

(#33349) Iginotus


Iginotus
őstag

Sziasztok, ez lehet nektek egyszerű lesz nekem annyira nem. Eljutottam vele egy darabig de itt megakadtam.

Első feladat, hogy J oszlop soraiba kerülő számokhoz rendelje oda a készletet a M oszlopba, kb így:
=IF(A2:A117,C2: C117)
Tehát ha M oszlopba 44 van írva akkor a J oszlopba belekerül a C45 nek az értéke.
Nem tudom Excelben megírni, hogy
X éréke beadható 1 töl 115 ig szám
IF M2=(AX) then J2=(CX)
Így kerülne bele mindig az az üzlet aktuális készlete ahova szállítani akarunk.
M és K oszlopot kézzel töltöm fel.

Az lenne a második feladat, hogy az O oszlopba az 2-3-4-5.. stb mezőbe kiírja, hogy melyik üzletből kell ide szállítani a tételeket. Az már megvan, hogy mennyi az összes készlet, és hogy egy üzletbe (forgalom arányosan) mennyi db terméket kell szállítani. De azt is meg kell határozzam, hogy ezt melyik üzletből a legegyszerűbb.
Kritériumok:
- Mindig egésszel számolunk fél termék nincs.
- Amelyik üzletbe szállítani kell értelem szerűen onnan ne szállítsunk el.
- Egy üzletből ne menjen két üzletbe az áru. Tehát csak abból b be menjen. Úgy kéne hogy C oszlop darabjait O-ba kiválogatva hogy melyik a legpraktikusabb szállítás. (pl. 2 es üzletbe 199 darab termék kell még. Tehát C40+C41+C42+C43+C44+C49 (198=35+47+37+43+21+15) ez a legközelebbi azt nem tudom, lehet valahogy ki kell hozni a 199-et is na de én ahohz nem értek)

Itt van a doksi:

doksi

Nem tudom mit szoktak ilyenkor felajánlani, de mondj lesörözzük vagy csoki szaloncukor stb fel tudok ajánlani. Meg persze előre is köszönöm!

[ Szerkesztve ]

Plug and Pray... :)

(#33350) Iginotus válasza Iginotus (#33349) üzenetére


Iginotus
őstag

=FKERES(J2;A$2: C$116;3;HAMIS)
Az elsö része megvan :D

[ Szerkesztve ]

Plug and Pray... :)

Útvonal

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