Hi,
anhand der von die gelieferten Beschreibung, kann ich dir nur sagen, dass du versuchst einer Integer-Variable ein Range-Objekt zuzuweisen und das das nicht geht. Du kannst nur einer Range-Variable oder einer Variant-Variable eine Range zuweisen.
Außerdem empfiehlt es sich die Worksheet Zuweisung nicht jedesmal auszuschreiben, da das Zeit kostet und anfällig für Fehler ist z.B.:
1 | Kurs = Worksheets( "Aktie" ).Range(Cells(3, 2), Cells(3, 6))
|
müsste so lauten:
1 | Kurs = Worksheets( "Aktie" ).Range(Worksheets( "Aktie" ).Cells(3, 2), Worksheets( "Aktie" ).Cells(3, 6))
|
oder etwas besser:
1 2 3 | dim ws as worksheet
set ws=worksheets( "Aktie" )
Kurs = ws.Range(ws.Cells(3, 2),ws.Cells(3, 6))
|
oder am besten (IMO):
1 2 3 | with worksheets( "Aktie" )
Kurs = .Range(.Cells(3, 2), .Cells(3, 6))
end with
|
Was den Rest angeht, kann ich nur raten, ich vermute, dass deine Zielfunktion etwa so aussehen sollte:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | Sub Aktienkurse()
Rem Deklarieren
Dim Aktie As String
Dim Kurs
Dim Durchschnitt As Double
Rem Initialisieren
Min = 99999
Max = 0
Durchschnitt = 0
With Worksheets( "Tabelle1" )
Rem Datensatz einlesen
Name = .Cells(3, 1)
Kurs = .Range(.Cells(3, 2), .Cells(3, 6)).Value
.Cells(7, 1) = "Name:"
.Cells(7, 2) = "Durchnschnittskurs in €"
.Cells(8, 2) = WorksheetFunction.Average(Kurs)
.Cells(7, 3) = "Niedrigster kurs in €"
.Cells(8, 3) = WorksheetFunction.Min(Kurs)
.Cells(7, 4) = "Höchster Kurs in €"
.Cells(8, 4) = WorksheetFunction.Max(Kurs)
End With
End Sub
|
Falls dem nicht so ist, kannst du daraus vielleicht die erwünschte Funktion basteln.
Viel Erfolg
Till
|