Hallo zusammen,
Ich habe ein Problem mit einem Marko.
Die unten zu sehende Tabelle, die aus SAP exportiert wurde und bearbeitet werden muss, möchte ich mit Hilfe eines Makros vereinfachen. Das Bild dient nur zur Veranschaulichung. Mir wurde in dem Forum bereits geholfen, um eine Summenformel in die gelben Spalten einzufügen, was super funktioniert hat.
Jetzt möchte ich das Makro umschreiben. Ich möchte in die Orangenen Zeilen eine Summenformel hinzufügen, welche alle Werte aus den darüber liegenden gelben (Farbcode 36) Zeilen summiert, bis die nächste orangene Zeile kommt. Der Spaltenbereich ist ("H1:H2500"), ("BD1:BD2500"). Es betrifft also die Spalten H bis BD.
Der Code für das einfügen der Summenformel in die gelben Felder ist folgender:
Sub test()
Const C_REL As String = "=SUM(R[-WERT]C:R[-1]C)"
Dim rngU As Range, lngRow As Long
Dim lngBeg As Long, lngEnd As Long
'define the rows
lngBeg = 1: lngEnd = 1
Set rngU = ActiveSheet.UsedRange
Set rngU = Intersect(rngU, Columns("J:BF"))
Set rngU = rngU.Offset(1).Resize(rngU.Rows.Count - 1)
' iterate each row
For lngRow = 1 To rngU.Rows.Count
' search for any color in the row of the rngU
If rngU.Rows(lngRow).Cells(1).DisplayFormat.Interior.ColorIndex <> -4142 Then
lngEnd = lngRow
rngU.Rows(lngRow).FormulaR1C1 = Replace(C_REL, "WERT", Format(lngEnd - lngBeg, "#"))
lngBeg = lngEnd + 1
End If
Next lngRow
End Sub
Kann mir jemand weiterhelfen?
|