Jump to content
Sign in to follow this  
haihappen85

Excel Makro für historische Aktienkurse

Recommended Posts

haihappen85
Posted · Edited by 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.

 

 

Share this post


Link to post
rudizabudi
Posted

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")'

 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...