AW: Daten aus Website in Excel importieren
07.06.2016 09:25:06
Patrick
Guten Tag Zwenn,
Danke für dein Input.
Der Beitrag ist für mich als VBA Neuling ziemlich komplex und kann leider nicht viel damit anfangen.
Als Vergleich:
Bei Yahoo Finance kann ich über eine Verlinkung direkt die Preis Historie importieren:
Sub update_prices()
Dim Spalte As Integer
Dim startzeile As Integer
Dim endzeile As Integer
Dim numberws As Integer
Tabellenblatt = "funda-alys" 'InputBox("Name des Tabellenblattes in der sich die Aktienkürzel _
von finance.yahoo.de befinden")
Spalte = "1" 'InputBox("Nummer der Spalte in der sich die Aktienkürzel von _
finance.yahoo.de befinden")
startzeile = "6" 'InputBox("Startzeilenummer der Aktienkürzel")
endzeile = Loletzte 'InputBox("Endzeile der Aktienkürzel")
For n = startzeile To endzeile
x = Worksheets(Tabellenblatt).Cells(n, Spalte).Value
ActiveWorkbook.Worksheets.Add After:=Worksheets(Worksheets.Count)
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;http://ichart.finance.yahoo.com/table.csv?s=" & x & "&d=" & Month(Date) & "&e=" & Day( _
Date) & "&f=" & Year(Date) & "&g=d&a=0&b=1&c=1900&ignore=.csv" _
, Destination:=Range("$A$1"))
.Name = "table.csv?s=BMW.DE&d=6&e=31&f=2012&g=d&a=0&b=1&c=2003&ignore="
.FieldNames = True
.RowNumbers = True
.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(5, 1, 1, 1, 1, 1, 1)
.TextFileDecimalSeparator = "."
.TextFileThousandsSeparator = ","
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
ActiveSheet.Name = "P-" & x
ActiveWorkbook.Connections("table.csv?s=" & x & "&d=" & Month(Date) & "&e=" & Day(Date) & "&f=" _
& Year(Date) & "&g=d&a=0&b=1&c=1900&ignore=").Delete
ActiveSheet.QueryTables.Item(ActiveSheet.QueryTables.Count).Delete
ActiveSheet.ListObjects.Add(xlSrcRange, ActiveSheet.Range(ActiveSheet.Cells(1, 1), ActiveSheet. _
Cells(1, 7).End(xlDown)), , xlYes).Name = x
'MsgBox "Die Kurse für " & x & " wurden erfolgreich in ein neues Tabellenblatt geladen."
Next n
End Sub
So etwas dachte ich mir auch für Morningstar.com, jedoch funktioniert das leider nicht...
Bzgl. der Date Range, möchte ich einfach alle vorhandenen Preis-Daten angezeigt bekommen.
Ich hoffe meine Erläuterungen helfen die Problemstellung besser zu verstehen.
Grüsse
Patrick