AW: Daten "Live-Feed" von Website in Excel
05.03.2020 18:20:54
Website
Hallo Jannik,
ein evtl. Code, der Daten aus einer Web-Site ausliest, hängt sehr stark von der Beschaffenheit der Web-Site und deren Inhalt ab.
Soll eine Tabelle ausgelesen werden oder nur ein paar Felder. Sind die Daten in eindeutigen Tags untergebracht usw..
Eine Quellcode-Untersuchung würde ich nicht machen, sondern versuchen über den Internet.Explorer die Daten zu extrahieren.
Da Du keinen Beispiellink hier eingestellt hast und ich gerade an einem Thema "gebastelt" habe, hier mal dies als Beispiel zum Auslesen einer Tabelle (nur zur Anschauung)
Sub HoleFeiertage()
Dim sBereich As String
With ThisWorkbook.Sheets("Tabelle1")
.Select
.Cells.Clear
sBereich = LadeIETabelle(.Range("$A$1"), _
"https://www.kalenderpedia.de/feiertage/feiertage-2020.html", 4)
' Formatieren sBereich
End With
End Sub
Function LadeIETabelle(rZiel As Range, sUrl As String, Optional iTabNr As Integer) As String
'Tabelle aus einer WEB-Anwendung kopieren (KHV Okt 2018)
Dim oIE As Object, sArr() As String
Dim iZeile As Long, iSpalte As Long, iAnzZl As Long, iAnzSp As Long
With CreateObject("InternetExplorer.Application")
.Navigate2 sUrl
.Visible = False
While Not .ReadyState = 4: DoEvents: Wend
With .document.all.tags("table")(iTabNr)
iAnzZl = .Rows.Length - 1
iAnzSp = .Rows(0).Cells.Length - 1
ReDim sArr(iAnzZl, iAnzSp)
For iZeile = 0 To iAnzZl
For iSpalte = 0 To iAnzSp
sArr(iZeile, iSpalte) = .Rows(iZeile).Cells(iSpalte).innerText
Next iSpalte
Next iZeile
End With
If iAnzZl > 0 And iAnzSp > 0 Then _
rZiel.Resize(iAnzZl, iAnzSp).Value = sArr()
.Quit
LadeIETabelle = rZiel.Address & ":" & rZiel.Offset(iAnzZl - 1, iAnzSp - 1).Address
End With
End Function
viele Grüße
Karl-Heinz