AW: Fast korrekt
19.08.2005 16:44:11
Thomas
Hallo Rainer!
Vielen Dank für deine Bemühungen. Aber es ist noch nicht ganz richtig.
Du hast dir sicher meine Tabelle runtergeladen.
Darin siehst Du in Tabelle1 die Zellen A1 - L1 die Monate.
Darunter stehen die Werte, die jeden Monat erreicht wurden.
A2 - L2.
Bis jetzt liegen aber nur die Werte Jan - Jul. vor. (A2 - G2) (Tabelle1)
In Tabelle2 soll nun in der Zelle A5 der Trend für August berechnet werden.
Gebe ich nun in Feld E1 der Tabelle2 die Zahl 8 ein, so soll in der Zelle A5 in
Tabelle2 der Trend für August angegeben werden.
In deinem Lösungsvorschlag muß ich das in Tabelle1 machen.
Die Excelformel dazu lautet =TREND(Tabelle1!A3:G3;;8).
Diese möchte ich nun durch eine VBA-Formel ersetzten. Ich möchte es so programmieren,
daß, wenn ich in der Tabelle2 Zelle E1 die Zahl 9 eingebe, der Trend für September
berechnet wird.
Function MTrend(r)
Dim a As Double
a = Application.WorksheetFunction.Trend(Tabelle1.Range("A3:G3,,,8"))
b = Application.WorksheetFunction.Trend(Tabelle1.Range("A3:H3,,,9"))
Application.Volatile
Select Case r.Value
Case Is = 8: MTrend = a
Case Is = 9: MTrend = b
End Select
End Function
wie gesagt, ich bekomme immer die Rückmeldung #WERT
Kannst Du mir nochmal helfen?
Wenn es geht, so gib den ganzen Quellcode an.
Danke
Thomas
Ich gebe dir ein Beispiel das funktionier:
In einer Arbeitsmappe ist folgende
Function erstellt.
Function SOLLEL(r)
Dim a As Double
Dim b As Double
Dim c As Double
Dim d As Double
Dim e As Double
Dim f As Double
Dim g As Double
Dim h As Double
Dim i As Double
Dim j As Double
Dim k As Double
Dim l As Double
a = Application.WorksheetFunction.Sum(Tabelle35.Range("C19"))
b = Application.WorksheetFunction.Sum(Tabelle35.Range("C19:D19"))
c = Application.WorksheetFunction.Sum(Tabelle35.Range("C19:E19"))
d = Application.WorksheetFunction.Sum(Tabelle35.Range("C19:F19"))
e = Application.WorksheetFunction.Sum(Tabelle35.Range("C19:G19"))
f = Application.WorksheetFunction.Sum(Tabelle35.Range("C19:H19"))
g = Application.WorksheetFunction.Sum(Tabelle35.Range("C19:I19"))
h = Application.WorksheetFunction.Sum(Tabelle35.Range("C19:J19"))
i = Application.WorksheetFunction.Sum(Tabelle35.Range("C19:K19"))
j = Application.WorksheetFunction.Sum(Tabelle35.Range("C19:L19"))
k = Application.WorksheetFunction.Sum(Tabelle35.Range("C19:M19"))
l = Application.WorksheetFunction.Sum(Tabelle35.Range("C19:N19"))
Application.Volatile
Select Case r.Value
Case Is = 1: SOLLEL = a
Case Is = 2: SOLLEL = b
Case Is = 3: SOLLEL = c
Case Is = 4: SOLLEL = d
Case Is = 5: SOLLEL = e
Case Is = 6: SOLLEL = f
Case Is = 7: SOLLEL = g
Case Is = 8: SOLLEL = h
Case Is = 9: SOLLEL = i
Case Is = 10: SOLLEL = j
Case Is = 11: SOLLEL = k
Case Is = 12: SOLLEL = l
End Select
End Function
Wie du siehst werden hier Monatszahlen aufaddiert.
Gebe ich in einer Zelle die Funktion =SOLLEL(E1)ein, und in der Zelle E1 die
Zahl 7, so erhalte ich die Summe von Jan - Jul.
Die Berechnung des Trends soll nach dem gleichen Schema funktionieren.
Wie gesagt. In Tabelle2 Zelle A3 soll dann der Trend für August berechnet werden,
wenn ich in der Zelle z.B. E1 der Tabelle2 den Wert 8 eingebe. (Case Is = 8: MTrend = a)
Ich hoffe du kannst mir weiterhelfen!