Thema Datum  Von Nutzer Rating
Antwort
10.07.2012 17:30:45 Maurizio
NotSolved
Blau Simpler Programmentwurf VBA
10.07.2012 23:43:23 Till
NotSolved
10.07.2012 23:45:19 Till
NotSolved

Ansicht des Beitrags:
Von:
Till
Datum:
10.07.2012 23:43:23
Views:
908
Rating: Antwort:
  Ja
Thema:
Simpler Programmentwurf VBA

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.:

Kurs = Worksheets("Aktie").Range(Cells(3, 2), Cells(3, 6))

müsste so lauten:

Kurs = Worksheets("Aktie").Range(Worksheets("Aktie").Cells(3, 2), Worksheets("Aktie").Cells(3, 6))

oder etwas besser:

dim ws as worksheet
set ws=worksheets("Aktie")
Kurs = ws.Range(ws.Cells(3, 2),ws.Cells(3, 6))

oder am besten (IMO):

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:

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
        
        'Überschriften ausgeben
        .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


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
10.07.2012 17:30:45 Maurizio
NotSolved
Blau Simpler Programmentwurf VBA
10.07.2012 23:43:23 Till
NotSolved
10.07.2012 23:45:19 Till
NotSolved