M
MSCom
Neuer Benutzer
Threadstarter
- Dabei seit
- 20.09.2016
- Beiträge
- 1
Hallo zusammen,
ich habe folgendes Problem.
Es gibt eine Vielzahl von Websites, die ich regelmäßig aus dem Web holen möchte und die sich von Zeit zu Zeit minimal ändern.
Im Wesentlichen unterschieden sich diese nur in einer fortlaufenden Nummer am Ende. Also: www.Beispiel.de/Text/?Filterkriterien5 (dann 6, 7 et.).
Ich habe dafür den nachfolgenden VBA-Code geschrieben:
Sub webimport()
Dim url As String
Dim ws As Worksheet
Dim qt As QueryTable
Worksheets("Tabelle1").Select
ActiveSheet.Cells(6, 1).Select
url = ActiveSheet.Cells(6, 1).Value
Set ws = Worksheets.Add
Set qt = ws.QueryTables.Add( _
Connection:="URL;" & url, _
Destination:=Range("A1"))
qt.Refresh BackgroundQuery:=False
End Sub
Mit dem Marko führt das allerdings zu einer Fehlermeldung (Laufzeitfehler '1004', Ungültige Webabfrage).
Das Makro funktioniert dagegen einwandfrei, wenn ich keine Filterkriterien, sondern lediglich den URL-Teil vor dem "?" verwende.
In meinem Beispiel also www.Beispiel.de/Text. Was allerdings nicht den Daten entspricht, die ich haben möchte, da die entscheidenen Filterkriterien fehlen.
Gehe ich über das Menüband auf "Daten" und starte manuell eine Datenabfrage, funktionieren die URLs jedoch so wie sie sein sollen problemlos.
Kann mir jemand dabei helfen, den Fehler / Unterschied zwischen manueller Vorgehensweise und Makro zu beheben?
Sofern hilfreich: Es geht dabei um den Aktien-Finder von Onvista. Also den URLs:
https://www.onvista.de/aktien/finder ;
Aktien-Finder: Einfach die richtige Aktie finden | onvista
und
https://www.onvista.de/aktien/finder/?continent[0]=Europa&PROFIT_PER_SHARE[enabled]=1&PROFIT_KGV[enabled]=1&DIVIDEND_AMOUNT[enabled]=1&DIVIDEND_YIELD[enabled]=1&PROFIT_PER_SHARE[year]=2019&PROFIT_KGV[year]=2019&DIVIDEND_AMOUNT[year]=2019&DIVIDEND_YIELD[year]=2019&offset=50
etc. (fortlaufende Nummerierung am Ende)
Vielen Dank und schöne Grüße
ich habe folgendes Problem.
Es gibt eine Vielzahl von Websites, die ich regelmäßig aus dem Web holen möchte und die sich von Zeit zu Zeit minimal ändern.
Im Wesentlichen unterschieden sich diese nur in einer fortlaufenden Nummer am Ende. Also: www.Beispiel.de/Text/?Filterkriterien5 (dann 6, 7 et.).
Ich habe dafür den nachfolgenden VBA-Code geschrieben:
Sub webimport()
Dim url As String
Dim ws As Worksheet
Dim qt As QueryTable
Worksheets("Tabelle1").Select
ActiveSheet.Cells(6, 1).Select
url = ActiveSheet.Cells(6, 1).Value
Set ws = Worksheets.Add
Set qt = ws.QueryTables.Add( _
Connection:="URL;" & url, _
Destination:=Range("A1"))
qt.Refresh BackgroundQuery:=False
End Sub
Mit dem Marko führt das allerdings zu einer Fehlermeldung (Laufzeitfehler '1004', Ungültige Webabfrage).
Das Makro funktioniert dagegen einwandfrei, wenn ich keine Filterkriterien, sondern lediglich den URL-Teil vor dem "?" verwende.
In meinem Beispiel also www.Beispiel.de/Text. Was allerdings nicht den Daten entspricht, die ich haben möchte, da die entscheidenen Filterkriterien fehlen.
Gehe ich über das Menüband auf "Daten" und starte manuell eine Datenabfrage, funktionieren die URLs jedoch so wie sie sein sollen problemlos.
Kann mir jemand dabei helfen, den Fehler / Unterschied zwischen manueller Vorgehensweise und Makro zu beheben?
Sofern hilfreich: Es geht dabei um den Aktien-Finder von Onvista. Also den URLs:
https://www.onvista.de/aktien/finder ;
Aktien-Finder: Einfach die richtige Aktie finden | onvista
und
https://www.onvista.de/aktien/finder/?continent[0]=Europa&PROFIT_PER_SHARE[enabled]=1&PROFIT_KGV[enabled]=1&DIVIDEND_AMOUNT[enabled]=1&DIVIDEND_YIELD[enabled]=1&PROFIT_PER_SHARE[year]=2019&PROFIT_KGV[year]=2019&DIVIDEND_AMOUNT[year]=2019&DIVIDEND_YIELD[year]=2019&offset=50
etc. (fortlaufende Nummerierung am Ende)
Vielen Dank und schöne Grüße