Hallo,
Bei mir schreibt er in Spalte A in alle Zeilen eine 0.
rechnet dann auch alles aus und schreibt mir die Werte in die Spalten B bis E.
Ich möchte in Spalte A die Wörter Summe, in der nächsten Zeile das Wort Min usw haben.
Bei Average kommt immer ein Debugfehler:
Laufzeitfehler 1004
Die Average-Eigenschaft des WorksheetFunction-Objektes kann nicht zugeordnet werden.
Hier ist mein gesamter Quellcode. Interessant ist nur der untere Teil:
Sub Makro()
'
' Makro2 Makro
'
'Layout
'
Range("B2").Select
Selection.Cut
Range("C1").Select
ActiveSheet.Paste
Range("B3").Select
Selection.Cut
Range("D1").Select
ActiveSheet.Paste
Range("B4").Select
Selection.Cut
Range("E1").Select
ActiveSheet.Paste
Range("A2").Select
Selection.Cut
Range("B2").Select
ActiveSheet.Paste
Range("A3").Select
Selection.Cut
Range("C2").Select
ActiveSheet.Paste
Range("A4").Select
Selection.Cut
Range("D2").Select
ActiveSheet.Paste
Range("A5").Select
Selection.Cut
Range("E2").Select
ActiveSheet.Paste
Rows("3:5").Select
Selection.Delete Shift:=xlUp
ActiveWindow.SmallScroll Down:=-57
Cells.Select
Range("A3").Activate
Selection.Font.Bold = True
Selection.Font.Bold = False
Rows("1:1").Select
Selection.Font.Bold = True
Rows("1:2").Select
With Selection
.VerticalAlignment = xlTop
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
With Selection
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
With Selection
.HorizontalAlignment = xlRight
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("C2").Select
ActiveWindow.SmallScroll Down:=135
'Ersetzen von Punkt durch Komma
Range(Cells(3, 2), Cells(Cells(1000, 5).End(xlUp).Row, 5)).Select
Dim c As Variant
For Each c In Selection.Cells
If IsNumeric(Replace(c.Value, ".", "")) Then
c.Value = CDbl(Replace(c.Value, ".", ","))
c.NumberFormat = "General"
End If
Next c
'Formatierung in Zahlen
Columns("B:C").Select
Selection.NumberFormat = "0.00000"
Columns("D:E").Select
Selection.NumberFormat = "0.000"
'Summe, Max, Min, Mittewert
Dim lngFreieZeile As Long
Dim lngLetzteZeile As Long
With ThisWorkbook.ActiveSheet
lngLetzteZeile = .Cells(.Cells.Rows.Count, 1).End(xlUp).Row
lngFreieZeile = lngLetzteZeile + 1
.Cells(lngFreieZeile, "A") = WorksheetFunction.Sum(Range("A1:A" & CStr(lngLetzteZeile)))
.Cells(lngFreieZeile, "B") = WorksheetFunction.Sum(Range("B1:B" & CStr(lngLetzteZeile)))
.Cells(lngFreieZeile, "C") = WorksheetFunction.Sum(Range("C1:C" & CStr(lngLetzteZeile)))
.Cells(lngFreieZeile, "D") = WorksheetFunction.Sum(Range("D1:D" & CStr(lngLetzteZeile)))
.Cells(lngFreieZeile, "E") = WorksheetFunction.Sum(Range("E1:E" & CStr(lngLetzteZeile)))
.Cells(lngFreieZeile + 1, "A") = WorksheetFunction.Min(Range("A1:A" & CStr(lngLetzteZeile)))
.Cells(lngFreieZeile + 1, "B") = WorksheetFunction.Min(Range("B1:B" & CStr(lngLetzteZeile)))
.Cells(lngFreieZeile + 1, "C") = WorksheetFunction.Min(Range("C1:C" & CStr(lngLetzteZeile)))
.Cells(lngFreieZeile + 1, "D") = WorksheetFunction.Min(Range("D1:D" & CStr(lngLetzteZeile)))
.Cells(lngFreieZeile + 1, "E") = WorksheetFunction.Min(Range("E1:E" & CStr(lngLetzteZeile)))
.Cells(lngFreieZeile + 2, "A") = WorksheetFunction.Max(Range("A1:A" & CStr(lngLetzteZeile)))
.Cells(lngFreieZeile + 2, "B") = WorksheetFunction.Max(Range("B1:B" & CStr(lngLetzteZeile)))
.Cells(lngFreieZeile + 2, "C") = WorksheetFunction.Max(Range("C1:C" & CStr(lngLetzteZeile)))
.Cells(lngFreieZeile + 2, "D") = WorksheetFunction.Max(Range("D1:D" & CStr(lngLetzteZeile)))
.Cells(lngFreieZeile + 2, "E") = WorksheetFunction.Max(Range("E1:E" & CStr(lngLetzteZeile)))
.Cells(lngFreieZeile + 3, "A") = WorksheetFunction.Average(Range("A1:A" & CStr(lngLetzteZeile)))
.Cells(lngFreieZeile + 3, "B") = WorksheetFunction.Average(Range("B1:B" & CStr(lngLetzteZeile)))
.Cells(lngFreieZeile + 3, "C") = WorksheetFunction.Average(Range("C1:C" & CStr(lngLetzteZeile)))
.Cells(lngFreieZeile + 3, "D") = WorksheetFunction.Average(Range("D1:D" & CStr(lngLetzteZeile)))
.Cells(lngFreieZeile + 3, "E") = WorksheetFunction.Average(Range("E1:E" & CStr(lngLetzteZeile)))
End With
End Sub
|