Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen

Abfragen aus dem Internet per VBA


Betrifft: Abfragen aus dem Internet per VBA von: Stefan
Geschrieben am: 07.12.2017 22:29:26

Hallo liebe VBA-Cracks,

ich möchte eine Abfrage von Daten (Aktien) aus dem Internet, genauer gesagt aus einer CSV importieren.
Ich habe eine x-beliebige Aktie genommen, die mir über den Weg gelaufen ist.
Das klappt auch soweit durch untenstehenden Code.
Das Problem ist nur, ich würde gerne das Startdatum der Abfrage gerne flexibel gestalten. Wie kann ich das einbinden?
Ich arbeite bisher leider nur mit dem Makrorekorder.
Wenn die Daten dann in Excel sind, sollte die Abfrage wieder gelöscht werden, da ich sonst den Code nicht wieder ohne weiteres anwenden kann...
Habt ihr hierzu eine Idee?

Danke für die Hilfe!!

Grüße
Tom

Sub Aktien()


   
 ActiveWorkbook.Queries.Add Name:= _
        "Historische Kurse Borussia Dortmund BVB (Xetra) (3)", Formula:= _
        "let" & Chr(13) & "" & Chr(10) & "    Quelle = Web.Page(Web.Contents(""https://www. _
onvista.de/onvista/times+sales/popup/historische-kurse/?notationId=144434&dateStart=01.01.2017&interval=Y5&assetName=Borussia%20Dortmund%20BVB&exchange=Xetra""))," & Chr(13) & "" & Chr(10) & "    Data0 = Quelle{0}[Data]," & Chr(13) & "" & Chr(10) & "    #""Geänderter Typ"" = Table.TransformColumnTypes(Data0,{{""Datum"", type date}, {""Eröffnung"", type number}, {""Hoc" & _
        "h"", type number}, {""Tief"", type number}, {""Schluss"", type number}, {""Volumen"",  _
type number}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & "    #""Geänderter Typ"""
    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array( _
        "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=""Historische  _
Kurse Borussia Dortmund BVB (Xetra) (3)"";Extended" _
        , " Properties="""""), Destination:=Range("$A$5")).QueryTable
        .CommandType = xlCmdSql
        .CommandText = Array( _
        "SELECT * FROM [Historische Kurse Borussia Dortmund BVB (Xetra) (3)]")
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .ListObject.DisplayName = _
        "Historische_Kurse_Borussia_Dortmund_BVB__Xetra___3"
     .Refresh BackgroundQuery:=False
    End With
    Range("A5").Select
End Sub

  

Betrifft: AW: Abfragen aus dem Internet per VBA von: ChrisL
Geschrieben am: 08.12.2017 18:40:02

Hi Stefan

ungetestet:

...?notationId=144434&dateStart=" & Format(Variable, "DD.MM.YYYY") & "&interval=Y5&assetName=...

cu
Chris


Beiträge aus den Excel-Beispielen zum Thema "Abfragen aus dem Internet per VBA"