Aktienkurse im Excel automatisch aktualisieren

360 Beiträge in diesem Thema

Geschrieben

Supergeil :) Vielen Dank!

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Geschrieben

Am 28.11.2017 um 16:22 schrieb Oli Garch:

Für Diejenigen, die früher in Excel die Funktion KURS_AB mit Yahoo genutzt haben: Angeregt durch Ramsteins AppleScript habe ich folgende Funktionen in Anlehnung an KURS_AB zum Kurse laden in Excel über die DiBa verfasst.

@Oli Garch:

Klasse! Vielen Dank! Das klappt sogar bei mir ;-)

Und endlich mal eine Lösung, die auch mit ISIN funktioniert, top.

Wo wir jetzt schon so verwöhnt sind, musst Du aber natürlich auch in die Vollen gehen: Ist auch die Abfrage von VortagesClose, DivYield, MarketCap usw. Irgendwie möglich?

(Hoffentlich beziehe ich keine Prügel, nur weil ich frage ;-] )

Gruß

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Geschrieben · bearbeitet von Oli Garch

Hallo Borusse,
so etwas habe ich auch hier zu liegen, ist aber noch nicht voll getestet. Ich möchte nur zu Bedenken geben, dass durch viele Funktionsaufrufe die Datei immer langsamer wird. Deshalb alles nur begrenzt sinnvoll.
Aber wenn Du Spass daran hast:
Die Funktion:
=DiBaStockInfo(A2;"kgv")
Hier im Beispiel wieder die isin in Zelle A2. Als zweiter Parameter sind möglich:
"name","divrend","kgv","vortag","branche","wert" (Börsenwert)
Wahrscheinlich werden nicht zu allen Aktien alle Parameter von der Diba geliefert.


Public Function DiBaStockInfo(Isin As String, Text As String) As Variant
Dim InfoString As String
Dim TextPos As Double
Dim SeitenNummer As Integer
Dim XML
On Error GoTo Fehler
    Set XML = CreateObject("MSXML2.ServerXMLHTTP")
    XML.Open "GET", "https://wertpapiere.ing-diba.de/DE/Showpage.aspx?pageID=23&" & "&Isin=" & Isin, False
    XML.send
    InfoString = XML.responsetext
    If Text = "name" Then
        TextPos = InStr(InfoString, "div class=""sh-title""")
        InfoString = Mid(InfoString, TextPos + 24, 100)
        TextPos = InStr(InfoString, "<")
        InfoString = Left(InfoString, TextPos - 3)
        DiBaStockInfo = InfoString
    End If
    If Text = "divrend" Then
        TextPos = InStr(InfoString, "Dividendenrendite (geschätzt)") + 38
        InfoString = Mid(InfoString, TextPos, 50)
        TextPos = InStr(InfoString, "<")
        InfoString = Left(InfoString, TextPos - 1)
        DiBaStockInfo = InfoString
    End If
    If Text = "kgv" Then
        TextPos = InStr(InfoString, "KGV (geschätzt)") + 24
        InfoString = Mid(InfoString, TextPos, 50)
        TextPos = InStr(InfoString, "<")
        InfoString = Left(InfoString, TextPos - 1)
        DiBaStockInfo = CDbl(InfoString)
        DiBaStockInfo = InfoString
    End If
    If Text = "vortag" Then
        TextPos = InStr(InfoString, "Vortag") + 15
        InfoString = Mid(InfoString, TextPos, 50)
        TextPos = InStr(InfoString, "&")
        InfoString = Left(InfoString, TextPos - 1)
        DiBaStockInfo = CDbl(InfoString)
        DiBaStockInfo = InfoString
    End If
    If Text = "branche" Then
        TextPos = InStr(InfoString, "Branche") + 10
        InfoString = Mid(InfoString, TextPos, 500)
        TextPos = InStr(InfoString, ")"">")
        InfoString = Mid(InfoString, TextPos + 3)
        TextPos = InStr(InfoString, "<")
        InfoString = Left(InfoString, TextPos - 1)
        DiBaStockInfo = InfoString
    End If
    If Text = "wert" Then
        TextPos = InStr(InfoString, "rsenwert") + 17
        InfoString = Mid(InfoString, TextPos, 50)
        TextPos = InStr(InfoString, "Mio")
        InfoString = Left(InfoString, TextPos - 1)
        DiBaStockInfo = InfoString
    End If
    
    Set XML = Nothing
Exit Function
Fehler:
    DiBaStockInfo = ""
    Set XML = Nothing
End Function

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Geschrieben

Danke Oli. Das scheint tatsächlich zu klappen. Hoffentlich ist es eine Lösung, die etwas länger Bestand hat.

Tradegate Kurse aus dem Direkthandel sind nicht möglich?

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Geschrieben · bearbeitet von Oli Garch

Hinter dem DiBa Direkthandel stecken ja verschiedene Handelspartner, also nicht nur Tradegate.

Ich habe mal die Funktionen um den Direkthandel erweitert und alles in die Textdatei "DiBa-Stocks-Bonds-Fonds.txt gepackt. Ich hoffe es funktioniert.

 

Nachdem es mir nach einiger Knobelei gelungen ist, die richtige URL herauszufinden (Weiterleitungen sind ja auf Kursseiten sehr beliebt), habe ich es jetzt geschafft, eine Funktion

für den Abruf über ARD-Börse zu realisieren.

Sehr kompakt, da nur eine Fuktion für alle Wertpapiere, WKN oder ISIN ist egal.

Weitere Börsenplätze sind XTF (Xetra-ETF) und TRG (Tradegate).

Kurze Erläuterung auch in der Datei ARDQuotes.txt, in der die Funktion zum kopieren steht.

Weiterhin angehängt die Datei ARDTest1.xlsm zum ausprobieren der Funktion und als Beispiel, wie man die Kursaktualisierung mit einem Steuerelement-Button lösen kann.

ARDQuotes.txt

DiBa-Stocks-Bonds-Fonds.txt

ARDTest1.xlsm

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Geschrieben

Hallo Oli Garch, dein ARD-Skript funktioniert super!

Wahrscheinlich bin ich zu blöd, aber wie kann ich bspw. erreichen, dass es mir auch den Goldpreis oder den Euro-Dollar-Kurs darstellt? Als Börse gibt's da im Angebot ja nicht die von Dir vorgesehenen, sondern etwa Forex vwd. Wie müsste ich das Skript ergänzen? Meine naiven Versuche, einfach folgende Zeile

 

If Boerse = "Forex vwd" Then TextPos = InStr(KursString, "Forex vwd</a></strong")

 

einzufügen, waren leider nicht von Erfolg gekrönt.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Geschrieben · bearbeitet von Oli Garch
Kleiner Fehler im angehängten Code (Gold-Kennnummer muss in Anführungszeichen gesetzt werden)

Hallo Nasenwasser,
Deine Idee war prinzipiell schon richtig, war auch erstaunt, dass es so nicht geklappt hat.
Der Grund: ARD-Börse findet bei Eingabe einer eigentlich eindeutigen Isin für EURUSD bzw. Gold mehrere Treffer und erwartet eine Auswahl.
Um dem aus den Weg zu gehen habe ich weiter oben im Makro einen weiteren Link eingefügt. (Es ist die Adresse, auf die alle Suchanfragen umgeleitet werden).
Daher ist es erforderlich, statt WKN oder ISIN die spezielle Kennnummer von ARD-Börse in die Excel-Tabelle einzutragen (EURUSD: 2079559, Gold: 6039682).
Ein weiterer Stolperstein ergibt sich dadurch, dass für Gold zwei Kurse bereitgestellt werden (in US$ und in EUR).
Das Makro im Textdatei-Anhang gibt zunächst einmal den Euro-Kurs aus.

Als Börsenplatz für die Funktion "FRX" angeben!
Soll der Dollar-Kurs ausgegeben werden, müssen nur bei den 5 Zeilen Code im Makro zwischen den gestrichelten Linien die Hochkommas am Zeilenanfang gelöscht werden.

Viel Erfolg! Oli

 

ARDQuotes.mit.Forex.txt

 

Achtung Korrektur: Anhang ist ausgetauscht. Kleiner Fehler im angehängten Code (Gold-Kennnummer im Makro muss in Anführungszeichen gesetzt werden).

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Geschrieben

Am 4.12.2017 um 09:39 schrieb Oli Garch:

Hallo Nasenwasser,
Deine Idee war prinzipiell schon richtig, war auch erstaunt, dass es so nicht geklappt hat.
Der Grund: ARD-Börse findet bei Eingabe einer eigentlich eindeutigen Isin für EURUSD bzw. Gold mehrere Treffer und erwartet eine Auswahl.
Um dem aus den Weg zu gehen habe ich weiter oben im Makro einen weiteren Link eingefügt. (Es ist die Adresse, auf die alle Suchanfragen umgeleitet werden).
Daher ist es erforderlich, statt WKN oder ISIN die spezielle Kennnummer von ARD-Börse in die Excel-Tabelle einzutragen (EURUSD: 2079559, Gold: 6039682).
Ein weiterer Stolperstein ergibt sich dadurch, dass für Gold zwei Kurse bereitgestellt werden (in US$ und in EUR).
Das Makro im Textdatei-Anhang gibt zunächst einmal den Euro-Kurs aus.

Als Börsenplatz für die Funktion "FRX" angeben!
Soll der Dollar-Kurs ausgegeben werden, müssen nur bei den 5 Zeilen Code im Makro zwischen den gestrichelten Linien die Hochkommas am Zeilenanfang gelöscht werden.

Viel Erfolg! Oli

 

ARDQuotes.mit.Forex.txt  8   2 kB

 

Achtung Korrektur: Anhang ist ausgetauscht. Kleiner Fehler im angehängten Code (Gold-Kennnummer im Makro muss in Anführungszeichen gesetzt werden).

Super, genau so wollte ich es. Vielen Dank!

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Geschrieben

@Nasenwasser und sonstige Interessierte
Ich habe nach einer Möglichkeit gesucht, Forex-Kurse doch noch mit WKN oder Isin abzurufen. Bin da bei Ariva fündig geworden und habe daraus wieder ein Kursabruf-Makro für Excel gebastelt.

Mit der richtigen WKN/Isin funktioniert das nicht nur mit Gold und EURUSD. Positiv getestet z. B. : EURCAD und Silber.
Weiterer Nebeneffekt: für Aktien, Fonds, ETF, Anleihen noch mehr Börsenplätze: Tradegate, Lang & Schwarz, Quotrix.
Alles noch einmal kurz im angehängten Makro beschrieben.

ArivaQuotes.txt

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Geschrieben · bearbeitet von Oli Garch

Möchte noch auf einen Umstand bezüglich Ariva-Kursaktualisierung hinweisen, der mir erst jetzt aufgefallen ist, nachdem bei mir über Ariva keine Kurse mehr angezeigt wurden. Scheinbar blockiert Ariva die Kursversorgung zumindest zeitweilig, wenn Kurse zu häufig automatisch abgerufen werden. Einen Hinweis darauf habe ich auch in einem anderen Forum entdeckt.

Hat schon jemand ähnliche Erfahrungen gemacht?

Oli

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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