trotz intensiver Suche habe ich keine Lösung für mein Problem gefunden.
Ich habe einen Loop geschrieben, in dem 4 Funktionen ausgeführt werden und die Ergebnisse fortlaufend in Zellen geschrieben werden. Die Funktionen sind:
- Average
- Median
- StDevP
- Skew
Es funktioniert auch ganz gut, allerdings bringen die Funktionen nach einigen erfolgreichen Loop Schleifen einen Fehler (zuerst beginnt Skew, und dann nach der Reihe die anderen mit demselben Fehler...)
Laufzeitfehler 1004
Die Skew-Eigenschaft des Worksheetfunction-Objektes kann nicht zugeordnet werden.
Hat jemand eine Idee woran das liegen kann? Hier der Code:
Option Explicit
Dim wksf As Worksheet
Dim wkse As Worksheet
Dim qc As Long
Dim qr As Long
Dim tr As Long
Dim sr As Long
Dim c As Long
Sub Erstuebersicht()
Application.ScreenUpdating = False
Sheets.Add After:=Sheets(Sheets.Count) 'Sheet erstellen
ActiveSheet.Name = "Erstuebersicht" 'Sheet benennen
Set wksf = ThisWorkbook.Worksheets("Fertiger_Datensatz")
Set wkse = ThisWorkbook.Worksheets("Erstuebersicht")
qc = 2 'Spaltenindex für die Quelldaten - Startwert
qr = 0 'Zeilenindex für die Quelldaten - Startwert
tr = 5 'Zeilenindex für die Zielzelle - Startwert
sr = wksf.Range("A65535").End(xlUp).Row 'Gesamtzeilen mit Daten in den Quelldaten
c = 1 'Loopzähler
Do Until wksf.Cells(5, qc) = "Ende"
wkse.Cells(tr, 1).Value = wksf.Cells(5, qc).Value
wkse.Cells(tr + 9, 1) = "Mittelwert"
wkse.Cells(tr + 10, 1) = "Median"
wkse.Cells(tr + 11, 1) = "Stabw"
wkse.Cells(tr + 12, 1) = "Schiefe"
' Berechnungen
wkse.Cells(tr + 9, 2) = Application.WorksheetFunction.Average(wksf.Range(wksf.Cells(6, qc), _
wksf.Cells(sr, qc)))
wkse.Cells(tr + 10, 2) = Application.WorksheetFunction.Median(wksf.Range(wksf.Cells(6, qc), _
wksf.Cells(sr, qc)))
wkse.Cells(tr + 11, 2) = Application.WorksheetFunction.StDevP(wksf.Range(wksf.Cells(6, qc), _
wksf.Cells(sr, qc)))
wkse.Cells(tr + 12, 2) = Application.WorksheetFunction.Skew(wksf.Range(wksf.Cells(6, qc), wksf. _
_
Cells(sr, qc)))
qc = qc + 1
tr = tr + 15
c = c + 1
Loop
End Sub