Aktienkurse von Yahoo
#1
Hallo zusammen,
ich benötige mal wieder eure Hilfe.
Meine Aktienkurs Aktualisierung funktioniert nicht mehr (siehe Mustertabelle). Yahoo soll umgestellt haben, finde aber keine genauen Angaben wie ich meinen Code ändern muss um "historische Aktienwerte" Zeitraum 5 Jahre in mein Tabellenblatt einlesen kann.
Kann mir jemand dabei helfen?
Danke schon mal im Voraus!


Angehängte Dateien
.xlsm   Yahoo_Kurs_Abfrage.xlsm (Größe: 104,17 KB / Downloads: 1)
Top
#2
MS Money hat da ebenfalls Probleme. Und keiner schreibt, woran es liegt.

Meine Einschätzung: Wenn es bei allen nicht mehr so einfach geht, sind die Preise für den Informationsankauf vermutlich gestiegen.

Bei Google geht es noch (Beispieldaten):

https://docs.google.com/spreadsheets/d/1...sp=sharing
Top
#3
Hallo Lupo1,
Danke für deine schnelle Antwort.
Es geht, ich kann es nur in VBA nicht umsetzen.

Folgender Werdegang:
1. https://de.finance.yahoo.com/ ...aufrufen 
2. Mit Benutzernamen und Passwort anmelden
3. Link generieren und an Webseite übergeben... https://de.finance.yahoo.com/quote/ADS.DE/history?p=ADS.DE
4. Kürzel ersetzen durch... = Zellinhalt im Tabellenblatt "Depot" Spalte 7
4a. Yahoo generiert eine CSV-Datei und es wird der "Speichern unter" Dialog aufgerufen
5. Speicherort CSV z.B. adidas ... E:\Depot\CSV\ADS.DE.csv
6. Laden CSV alle im Ordner befindlichen CSV Dateien... E:\Depot\CSV\*.CSV
7. Name des Tabellenblattes = Name des Kürzels z.B. "ADS.DE"

Wenn ich diese Reihenfolge händisch jeweils anwende, klappt es! Aber wie setzte ich das in VBA um?
Top
#4
Hallo Bernie (ich bin übrigens auch aus HB),

zumindest 4a. passiert wohl außerhalb von Excel. Vielleicht klappt es ja auch mit einer normalen Webabfrage, die man in Excel formuliert, nachdem Du Dich bei Yahoo angemeldet hast (manuell oder per VBA).

Ich bin da leider nicht so der Fachmann.

Hanseatische Grüße
lupo1
Top
#5
Mein herzallerliebster Hanseat,
Danke trotzdem für deine Bemühungen.
Vielleicht kennt sich im Forum noch jemand Anderes damit aus.
Top
#6
Hallo zusammen,
habe gestern etwas im Web recherchiert und ein andere Webseite gefunden, von der es möglich ist historische Aktienkurse nach Excel zu importieren.
Leider bin ich nicht in der Lage ein Makro zu erstellen, das meinen Vorstellungen entspricht, da fehlen mir noch Kentnisse. Mit dem Rekorder hat es nicht funktioniert.

So funktioniert es händisch.
1. Link aus Tabelle Kürzel Spalte G kopieren als Textimport im PowerQuery eingeben
2. Spalte A der Webabfrage als Datum formatieren
3. Laden der Webtabelle nach Excel in neue Tabelle
4. Neue Tabelle mit dem Namen des entsprechenden Kürzels umbenennen
5. In neuer Tabelle die Spalten B-E als Zahl mit 3 Kommastellen formatieren

Alles ganz einfach (ha,ha).
Kann mir jemand bei der Erstellung eines Makros behilflich sein?


Angehängte Dateien
.xlsm   Yahoo_Kurs_Abfrage.xlsm (Größe: 146,29 KB / Downloads: 2)
Top
#7
Hallo Bernie
Ich mag Deine xlsm - Datei nicht herunterladen: den Rechner nicht gefährden.
In meinem Fundus habe ich zwei Makros gefunden, die Du vielleicht zurechtbiegen kannst:
Code:
Sub Kurse_1()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error GoTo Ende
'zunächst Kurse ins temporäre Hilfsblatt Kurse reinholen:
Worksheets.Add.Name = "Kurse"
Sheets("Kurse").Select
   With ActiveSheet.QueryTables.Add(Connection:= _
       "URL;http://www.onvista.de/devisen/devisenkurse.html" _
       , Destination:=Range("A1"))
       .WebSelectionType = xlEntirePage
       .Refresh BackgroundQuery:=False
   End With
Cells.UnMerge
'Kurse in Tabelle1 übertragen:
   Sheets("Tabelle1").Select
   Range("O2").FormulaR1C1 = "=Kurse!R[56]C[-11]"
   Range("O3").FormulaR1C1 = "=Kurse!R[51]C[-11]"
   Range("O4").FormulaR1C1 = "=Kurse!R[49]C[-11]"
   Range("O2:O4").Copy
   Range("O2:O4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=False
'temporäres Hilfsblatt Kurse löschen:
   Sheets("Kurse").Delete
Ende:
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Code:
Sub Kurse_2()
   Application.ScreenUpdating = False
   Application.DisplayAlerts = False
   On Error GoTo Ende
   'zunächst Kurse ins temporäre Hilfsblatt Kurse reinholen:
   Worksheets.Add.Name = "Kurse"
   With Sheets("Kurse").QueryTables.Add(Connection:= _
           "URL;http://fr.finance.yahoo.com/q/bc?s=EURPHP=X&t=3m&l=on&z=m&q=l&c=" _
           , Destination:=Range("A1"))
       .WebSelectionType = xlEntirePage
       .Refresh BackgroundQuery:=False
   End With
   'Kurs in Tabelle1 übertragen:
   With Sheets("Tabelle1")
       .Range("O2").Formula = "=LEFT(Kurse!A87,7)"
       .Range("O2").Value = .Range("O2").Value
   End With
   'temporäres Hilfsblatt Kurse löschen:
   Sheets("Kurse").Delete
Ende:
   Application.ScreenUpdating = True
   Application.DisplayAlerts = True
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an Helvetier für diesen Beitrag:
  • Bernie
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste