Zum Inhalt springen
Melde dich an, um diesem Inhalt zu folgen  
haihappen85

Excel Makro für historische Aktienkurse

Empfohlene Beiträge

haihappen85
· bearbeitet von haihappen85

Hallo zusammen,

 

ich habe schon viel rum probiert jedoch bin ich noch nicht ganz fertig und nun am Ende meiner Kentnisse. Vielleicht ist hier ja jemand der sich mit Excel Makros gut auskennt.

 

Zu meinem Problem. Ich hab eine Excelliste mit allen Aktien die ich besitze oder die ich beobachte. Ich weiß, dass es Yahoo Finance die Möglichkeit gibt  Kurse abzurufen aber das will ich nicht. Ich möchte 1 Jahr zurück alle Schlusskurse in meiner Excelliste haben. Warum? Da ich mir da einige Sachen dazu berechnen möchte um eventuell einen Kauf oder Verkauf zu tätigen.

 

So weit bin ich schon: Ich schaffe es schon über mein Makro die Daten über Onvista in dem Fall ins Excel zu bekommen. Jedoch klappt es leider nicht die Kurse, die ich in Excel kopiere, der richtigen Aktie zuzuordnen. Es würde zwar manuell gehen aber das will ich nicht da es ja schon paar mehr Aktien sind.

Leider kann ich mit der Fehlermeldung die am Ende kommt nicht so viel Anfangen und wende mich nun an euch. Vielleicht hat ja jemand eine gute Idee wie man das lösen könnte.

 

Vielen Dank schon mal im voraus.

 

 

Diesen Beitrag teilen


Link zum Beitrag
rudizabudi

Hey Haihappen,

 

ich bin mir nicht ganz sicher, ob ich dein Problem richtig verstehe.

Ich hole mir beispielsweise bei meinen Abfragen auf OnVista immer den Aktiennamen aus dem HTML-Code und verwende ihn dann sowohl für den Namen der Abfrage, als auch für das neu erzeugte Sheet für den Table der Kurse.

 

Den Namen hole ich mir hiermit:

Dim website As String
Dim request As Object
Dim response As String
Dim html As New HTMLDocument
Dim RArray() As String
Dim LArray() As String
Dim MArray() As String
Dim NArray() As String

isin = DE0007664039
website = "https://www.onvista.de/aktien/" & isin

Set request = CreateObject("MSXML2.XMLHTTP")

request.Open "GET", website, False
request.setRequestHeader "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"
request.send
response = StrConv(request.responseBody, vbUnicode)
html.body.innerHTML = response


'Get Name
MArray = Split(response, "'contentName' : ", -1, vbTextCompare)
NArray = Split(MArray(1), ",", -1, vbTextCompare)
name = NArray(0)

Und später benenne ich dann quasi die Query und das Sheet danach mit

ActiveWorkbook.Queries.Add name:=name, Formula:= _ [....]
    ActiveWorkbook.Worksheets.Add
    ActiveSheet.name = name

Wenn ich mich auf die Kurse in meiner Berechnung beziehen möchte, verwende ich etwa so eine Formel:

A1: Volkswagen Vz.

B1 '=Indirect("A1" & "!:C34")'

 

Diesen Beitrag teilen


Link zum Beitrag

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
Melde dich an, um diesem Inhalt zu folgen  

×
×
  • Neu erstellen...