Hilfe bei Makro

Bild

Betrifft: Hilfe bei Makro
von: Figo
Geschrieben am: 18.11.2015 14:24:03


Public Sub SummeWenn()
         Dim lZeile  As Long, Zeile_L As Long
         Dim wks As Worksheet
       
         
         Set wks = Tabelle4
         
         With wks
            
             For lZeile = 4 To 43
                 .Cells(lZeile, 6) = (Application.WorksheetFunction.SumIfs(Tabelle5.Range("F:F") _
 _
, _
                     Tabelle5.Range("C:C"), .Cells(lZeile, 3).Value, Tabelle5.Range("E:E"), . _
Cells(lZeile, 5).Value) + Application.WorksheetFunction.SumIfs(Tabelle6.Range("F:F"), _
                     Tabelle6.Range("C:C"), .Cells(lZeile, 3).Value, Tabelle6.Range("E:E"), . _
Cells(lZeile, 5).Value) + Application.WorksheetFunction.SumIfs(Tabelle7.Range("F:F"), _
                     Tabelle7.Range("C:C"), .Cells(lZeile, 3).Value, Tabelle7.Range("E:E"), . _
Cells(lZeile, 5).Value) + Application.WorksheetFunction.SumIfs(Tabelle8.Range("F:F"), _
                     Tabelle8.Range("C:C"), .Cells(lZeile, 3).Value, Tabelle8.Range("E:E"), . _
Cells(lZeile, 5).Value) + Application.WorksheetFunction.SumIfs(Tabelle9.Range("F:F"), _
                     Tabelle9.Range("C:C"), .Cells(lZeile, 3).Value, Tabelle9.Range("E:E"), . _
Cells(lZeile, 5).Value) + Application.WorksheetFunction.SumIfs(Tabelle10.Range("F:F"), _
                     Tabelle10.Range("C:C"), .Cells(lZeile, 3).Value, Tabelle10.Range("E:E"), .  _
_
Cells(lZeile, 5).Value) + Application.WorksheetFunction.SumIfs(Tabelle11.Range("F:F"), _
                     Tabelle11.Range("C:C"), .Cells(lZeile, 3).Value, Tabelle11.Range("E:E"), .  _
_
Cells(lZeile, 5).Value) + Application.WorksheetFunction.SumIfs(Tabelle12.Range("F:F"), _
                     Tabelle12.Range("C:C"), .Cells(lZeile, 3).Value, Tabelle12.Range("E:E"), .  _
_
Cells(lZeile, 5).Value) + Application.WorksheetFunction.SumIfs(Tabelle13.Range("F:F"), _
                     Tabelle13.Range("C:C"), .Cells(lZeile, 3).Value, Tabelle13.Range("E:E"), .  _
_
Cells(lZeile, 5).Value) + Application.WorksheetFunction.SumIfs(Tabelle14.Range("F:F"), _
                     Tabelle14.Range("C:C"), .Cells(lZeile, 3).Value, Tabelle14.Range("E:E"), .  _
_
Cells(lZeile, 5).Value) + Application.WorksheetFunction.SumIfs(Tabelle15.Range("F:F"), _
                     Tabelle15.Range("C:C"), .Cells(lZeile, 3).Value, Tabelle15.Range("E:E"), .  _
_
Cells(lZeile, 5).Value) + Application.WorksheetFunction.SumIfs(Tabelle16.Range("F:F"), _
                     Tabelle16.Range("C:C"), .Cells(lZeile, 3).Value, Tabelle16.Range("E:E"), .  _
_
Cells(lZeile, 5).Value))
             Next lZeile
             
             End With
                         
     End Sub
Hallo, ich habe das o.g. Makro geschrieben. Dies berechnet die Werte von Zeile 4 bis 43. Nun möchte ich das dieses Makro wiederholend arbeitet.
Sprich: Von Zeile 4 bis 43; dann 45 "Freizeilen"; dann soll das Makro Zeile 89 bis 128 berechnen; dann wieder 45 "Freizeilen";... dann immer so weiter bis Zeile 35.700
Natürlich bin ich auch über jeden Vereinfachungstipp dankbar!

Bild

Betrifft: AW: Hilfe bei Makro
von: Rudi Maintaire
Geschrieben am: 18.11.2015 14:43:40
Hallo,
als Ansatz:
for x=4 to 35700 step 85
for lzeile=0 to 39
.Cells(x + lZeile, 6) = (Application.WorksheetFunction.SumIfs(Tabelle5.Range("F:F"), _
Tabelle5.Range("C:C"), .Cells(x + lZeile, 3).Value, Tabelle5.Range("E:E"), . _
Cells(x + lZeile, 5).Value)........
Gruß
Rudi

Bild

Betrifft: AW: Hilfe bei Makro
von: Figo
Geschrieben am: 18.11.2015 15:33:24
Hallo, das Funktioniert so leider nicht, da (x+lZeile) ein Teil der Berechnungsformel ist. Somit erhalte ich dann falsche Ergebnisse

Bild

Betrifft: AW: Hilfe bei Makro
von: Rudi Maintaire
Geschrieben am: 18.11.2015 15:59:28
Hallo,
was weiß ich, was du berechnen willst.
War ja nur ein Ansatz.
Gruß
Rudi

Bild

Betrifft: AW: Hilfe bei Makro
von: Figo
Geschrieben am: 18.11.2015 19:44:36
Das weiß ich, dass du das nicht weißt..
War nur eine Antwort um eventuell weitere Ansätze zu erhalten.
Gruß
Figo

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Bei festgelegtem Zellwert die Zeile prüfen"