Hirdetés
- gban: Ingyen kellene, de tegnapra
- MasterDeeJay: Ram gondolatok 2026 január - DDR3-as gép is lehet megoldás? Mi a minimum?
- Luck Dragon: Asszociációs játék. :)
- eBay-es kütyük kis pénzért
- Toomy: FOXPOST: régen jó volt, de már jobban jársz, ha elfelejted
- Parci: Milyen mosógépet vegyek?
- norbx: Számítógép.hu
- MasterDeeJay: i7 4980HQ asztali gépben (vs i7 4770)
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- Candy: Kossuth Lajos azt üzente, elfogyott a gémergépe
-
LOGOUT
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.
Új hozzászólás Aktív témák
-
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
LoopA 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
, 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

Új hozzászólás Aktív témák
Hirdetés
- Duplázik a NAND is: a Samsung 100%-os áremelésben gondolkodik
- Anglia - élmények, tapasztalatok
- VR topik
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Milyen monitort vegyek?
- Milyen billentyűzetet vegyek?
- Milyen légkondit a lakásba?
- OnePlus 15 - van plusz energia
- Vége az ajánlott áron árult GeForce-oknak?
- EAFC 26
- További aktív témák...
- iPhone 16 Pro Max 256GB 92% (1év Garancia)
- Új Lenovo 14 Slim 5 WUXGA OLED Ultra7 155H 16mag 32GB 1TB SSD Intel ARC 8-Core iGPU Win11 Garancia
- iPhone 13 Pro Max 128GB 100% (1év Garancia)
- utolsó - Dell Alienware 18 Area-51 AA18250 18" - Intel Core Ultra 9 275HX, 64GB, 2TB SSD, RTX 5090
- LG 32GS94UX - 32" OLED / UHD 4K / 240Hz - 480Hz & 0.03ms / 1300 Nits / NVIDIA G-Sync / AMD FreeSync
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: Laptopműhely Bt.
Város: Budapest
Csiszolgatom a macrokat, amiket összeallitottam a segitsegetekkel es azert mindig elöjön valami, de ezzel most nem birok.
, de ha lesz idötök valamikor, ez hasznos lenne, ha valahogy ki lehetne küszöbölni ezt a hibat.
Fferi50
