Jump to content
mc-fly

Aktienkurse im Excel automatisch aktualisieren

Recommended Posts

Oli Garch
Posted · Edited by Oli Garch

@BondFan

Vielen Dank für deine Erweiterungen, werden hier sicherlich dankbar aufgenommen.

Analog zu den EUWAX-Kursen müsste aber auch Frankfurt Zertifikate möglich sein:

If Boerse = "FRZ" Then TextPos = InStr(KursString, "Frankfurt Zertifikate</a>")

(auf die Schnelle nur einmal mit einem Wert getestet)

Share this post


Link to post
BondFan
Posted

Funktioniert wunderbar. Ich war davon ausgegangen, dass in der Abfrage kein Leerschritt enthalten sein darf, dabei war die Lösung ja so einfach.

 

Dann könnte man auch die Rohstoffabfrage weiter präzisieren, da es dort eine ganze Hand voll Indikationen geben kann.

Share this post


Link to post
Oli Garch
Posted

@Bondfan

Deine Ergebnisse mit den Rohstoffabfragen kannst du ja mal hier dokumentieren. Da bin ich eher ahnungslos.

Share this post


Link to post
Oli Garch
Posted

@BondFan
nach einer Nacht intensiver Recherche ;) ist für den Ariva-Börsenplatz DB Rohstoffe ("DBR") folgende Ergänzung für das Makro herausgekommen:
If Boerse = "DBR" Then
    KursString = Mid(KursString, InStr(KursString, "boerse_id=33"))
    TextPos = InStr(KursString, "DB Indikation Rohstoffe")
End If

Wie bedeutend dieser Wert als Kurslieferant ist, kann ich allerdings nicht einschätzen (Wer ist schon Deutsche Bank?).
Ich selbst beziehe meine Rohstoffe überwiegend bei Aldi (Börsenplatz: "ALD"). Da werden die Kurse einmal wöchentlich durch den Prospekteverteiler geliefert.B-)

 

Übrigens: Gold lässt sich bei Ariva aber auch über Forex auslesen (Börse "FRX")

Share this post


Link to post
BondFan
Posted

Oha, die Nacht hättest Du Dir dafür aber nicht extra um die Ohren schlagen müssen.  Die Abfrage funktioniert auf jeden Fall. :thumbsup:

 

Über den Wert oder die Genauigkeit der einzelnen Indikationen kann man sich sicher streiten. Für eine automatische Kursabfrage nehmen ich eine gewisse Ungenauigkeit gerne in Kauf. Und für meine Zwecke reicht das aus.

 

Der Handelsplatz ALD hat hier unverständlicherweise permanent geschlossen, aber es gibt ja noch die alternativen EDK und LDL :w00t:

Share this post


Link to post
Hol
Posted
On ‎15‎.‎06‎.‎2018 at 9:27 PM, Oli Garch said:

Kursabruf-Makro mit alternativer URL von Yahoo
Mit der nunmehr verwendeten URL ist es wie es früher bei Yahoo mal mit der Finance-API funktionierte möglich, alle Wertpapiere mit allen gewünschten Daten mit einem Abruf herunterzuladen. Da spielen Laufzeitprobleme keine Rolle mehr. Die Wertpapiersymbole kann man sich bei Yahoo zusammensuchen. Beim Aufbau der Tabelle sind allerdings einige wenige Regeln zu befolgen, die dem Makro als Kommentar vorangestellt sind. Die Beispieltabelle funktioniert mit verschiedenen Wertpapierarten, auch Währungen und allen erlaubten Börsenplätzen.
@Hol
In der Beispieltabelle sind auch die Kurse für Kenia-Schilling (EURKES=x) und Ruanda Franc (EURRWF=x) enthalten und funktionieren. ISIN oder WKN gibt es wohl dafür nicht.

 

Wen es interessiert: hier mal die URL zum Abruf eines Wertpapiers:
https://query1.finance.yahoo.com/v7/finance/quote?symbols=SAP.DE
Tolle Seite!

 

Im Anhang Makrotext und Beispieldatei

 

 

yKurs1806.xlsm  18   32.4 kB

yKurs1806.txt  15   5.11 kB

Funktioniert super bei mir, danke!

 

Mir ist aufgefallen dass Abruf von Ariva mit Börsenplatz "FRX" am Wochenende nicht möglich ist, da gibt es bei mir immer nur 0 als Wert.

 

Share this post


Link to post
Oli Garch
Posted · Edited by Oli Garch

@ Hol

Ich war sowieso schon dabei, das Makro mit den letzten Änderungen zu ergänzen (Hinzufügen von FRZ (Frankfurt Zertifikate), DBR (Deutsche Bank Rohstoffe) und alles noch etwas effektiver zu programmieren.

Ich hoffe es klappt jetzt auch wieder mit Forex und hoffentlich auch noch nach dem Wochenende.

 

 

 

 

 

 

ArivaQuotes.V2.2.xlsm

ArivaQuotes.V2.2.txt

Share this post


Link to post
Hol
Posted

@Oli Garch

Ja, das klappt jetzt, perfekt

Share this post


Link to post
Oli Garch
Posted

Sorry, leider zu früh gefreut.

Das Makro aus #434 hat nur am Wochenende funktioniert. Die Kursseite von Ariva sieht zwar auf den ersten Blick genau so aus wie am Wochenende, aber die Struktur des Quellcodes hat sich geändert. Das Makro ist jetzt so geändert, dass es wieder funktioniert. Mögliche Änderungen, die am Wochenende auftreten können, sollten abgefangen werden. Ob es so dauerhaft funktioniert, werden wir erst in einer Woche feststellen können.

Die angehängten Dateien aus  #434 sind ausgetauscht (02.07.2018, 11:30).

Share this post


Link to post
Oli Garch
Posted

...und geich wieder einen Fehler entdeckt: Im Makro für Kursaktualisierungen über Ariva wurden Währungskurse nur zweistellig ausgegeben.

Fehlerbehaftetes Makro im Beitrag #434 durch neue Version ausgetauscht.

Share this post


Link to post
Oli Garch
Posted

Kursimport von Yahoo, mal ohne VBA-Makro (ab Excel 2013)
Möglich ist das mit der Excel-Funktion "Webdienst" (erst ab Excel-Version 2013 verfügbar!). Das Ergebnis dieser Funktion ist ein String, wie ihn auch der VBA-Befehl "GET" liefert. Dieser String lässt sich in Kombination mit weiteren Excelfunktionen so weit zerlegen, dass am Ende z.B. nur noch der Aktienkurs in der Zelle steht. Allerdings hat "Webdienst" eine erhebliche Einschränkung. Der String darf nicht länger als 32767 Zeichen sein. Damit fallen schon einmal fast alle sonst üblichen Kursseiten weg.
Beim Experimentieren mit dem Link zum Abholen von Yahoo-Daten, wie ich es im Beitrag #423 beschrieben habe (https://query1.finance.yahoo.com/v7/finance/quote?symbols=), ist mir aufgefallen, dass die Bedingung für die Stringlänge für die Funktion "Webdienst" mit dieser URL erfüllt wird.

 

Wer es probieren möchte (liefert den Kurs eines Wertpapiers, dessen Yahoo-Symbol in Zelle A1 steht):
=WERT(WECHSELN(TEIL(WEBDIENST("https://query1.finance.yahoo.com/v7/finance/quote?symbols="&$A1);SUCHEN("regularMarketPrice";WEBDIENST("https://query1.finance.yahoo.com/v7/finance/quote?symbols="&$A1))+20;SUCHEN(",";TEIL(WEBDIENST("https://query1.finance.yahoo.com/v7/finance/quote?symbols="&$A1);SUCHEN("regularMarketPrice";WEBDIENST("https://query1.finance.yahoo.com/v7/finance/quote?symbols="&$A1))+20;18))-1);".";","))

Steht das Yahoo-Symbol in dem obigen Beispiel in einer anderen Zelle als A1, muss dieser Bezug 4mal! geändert werden.

 

In der Excel-Beispieltabelle ist aus Gründen der Übersicht die URL, die sich 4-mal im Funktionsaufruf wiederholt, in eine Zelle (E2) oberhalb der Tabelle ausgegliedert. Diese Zelle wurde als benannter Bereich "Adresse" festgelegt. Die Funktion enthält deshalb statt der langen URL nur noch den Namen des Bereiches, also "Adresse". Der Bereich lässt sich auch woanders ablegen (auch in einem anderen Tabellenblatt), wenn der Ort (Bereich) wieder als Adresse bezeichnet wird (funktioniert auch mit ausschneiden und einfügen).

In der Beispieltabelle werden neben dem Kurs auch Vortageskurs, Kursänderung, Kursänderung %, Kursdatum/Uhrzeit und Umsatz (Stück) auf diese Art (mit angepassten Funktionen) abgerufen.
Aktualisiert wird die Tabelle (praktisch ohne Wartezeit) mit Strg-Alt-F9 (GrAlt-F9) oder bequemer dann doch wieder mit Klickbutton und Makro (Application.CalculateFull).

 

Viel Spaß beim probieren.

YahooKurs.ohneMakro.V1.xlsx

Share this post


Link to post
Ramstein
Posted
vor 26 Minuten schrieb Oli Garch:

Kursimport von Yahoo, mal ohne VBA-Makro (ab Excel 2013)
Möglich ist das mit der Excel-Funktion "Webdienst" (erst ab Excel-Version 2013 verfügbar!).

 

Interessant. Funktioniert auch in LibreOffice auf dem Mac. :thumbsup:

Share this post


Link to post
Kapuzenpullimann
Posted
Am 14.7.2018 um 18:18 schrieb Oli Garch:

Kursimport von Yahoo, mal ohne VBA-Makro (ab Excel 2013)
Möglich ist das mit der Excel-Funktion "Webdienst" (erst ab Excel-Version 2013 verfügbar!).

 

Vielen Dank für Deine Mühe, das funktioniert wunderbar bei mir! Hatte vorher zur Kursaktualisierung zig Webabfragen als eigene Tabs in Excel, da hat sich Excel bei der Abfrage immer aufgehängt... Diese Abfrage ist jetzt sehr effizient, da sie kaum Ressourcen braucht.  Hoffen wir, dass Yahoo als Datenlieferant konstant bleibt.

Share this post


Link to post
Oli Garch
Posted

@Ramstein
@Kapuzenpullimann
Vielen Dank für die Rückmeldungen. Manchmal ist es doch durchaus auch mal angenehm zu wissen, dass es nicht nur funktioniert, sondern auch genutzt wird.

 

Nach dem Hinweis auf LibreOffice habe ich die Funktion auch mit LO unter Windows positiv getestet.

Share this post


Link to post
Siddi
Posted

Ich habe mal kurz eine Excel zusammengebaut. Hier werden alle Aktien aus USA und Deutschland upgedatet. Sowie die wichtigsten Währungen der Welt. ( Ca 6500 Aktien)

 

Einfach die Mappe in deine Exel kopieren und eine Verknüpfung über die Funktion Sverweis setzen. Die Daten werden von einer Webseite heruntergeladen ohne Makro.

 

Updaten der Daten habe ich auf manuell gesetzt. Ein Update musst du über "Alle aktualisieren"  durchführen.

 

Unbenannt.JPG

 

Die Datei findest du im Anhang:

 

 

Aktuelle Kurse aus den Netz.xlsx

Share this post


Link to post
sheierhoff
Posted · Edited by sheierhoff
Am 30.11.2017 um 20:13 schrieb 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  111   2 kB

DiBa-Stocks-Bonds-Fonds.txt  176   9 kB

ARDTest1.xlsm  107   27 kB

 

Hallo,

 

@Oli Garch: Danke für die DiBa-Funktionen!

 

Ich habe die Funktion DiBaFondsInfo noch etwas erweitert, so dass man nun Kategorie, sowie Sparplan (Ja/ Nein) und Nulltarif (Ja/ Nein) abrufen kann. Dazu einfach =DiBafonds(ISIN, "kategorie"), etc. nutzen. Ggfs. hilft es ja dem ein oder anderen.

Public Function DiBaFondsInfo(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=30&" & "&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)
        DiBaFondsInfo = InfoString
    End If
    
    If Text = "kategorie" Then
        TextPos = InStr(InfoString, "Kategorie")
        InfoString = Mid(InfoString, TextPos)
        TextPos = InStr(InfoString, """>")
        InfoString = Mid(InfoString, TextPos + 2)
        TextPos = InStr(InfoString, "</a>")
        InfoString = Left(InfoString, TextPos - 1)
        DiBaFondsInfo = Replace(InfoString, "&nbsp;", " ")
    End If
    
    If Text = "sparplan" Then
        TextPos = InStr(InfoString, "Sparplan möglich</td>")
        InfoString = Mid(InfoString, TextPos + 38, 100)
        TextPos = InStr(InfoString, "<")
        InfoString = Left(InfoString, TextPos - 1)
        DiBaFondsInfo = InfoString
    End If
    
    If Text = "nulltarif" Then
        If InStr(InfoString, "Nulltarif") = 0 Then
            DiBaFondsInfo = "Nein"
        Else
            DiBaFondsInfo = "Ja"
        End If
    End If
    
    Set XML = Nothing
Exit Function
Fehler:
    DiBaFondsInfo = ""
    Set XML = Nothing
End Function

Viele Grüße

Share this post


Link to post
Oli Garch
Posted

@sheierhoff
Willkommen im Forum.
Deine Ergänzung ermöglicht durchaus brauchbare Informationen für den Fondssparer, die sich ja auch schnell mal ändern können.
Und DiBa-Makros sind ja hier für den Kursabruf mit am Beliebtesten (wenn ich die Downloadzahlen vergleiche). Von daher ist die Ergänzung sicher nicht umsonst.
Außerdem freue ich mich, das jemand den Code auch verstanden hat, den ich da zusammengeschrieben habe, sonst hätte ja die Erweiterung wohl nicht geklappt.

Grüße

Share this post


Link to post
Oli Garch
Posted

Kurse von Yahoo mit der Funktion Webdienst ohne Makro mit LibreOffice
Bei intensiverer Beschäftigung mit dieser Funktion unter LibreOffice habe ich festgestellt, dass es ein Problem bei der Kursaktualisierung gibt. Grundsätzlich funktioniert die Aktualisierung mit der Tastenkombination STRG-SHIFT-F9 (unter Excel: STRG-ALT-F9). Allerdings nur einmal. Schließt man die Datei und öffnet sie, greift die Tastenkombination wieder. Ohne Schließen und Öffnen geht es etwas umständlicher über das Menü: BEARBEITEN-VERKNÜPFUNGEN ZU EXTERNEN DATEIEN...- alle Verknüpfungen markieren und auf Aktualisieren klicken. Aber wer will das schon so umständlich handhaben.
Abhilfe schafft da ein kleine Makro. Den letztgenannten Dialog mit dem Makrorecorder vollständig aufzuzeichnen ist mir allerdings nicht gelungen. Durch einiges Herumprobieren fand ich dann doch eine Lösung.
Vielleicht gibt es hier im Forum Experten, die sich mit LibreOffice besser auskennen und eine elegantere Lösung finden (Makro oder Tastenkombination), aber immerhin es funktioniert.
Angehängt ist eine Beispieldatei für LibreOffice (Endung .ods) mit Makro für die Kursaktualisierung.

YahooKurs.V1.ods

Share this post


Link to post
Oli Garch
Posted

Kursabruf über Ariva

seit ca. einer Woche funktioniert der Kursabruf von Ariva mit dem unter #434 vorgestellten Makro nicht mehr. An der Internetseite sind kleine Veränderungen vorgenommen worden.

Mit dem angehängten Makro sollte es wieder laufen.

(Mit Alt+F11 das VB-Modul aufrufen, den Text aus der angehängten Datei mit dem vorhandene Makro (normalerweise in Modul1) ersetzen.)

ArivaQuotes.V2.3.txt

Share this post


Link to post
Oli Garch
Posted · Edited by Oli Garch
Vorversion hat nicht mehr funktioniert

Historische Kurse von Ariva
beim Aufräumen in meinem Ariva-Ordner ausgegraben: Excel-Datei zum Download historischer Kurse von Ariva.
Funktioniert, wie die Datei, die ich unter #364 zum Download von historischen Kursen von Yahoo vorgestellt habe:
Eingabemaske für die Eingabe von Downloadzeitraum, ISIN und Börsenplatz. Speicherung der Daten auf einem separaten Tabellenblatt und wahlweise in eine .csv-Datei im Ordner Download. Im Gegensatz zu Yahoo hier die Verwendung von ISIN oder WKN, wodurch das Downloaduniversum größer und damit für deutsche Anwender interessanter ist.

 

 

ArivaKursHistoDownLoad.v.2.0.xlsm

Share this post


Link to post
akista
Posted
Am 14.7.2018 um 18:18 schrieb Oli Garch:

Kursimport von Yahoo, mal ohne VBA-Makro (ab Excel 2013)

 

Viel Spaß beim probieren.

YahooKurs.ohneMakro.V1.xlsx  43   16 kB

Vielen Dank, Oli.

Das ist wirklich eine sehr nützliche Tabelle. Möge sie lange funktionieren.

Share this post


Link to post
Oli Garch
Posted

@akista

Möge dein Wunsch in Erfüllung gehen!

Share this post


Link to post
akista
Posted

Eine Frage mal: Findet ihr bei YahooFinance einen Kurs für den MSCIWorld, analog zu ^DJI für den Dow oder ^GDAXI für den Dax?

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

×
×
  • Create New...