14.06.2022, 11:48
Hallo,
mein Freund hat von einer Kollegin eine Datei mit einem Makro übernommen und würde gerne etwas am Ergebnis des Makros ändern.
Es werden Teilergebnisse in den Spalten A, D und L gezogen.
In Spalte L wird dann das Ergebnis mit
=ROUND(RC1/4,0)
überschrieben.
In Spalte T, die komplett leer ist, soll das Ergebnis des Aufrundens in der jeweiligen Zeile mit übernommen werden.
Bisher sieht es so aus:
So weit so gut. Allerdings soll nun anstatt der Werte des Aufrundens die tatsächliche Formel beibehalten werden, da die Datei nach Nutzung des Makros weiterhin erweitert bzw. reduziert wird und die jeweiligen Zellen weiterhin dynamisch sein sollen.
Könnt ihr mir also sagen, wie ich den o.g. Code so anpassen kann, dass in L die Formel erhalten bleibt und in T die Formel ebenfalls angezeigt wird, aber der Rest der Spalte weiterhin leer bleibt?
Vielen Dank!
LG
Fanny
mein Freund hat von einer Kollegin eine Datei mit einem Makro übernommen und würde gerne etwas am Ergebnis des Makros ändern.
Es werden Teilergebnisse in den Spalten A, D und L gezogen.
In Spalte L wird dann das Ergebnis mit
=ROUND(RC1/4,0)
überschrieben.
In Spalte T, die komplett leer ist, soll das Ergebnis des Aufrundens in der jeweiligen Zeile mit übernommen werden.
Bisher sieht es so aus:
Code:
Selection.Subtotal GroupBy:=7, Function:=xlSum, TotalList:=Array(1, 4, 12), _
Replace:=True, PageBreaks:=True, SummaryBelowData:=True
Selection.ClearOutline
With Columns(12) 'L
.Copy
.PasteSpecial xlPasteValues
.Replace What:="0", Replacement:=vbNullString, LookAt:=xlWhole
.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=ROUND(RC1/4,0)"
End With
Dim arr, i As Long
arr = Cells(1, 1).CurrentRegion.Columns(12)
For i = 2 To UBound(arr)
If Not IsNumeric(arr(i, 1)) Then arr(i, 1) = vbNullString
Next i
Cells(1, 20).Resize(UBound(arr)) = arr
So weit so gut. Allerdings soll nun anstatt der Werte des Aufrundens die tatsächliche Formel beibehalten werden, da die Datei nach Nutzung des Makros weiterhin erweitert bzw. reduziert wird und die jeweiligen Zellen weiterhin dynamisch sein sollen.
Könnt ihr mir also sagen, wie ich den o.g. Code so anpassen kann, dass in L die Formel erhalten bleibt und in T die Formel ebenfalls angezeigt wird, aber der Rest der Spalte weiterhin leer bleibt?
Vielen Dank!
LG
Fanny