AW: Minium, Maximum und Mittelwert mit VBA
26.10.2015 20:19:54
Manuel
Hallo Daniel,
das kopieren und sortieren der Daten habe ich hinbekommen. Jedoch schaffe ich es nicht die Formel anzupassen.
Hier ist mein angepasster Code:
Sub test()
With Sheets("Informationen")
Sheets("Upload").Range("C:C,E:E, O:O").Copy
.Cells(1, 1).PasteSpecial xlPasteValues
.Range("A:B").Sort Key1:=.Cells(1, 1), Order1:=xlAscending, _
key2:=.Cells(1, 2), order2:=xlAscending, _
key3:=.Cells(1, 3), order3:=xlAscending, _
Header:=xlYes
With .UsedRange.Columns(3)
With .Resize(.Rows.Count - 1, 4).Offset(1, 1)
.Columns(1).FormulaR1C1 = "=IF(RC1R[1]C1,RC2,R[1]C)" 'Max
.Columns(3).FormulaR1C1 = "=IF(RC1R[1]C1,RC2,Sum(RC2,R[1]C))" 'Summe
.Columns(4).FormulaR1C1 = "=IF(RC1R[1]C1,1,R[1]C+1)" 'Anzahl
.Columns(2).FormulaR1C1 = "=IF(RC1R[-1]C1,RC[1]/RC[2],"""")" 'Mittelwert
.Formula = .Value
End With
End With
.Range("A:F").RemoveDuplicates 1 And 2, xlYes
.Range("E:G").EntireColumn.Delete
.Range("B1:D1").Value = Array("Min", "Max", "Mittelwert")
End With
End Sub
Ein Problem was mir dabei u.a. aufgefallen ist, die kopierten Datumswerte werden nach dem Datum sortiert und am Ende auch gelöscht. Jedoch möchte ich ja das jedes Jahr einzeld berücksichtigt wird und nicht jedes Datum extra.
Kannst du dir das ganze vielleicht nochmal zu gemüte führen?
Grüße,
Manuel