- Kompakt TUF Gaming alaplappal bővült az ASUS AMD-s palettája
- Nemcsak az ellenfél, a tévéd is kifekszik a Resident Evil fegyvereitől
- 5K-t vagy 330 Hz-es frissítést is kérhetünk a Philips új monitorától
- AI: tanulj már meg rendesen pózolni, ember!
- A Keychron hozzáférhetővé tette a perifériái CAD fájljait
- Kormányok / autós szimulátorok topikja
- Nemcsak az ellenfél, a tévéd is kifekszik a Resident Evil fegyvereitől
- Ventilátorok - Ház, CPU (borda, radiátor), VGA
- VR topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Nvidia GPU-k jövője - amit tudni vélünk
- Kompakt vízhűtés
- Milyen billentyűzetet vegyek?
- Milyen TV-t vegyek?
- 5.1, 7.1 és gamer fejhallgatók
-
PROHARDVER!
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
-
Fferi50
Topikgazda
válasz
Declare
#33301
üzenetére
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.
Új hozzászólás Aktív témák
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Kormányok / autós szimulátorok topikja
- Háztartási gépek
- Nemcsak az ellenfél, a tévéd is kifekszik a Resident Evil fegyvereitől
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Luck Dragon: Asszociációs játék. :)
- Ventilátorok - Ház, CPU (borda, radiátor), VGA
- Xiaomi 15T Pro - a téma nincs lezárva
- Okosóra és okoskiegészítő topik
- Milyen okostelefont vegyek?
- További aktív témák...
- MEGA AKCIÓ! - Jogtiszta Windows - Office & Autodesk & CorelDRAW - Azonnal - Számlával - Garanciával
- HP. Laptop. i5. Model: 15-da1002nq
- Microsoft Office 2024 Home Business dobozos
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Játékkulcsok ! : PC Steam, EA App, Ubisoft, Windows és egyéb játékok
- GAMING PC! Ryzen 9 3900X / RTX 3080 / B550 / 16GB 3200MHz / 500GB NVMe / 1250w Gold! BezsámítOK
- 27% - Philips Evnia 27M2N3200S IPS Monitor! 1920x1080 / 180Hz / 0.5ms / FreeSync
- Xiaomi 15 256GB,Újszerű,Dobozaval,12 hónap garanciával
- Xiaomi 14T Pro 512GB,Újszerű,Dobozaval,12 hónap garanciával
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Fferi50
