Jump to content
mc-fly

Aktienkurse im Excel automatisch aktualisieren

Recommended Posts

akista
Posted
Am 4.8.2017 um 18:46 schrieb Detlef:

Ich habe für mich das kostenlose excell-add-on deriscope als komfortable Ersatzlösung gefunden. Arbeitet mit Yahoo Finance Ticker

Und bist du zufrieden?

Ich probiere es auch mal aus. Allerdings möchte ich alle Kurse gerne in EUR sehen und habe daher sowohl die Währungskurse als auch die Aktienkurse für den Abruf markiert und diese miteinander verknüpft. Das aktualisiert allerdings nicht mehr automatisch, obwohl sich die Bezugswerte regelmäßig verändern.

Share this post


Link to post
Walter White
Posted · Edited by Walter White
Am 13.7.2017 um 17:53 schrieb Back-Broker:

 

 

 

 

Empfehlungen/Erfahrungswerte oder Meinungen zu anderen (excelbasierten) Importlösungen (von anderen Quellen etc.) oder Verweise auf entsprechende Tutorials würden mich aber auch interessieren.

 

 

Ich hatte das damals so erledigt mit den aktuellen Kurswerten und funktioniert immer noch. (Du musst etwas weiter runter scrollen)

 

Excel im Griff

Share this post


Link to post
Detlef
Posted
Am 23.8.2017 um 20:51 schrieb akista:

Und bist du zufrieden?

Ich probiere es auch mal aus. Allerdings möchte ich alle Kurse gerne in EUR sehen und habe daher sowohl die Währungskurse als auch die Aktienkurse für den Abruf markiert und diese miteinander verknüpft. Das aktualisiert allerdings nicht mehr automatisch, obwohl sich die Bezugswerte regelmäßig verändern.

Im großen und ganzen bin ich zufrieden. Mit den automatischen Aktualisierungen scheint es in der Tat teilweise nicht so ganz zu funktionieren. Ist für mich aber kein Problem.

Was mich eher stärt, ist dass aufgrund der Makroeinbindung die "zurück" Funktion entfällt

Share this post


Link to post
Borusse
Posted

Seit Anfang November scheint die Lösung mit der integrierten Yahoo-Abfrage leider nicht mehr zu funktionieren, weil Yahoo die Möglichkeit eingestellt hat :-V

 

Im Aktienboard wurde das im einschlägigen Thread schon angesprochen. 

 

Schade... MSN eingestellt, Yahoo eingestellt... es scheint, es gibt keine excelintegrierten Lösungen mehr? :-/

 

Gruß

Share this post


Link to post
Mittemeier
Posted

Doch gibt es...

 

Habe jetzt meine Excel probehalber bei 10 Aktien auf https://www.alphavantage.co/ umgestellt --> funktioniert, aber deutlich aufwendiger zum Anlegen und nicht ganz so schön (z.b. immer automatischer abruf der 100 letzte Werte, pro Aktie 1 abruf notwendig (kein &), nur USD Kurse -> Umrechnung mit Wechselkurs, ...)

aber im Prinzip kommt man an die Daten ran.

Gerne Vorschläge, was es sonst noch gibt.

Share this post


Link to post
Borusse
Posted
vor 2 Stunden schrieb Mittemeier:

Doch gibt es...

 

Habe jetzt meine Excel probehalber bei 10 Aktien auf https://www.alphavantage.co/ umgestellt --> funktioniert, aber deutlich aufwendiger zum Anlegen und nicht ganz so schön (z.b. immer automatischer abruf der 100 letzte Werte, pro Aktie 1 abruf notwendig (kein &), nur USD Kurse -> Umrechnung mit Wechselkurs, ...)

aber im Prinzip kommt man an die Daten ran.

Gerne Vorschläge, was es sonst noch gibt.

Hallo, 

 

kannst Du vielleicht mal darlegen, wie genau Du das verbaut hast? Ich habe nicht so viel Ahnung von VBA Programmierung. Aber den "Debugger" aufrufen und den Link austauschen, würde ich noch hinbekommen. Hattest Du das auch ähnlich konstruiert oder funktionierte das bei Dir irgendwie anders?

 

MfG

171103 Excel VBA.jpg

Share this post


Link to post
Mojo-cutter
Posted

für excel hatte ich mal diesen link gepostet, der auch funktionierte. Jetzt mit dieser "tollen" Aktion von yahoo natürlich nicht mehr. Da ich VBA auch nicht kann wäre ich für jeden Tipp oder besser Schritt für Schritt Anleitung dankbar wie man das wieder hinbekommt

 

für die die damit was anfangen können, der alte VBA  Code:

 

Public Function KURS_AB (Symbol As String) As Double

On Error GoTo Fehler
Dim Kurs As String
Dim xml
    Set xml = CreateObject("MSXML2.ServerXMLHTTP")
        xml.Open "GET", "http://download.finance.yahoo.com/d/quotes.csv?s=" _
                        & Symbol & "&f=l1&e=.csv", False
        xml.send ""
        Kurs = RTrim(xml.responseText)
        Kurs = Replace(Kurs, Chr$(10), "")
        Kurs = Replace(Kurs, Chr$(13), "")
            Select Case Right(Symbol, 2)
                Case ".L"
                    Kurs = Replace(Kurs, ".", ",") / 100
                Case Else
                    Kurs = Replace(Kurs, ".", ",")
            End Select
        
        KURS_AB = Kurs
 
    Set xml = Nothing
    Exit Function
    
Fehler:
    KURS_AB = 0
    Set xml = Nothing
    Exit Function
End Function

 

Share this post


Link to post
Mittemeier
Posted

Mein (Teil-)Code zum abrufen:

Zitat

 

Sub Aktienkurse()

Dim ws As Worksheet
Set ws = Worksheets("Aktualisierung")
ws.Range("C1:C100").NumberFormat = "general" '
ws.Range("H1:H100").NumberFormat = "general" '

    With ws.QueryTables.Add(Connection:= _
        "TEXT;https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=evt&interval=1min&apikey=key&datatype=csv" _   
        , Destination:=ws.Range("$A$9"))                                                                                                                                                                'symbol=evt USA-Aktienkürzel,  &apikey=key bekommt ihr von der homepage umsonst 
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlOverwriteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 850
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = False
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With

 

 

 

Damit schreibt der Code in das Tabellenblatt "Aktualisierung" ab Zelle A9 die Daten von Evotec rein. Ihr müsst für jeden Kurs den ihr wollt eine Abfrage basteln (copy&paste code, USA-Aktienkürzel austauschen, Destination ändern (paar Spalten nach rechts verschieben))

Share this post


Link to post
Borusse
Posted

Weiß einer ob xlquotes (noch) zuverlässig (und auch für Excel 2013ff) funktioniert?. Die 10 EUR wäre mir das auch noch wert (...wenn es denn funktioniert), aber die Seite sieht schon länger nicht mehr geupdatet aus!?

 

Gruß

Share this post


Link to post
50cent
Posted
vor 8 Stunden schrieb Borusse:

Weiß einer ob xlquotes (noch) zuverlässig (und auch für Excel 2013ff) funktioniert?. Die 10 EUR wäre mir das auch noch wert (...wenn es denn funktioniert), aber die Seite sieht schon länger nicht mehr geupdatet aus!?

 

Gruß

Ich habe xlquotes installiert und seit Anfang November funktioniert es auch nicht mehr. Alle Kurse = 0. Die Daten kamen ja ebenfalls von Yahoo. Es ist mir jedoch komplett neu, dass xlquotes etwas kostet. Bisher war es kostenlos.

Aber die Seite schein momentan down zu sein. Dort steht, dass xlquotes derzeit nicht verfügbar ist.

 

Ich hoffe darauf, dass xlquotes irgendwie modifiziert wird, sodass es wieder funktioniert. Dann würde ich auch die 9,95 Euro zahlen, damit meine langwierig zusammengebastelte Excel-Übersicht wieder automatisch funktioniert und nicht per Handeingabe der Kurse....

Share this post


Link to post
Borusse
Posted
vor einer Stunde schrieb 50cent:

Aber die Seite schein momentan down zu sein. Dort steht, dass xlquotes derzeit nicht verfügbar ist.

Reden wir von der selben Seite? Folge mal dem von mir geposteten Link in #334

 



Ich hoffe darauf, dass xlquotes irgendwie modifiziert wird, sodass es wieder funktioniert. Dann würde ich auch die 9,95 Euro zahlen, damit meine langwierig zusammengebastelte Excel-Übersicht wieder automatisch funktioniert und nicht per Handeingabe der Kurse....

Um ein bisschen Bastelarbeit wirst Du dann glaube ich auch nicht drumrum kommen. So wie ich die Seite lese funktioniert das dann ja mit einer eigenen Funktion, sprich =xlquotes:SAP oder so.

 

Gut, aber wenn das ohnehin AUCH mit Yahoo funktionierte (und dies auch ohne weitere Absprachen mit Yahoo getan wurde), dann hat sich das ja aber auch erledigt :-V

 

Gruß

 

 

Share this post


Link to post
Mittemeier
Posted

Historische Kurse sind kein Problem, da gibt es viele Anbieter.

Es geht um Real Time Abfragen, da war yahoo schon sehr Luxuriös.

 

Hat war anders noch eine Real Time Lösung?

Share this post


Link to post
Ramstein
Posted

Wirklich "Realtime" nicht, aber vielleicht hilft dir das hier weiter. Vielleicht.

Share this post


Link to post
Mittemeier
Posted

Bin jetzt auf doch auf google finance umgestiegen, da die Laufzeit für den Abruf der Daten erheblich kürzer ist und die Verwaltung angenehmer ist. (aplha ca. 2-4 Minuten pro Abruf, google Finance ca. 20 sec

Zeitverzögerung bis 20 Minuten wie Yahoo auch, reicht mir als nicht Daytrader völlig aus.

 

Weg ist:

Google Tabelle anlegen mit entsprechenden formeln -> freiegeben

Excel: Daten aus web: Link der Google Tabelle eingeben, importieren und Abfrage ist fertig

 

 

Share this post


Link to post
50cent
Posted
vor 12 Stunden schrieb Walter White:

Mein Excel bezieht die Daten bei jedem Start von ariva.de, das klappt problemlos.

 

http://www.ariva.de/ishares_eb.rexx_government_germany_5.5-10.5yr_ucits_etf_(de-fonds/historische_kurse?boerse_id=12

 

Könntest du mir bitte eine Kurzanleitung geben, was für Formeln ich wo in der Excel-Tabelle hinschreiben muss, damit ich z.B. den letzen Kurs von diesem ETF A0ESMK z.B. in der Zelle B10 eines Excel-Sheets angezeigt bekomme:

 

http://www.ariva.de/lyxor_japan_(topix)_(dr)_ucits_etf-fonds?utp=1

 

Bei xlquotes hatte man einfach eine bestimmte Formel und ein entsprechendes ETF-Kürzel in die betreffende Zelle eingetragen, und der Kurs wurde automatisch abgefragt, wenn man das Excel-Sheet geöffnet hat.
Leider bin ich mit Excel nicht so bewandert, dass ich mir dies jetzt ohne Hilfe so umbauen kann, dass ich die Daten von ariva in eine Excel-Tabelle auslesen lasse. Ich benötige nicht den Real-Time-Kurs. Ein tagesaktueller Kurs ist für mich völlig ausreichend.

 

 

Share this post


Link to post
Walter White
Posted
vor 30 Minuten schrieb 50cent:

 

 Ein tagesaktueller Kurs ist für mich völlig ausreichend.

 

 

 

Das reicht mir auch aus. Hier geht es zur Anleitung, ist zwar für Calc, was ich nutze, aber sollte auch für Excel so zu übertragen sein. Da musst du dich eventuell mal durch die Menuleiste klicken um die entsprechenden Einträge zu machen.

Scrolle etwas runter bis zum Thema: Die Wertpapierliste und die aktuellen Kurswerte. Ich hoffe das hilft dir schon mal.

 

Klick

 

 

 

Share this post


Link to post
Borusse
Posted
vor 6 Stunden schrieb Mittemeier:

Bin jetzt auf doch auf google finance umgestiegen, da die Laufzeit für den Abruf der Daten erheblich kürzer ist und die Verwaltung angenehmer ist. (aplha ca. 2-4 Minuten pro Abruf, google Finance ca. 20 sec

Zeitverzögerung bis 20 Minuten wie Yahoo auch, reicht mir als nicht Daytrader völlig aus.

 

Weg ist:

Google Tabelle anlegen mit entsprechenden formeln -> freiegeben

Excel: Daten aus web: Link der Google Tabelle eingeben, importieren und Abfrage ist fertig

 

 

Ich würde das gerne mal ausprobieren, brächte aber eine etwas detailliertere Anleitung aufgrund hier fehlender Vorkenntnisse :-( Wie z. B. "Google Tabelle Anlegen mit entsprechenden Formeln"!?

Gruß

Share this post


Link to post
Cit
Posted
vor 4 Stunden schrieb Borusse:

Ich würde das gerne mal ausprobieren, brächte aber eine etwas detailliertere Anleitung aufgrund hier fehlender Vorkenntnisse

Vielleicht hilft Dir dies: Datensauger Excel (Petra Wolff), Einbindung von Webabfragen auf S.4.

Share this post


Link to post
Mittemeier
Posted

Hallo Borusse,

 

Makros sind hier gar nicht mehr unbedingt notwendig :)

 

1. Schritt

Gehe auf Google Docs -> Tabellen

Dann kannst du einfach mal probeweise die Formel =GoogleFinance(„FRA:DRI“, „price“) in eine Zelle schreiben. Sollte dir dann den aktuellen Kurs von Drillisch in dieser Zelle anzeigen.

Fra: steht für Börse Frankfurt, DRI ist das Ticker symbol. Entsprechend alle Kurse einbinden. Aktualisiert wird automatisch.

Oben rechts den Link freigeben als letzter Schritt bei google docs.

 

P.S.

Gibt ganz viele Abfragen bei google finance.... EPS, High, Low etc.

 

2. Schritt

Öffne Excel eine leere Datei.

Gehe auf Daten -> Aus dem Web -> den freigegebenen Link einfügen -> OK

Dann oben links die Tabelle markieren (kleines Kästchen) -> importieren

und schon sind die Daten in Excel

ab jetzt reicht es unter Daten aktualisieren zu klicken und der ruft die neusten Kurse ab :)

 

Sonst mal googlen, gibt schon bessere anleitungen als meine ;)

 

Finde ich sogar besser als yahoo finance.

 

 

 

 

Share this post


Link to post
Crest
Posted

Hi,

 

Wer nicht für jedes Wertpapier ein Tabellenblatt offen haben möchte, kann auch diese OpenOffice/LibreOffice Funktion verwenden:

 

Function GetStockPrices( aStockUrls )
    Dim aStockPrices( UBound( aStockUrls ) ) As Double
    Dim oDoc As Object
    Dim oSelection
    Dim oAddress  As Object
       
    aName = "_tmpStockPrices"
   
    oDoc = ThisComponent
    oDoc.getSheets().insertNewByName( aName, oDoc.getSheets().getCount() )
    oSheet = oDoc.getSheets().getByName( aName )
    oSelection = oSheet.getCellRangeByName("A1")
   
    if oSelection.supportsService("com.sun.star.sheet.SheetCellRange") then
       oAddress = oSelection.getCellAddress()
      
       For i = 0 To UBound( aStockUrls )
          oDoc.AreaLinks.insertAtPosition(oAddress,aStockUrls( i ),"HTML_4","calc_HTML_WebQuery","0 0")
          oDoc.AreaLinks.removeByIndex(oDoc.AreaLinks.getCount-1)
          aStockPrices( i ) = oSheet.getCellByPosition( 4, 1 ).getValue()
       Next
       
     endif  
       
     oDoc.getSheets().removeByName( aName )
       
     ' Return the array of prices.
     GetStockPrices = aStockPrices()
End Function

 

Als Input wird eine Liste von URLs erwartet, in diesem Fall von ariva.de, z.B. http://www.ariva.de/comstage_stoxx_europe_600_nr_ucits_etf-fonds/historische_kurse?boerse_id=12

Die Funktion macht folgendes:

  1. Anlegen einer temporären Tabelle
  2. Dann wird für jede URL in aStockUrls die Tabelle HTML_4 extrahiert und davon der wert aus Zelle (4,1) übernommen
  3. Abschliessend die temporäre Tabelle gelöscht und die Werte zurückgegeben

Diese Funktion sollte einfach auf andere Webseiten anpassbar sein.

 

Share this post


Link to post
Borusse
Posted · Edited by Borusse
Am 7.11.2017 um 07:05 schrieb Mittemeier:

Hallo Borusse,

 

Makros sind hier gar nicht mehr unbedingt notwendig :)

 

1. Schritt

Gehe auf Google Docs -> Tabellen

Dann kannst du einfach mal probeweise die Formel =GoogleFinance(„FRA:DRI“, „price“) in eine Zelle schreiben. Sollte dir dann den aktuellen Kurs von Drillisch in dieser Zelle anzeigen.

Fra: steht für Börse Frankfurt, DRI ist das Ticker symbol. Entsprechend alle Kurse einbinden. Aktualisiert wird automatisch.

Oben rechts den Link freigeben als letzter Schritt bei google docs.

 

P.S.

Gibt ganz viele Abfragen bei google finance.... EPS, High, Low etc.

 

2. Schritt

Öffne Excel eine leere Datei.

Gehe auf Daten -> Aus dem Web -> den freigegebenen Link einfügen -> OK

Dann oben links die Tabelle markieren (kleines Kästchen) -> importieren

und schon sind die Daten in Excel

ab jetzt reicht es unter Daten aktualisieren zu klicken und der ruft die neusten Kurse ab :)

 

Sonst mal googlen, gibt schon bessere anleitungen als meine ;)

 

Finde ich sogar besser als yahoo finance.

 

 

 

 

Moin,

danke, das habe ich auch soweit hinbekommen, allerdings scheint es so zu sein, dass auch google.finance nicht alle Fonds und jedes Wertpapier anzeigt... leider... 

so konnte ich z. B. nicht herausfinden, wie ich DE0009757740 Edit: oder auch z. B. LU0360863863 (ARERO) verbauen kann :-V Gibt es da noch irgendeinen Trick?

 

Gruß

Share this post


Link to post
Dividendenjaeger
Posted
Am 11.11.2017 um 10:25 schrieb Borusse:

Moin,

danke, das habe ich auch soweit hinbekommen, allerdings scheint es so zu sein, dass auch google.finance nicht alle Fonds und jedes Wertpapier anzeigt... leider... 

so konnte ich z. B. nicht herausfinden, wie ich DE0009757740 Edit: oder auch z. B. LU0360863863 (ARERO) verbauen kann :-V Gibt es da noch irgendeinen Trick?

 

Gruß

 

Danke Mittemeier!

 

Ich musste die google docs Tabelle als Excel veröffentlichen damit der Import funktioniert - als Hinweiß

Share this post


Link to post
Oli Garch
Posted

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.
DiBaStocks
DiBaFonds
DiBaBonds
Nach dem Kopieren der Funktionen in ein Modul einer Excel-Datei, kann man die Funktion in jede beliebige Zelle wie folgt eintragen:
=DiBaStocks(A2;"FRA")
Die Funktion benötigt zwei Parameter: ISIN und Börsenplatz. Im Beispiel steht in Zelle A2 die ISIN des Wertpapiers, Parameter 2 gibt den Börsenplatz an.
Gültige Börsenplätze sind: BER, DUS, ETR, FRA, HAM, MUN, STG und für Fonds zusätzlich KAG (Kurs der Fondsgesellschaft). Wird ein Börsenplatz gewählt, der über DiBa für ein Wertpapier nicht verfügbar ist, wird eine Null ausgegeben. Natürlich lässt sich der Börsenplatz auch als Zellverweis (in der Tabellenzelle steht dann der Börsenplatz ohne Anführungszeichen) angeben und die ISIN direkt in die Funktion schreiben. Alle direkt in die Funktion eingetragenen Parameter müssen in Anführungszeichen gesetzt werden (=DiBaStocks("DE0007100000";A2)).
Die Werte aktualisieren sich beim Öffnen der Datei. Eine Aktualisierung bei geöffneter Datei ist nicht so einfach möglich. Die Funktionstaste F9, mit der man gewöhnlich alles aktualisieren kann, funktioniert hier nicht. Ich realisiere das mit einem ActiveX-Befehlsschaltflächen-Element, das ein Makro mit dem Einzeileninhalt Application.CalculateFull aufruft.
Das alles funktioniert natürlich nur so lange, wie die Seiten der DiBa so bleiben, wie sie sind.

Hier die Funktionen:

 

Public Function DiBaStocks(Isin As String, Boerse As String) As Double
Dim KursString As String
Dim TextPos As Double
Dim TextPos2 As Double
Dim XML
On Error GoTo Fehler
Set XML = CreateObject("MSXML2.ServerXMLHTTP")
XML.Open "GET", "https://wertpapiere.ing-diba.de/DE/Showpage.aspx?pageID=27&Isin=" & Isin, False
XML.send
KursString = XML.responsetext
If Boerse = "BER" Then TextPos = InStr(KursString, "Berlin</td><td class=""right"">")
If Boerse = "DUS" Then TextPos = InStr(KursString, "sseldorf</td><td class=""right"">")
If Boerse = "ETR" Then TextPos = InStr(KursString, "Xetra</td><td class=""right"">")
If Boerse = "FRA" Then TextPos = InStr(KursString, "Frankfurt</td><td class=""right"">")
If Boerse = "HAM" Then TextPos = InStr(KursString, "Hamburg</td><td class=""right"">")
If Boerse = "MUN" Then TextPos = InStr(KursString, "nchen</td><td class=""right"">")
If Boerse = "STG" Then TextPos = InStr(KursString, "Stuttgart</td><td class=""right"">")
KursString = Mid(KursString, TextPos, 1000)
TextPos = InStr(KursString, "last_formatted")
If TextPos = 0 Then
    KursString = Mid(KursString, 50)
    TextPos2 = InStr(KursString, "right")
    KursString = Mid(KursString, TextPos2 + 7, 100)
Else: KursString = Mid(KursString, TextPos + 16, 100)
End If
TextPos = InStr(KursString, "<")
KursString = Left(KursString, TextPos - 1)
DiBaStocks = CDbl(KursString)
Set XML = Nothing
Exit Function
Fehler:
    DiBaStocks = 0
    Set XML = Nothing
End Function

 

Public Function DiBaFonds(Isin As String, Boerse As String) As Double
Dim KursString As String
Dim LastKursString As String
Dim TextPos As Double
Dim XML
On Error GoTo Fehler
Set XML = CreateObject("MSXML2.ServerXMLHTTP")
XML.Open "GET", "https://wertpapiere.ing-diba.de/DE/Showpage.aspx?pageID=33&Isin=" & Isin, False
XML.send
KursString = XML.responsetext
If Boerse = "KAG" Then TextPos = InStr(KursString, "Fondsgesellschaft") + 69
If Boerse = "BER" Then TextPos = InStr(KursString, "Berlin</td><td class=") + 32
If Boerse = "DUS" Then TextPos = InStr(KursString, "sseldorf</td><td class=") + 32
If Boerse = "ETR" Then TextPos = InStr(KursString, "Xetra</td><td class=") + 32
If Boerse = "FRA" Then TextPos = InStr(KursString, "Frankfurt</td><td class=") + 32
If Boerse = "HAM" Then TextPos = InStr(KursString, "Hamburg</td><td class=") + 32
If Boerse = "MUN" Then TextPos = InStr(KursString, "nchen</td><td class=") + 32
If Boerse = "STG" Then TextPos = InStr(KursString, "Stuttgart</td><td class=") + 32
KursString = Mid(KursString, TextPos, 1000)
If Boerse <> "KAG" Then
    TextPos = InStr(KursString, "last_formatted")
    If TextPos = 0 Then
        TextPos = InStr(KursString, "right") + 7
        KursString = Mid(KursString, TextPos, 100)
    Else: KursString = Mid(KursString, TextPos + 16, 100)
    End If
End If
    TextPos = InStr(KursString, "<")
    KursString = Left(KursString, TextPos - 1)
    DiBaFonds = CDbl(KursString)
    Set XML = Nothing
Exit Function
Fehler:
    DiBaFonds = 0
    Set XML = Nothing
End Function

 

Public Function DiBaBonds(Isin As String, Boerse As String) As Double
Dim KursString As String
Dim LastKursString As String
Dim TextPos As Double
Dim TextPos2 As Double
Dim XML
On Error GoTo Fehler
Set XML = CreateObject("MSXML2.ServerXMLHTTP")
XML.Open "GET", "https://wertpapiere.ing-diba.de/DE/Showpage.aspx?pageID=42&Isin=" & Isin, False
XML.send
KursString = XML.responsetext
If Boerse = "BER" Then TextPos = InStr(KursString, "Berlin</td><td class=")
If Boerse = "DUS" Then TextPos = InStr(KursString, "sseldorf</td><td class=")
If Boerse = "ETR" Then TextPos = InStr(KursString, "Xetra</td><td class=")
If Boerse = "FRA" Then TextPos = InStr(KursString, "Frankfurt</td><td class=")
If Boerse = "HAM" Then TextPos = InStr(KursString, "Hamburg</td><td class=")
If Boerse = "MUN" Then TextPos = InStr(KursString, "nchen</td><td class=")
If Boerse = "STG" Then TextPos = InStr(KursString, "Stuttgart</td><td class=")

KursString = Mid(KursString, TextPos, 1000)
TextPos = InStr(KursString, "last_formatted")
If TextPos = 0 Then
    KursString = Mid(KursString, TextPos + 50, 200)
    TextPos2 = InStr(KursString, "right")
    KursString = Mid(KursString, TextPos2 + 7, 200)
Else: KursString = Mid(KursString, TextPos + 16, 1000)
End If
TextPos = InStr(KursString, "<")
KursString = Left(KursString, TextPos - 1)
DiBaBonds = CDbl(KursString)
Set XML = Nothing
Exit Function
Fehler:
    DiBaBonds = 0
    Set XML = Nothing
End Function

Share this post


Link to post
domkapitular
Posted

Danke !

Hab das gerade mal für die Telekom-Aktie probiert - funktioniert !

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