ich versuche Daten von einer Webseite zu sammeln. Dazu nutze ich einen Code, der mir an anderer Stelle hier im Herber-Forum gezeigt wurde.
Es geht um diese Webseite: https://www.apg.at/de/markt/Markttransparenz/Netzregelung/Sekundaerregelreserve
Dort muss ich zum einem nur das Wunschdatum einstellen und auf "Tabelle" klicken. Anschließend würde ich mir die gesuchten Daten heraussuchen. Leider passiert nichts bei der Datumseingabe (wird übersprungen). Die Code-Zeile zum klicken auf "Tabelle" habe ich noch nicht geschrieben, da ja nicht mal mein Code zur Datumseingabe funktioniert.Ich hoffe ihr könnt helfen.
Der Code:
Sub Austria()
wbAE = ActiveWorkbook.Name
wkshAE = ActiveSheet.Name
myDate = Workbooks(wbAE).Sheets(wkshAE).Range("G1")
'Tabelle namens "RZ_SALDO" erstellen
Dim ie As Object, daten As Object, zeile As Object, zelle As Object, Startdate As Date, _
objCollection As Object
Dim lZeile As Long, lSpalte As Long, anzahlTage As Integer, i As Integer
lZeile = 1: lSpalte = 1
'Beispiel vom 3.06.2017 bis 5.06.2017
Startdate = CDate(myDate) 'Startdatum anpassen
anzahlTage = 1 'Anzahl der Tage anpassen
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.navigate "https://www.apg.at/de/markt/Markttransparenz/Netzregelung/Sekundaerregelreserve"
While ie.Busy
DoEvents
Wend
Do: Loop Until ie.document.readyState = "complete"
Do: Loop Until ie.document.readyState = "complete"
For i = 0 To anzahlTage - 1
'--------setze Datum ein---------------------------------
Set objCollection = ie.document.getElementsByTagName("input")
For Each itm In objCollection(i).all
If itm = "from" Then
itm.Value = CStr(CDate(Startdate + i))
End If
Next
ie.document.getElementById("vc_btnShow").Click
Do: Loop Until ie.document.readyState = "complete"
'-----finde und kopiere gesuchte Werte--------------------
Set daten = ie.document.getElementById("vc_tbTable")
lZeile = 1
For Each zeile In daten.Rows
For Each zelle In zeile.Cells
If lSpalte = 9 Or lSpalte = 10 Then
Workbooks(wbAE).Worksheets(wkshAE).Cells(lZeile + 5, lSpalte + 14) = Format(zelle. _
innerText, "0000")
End If
lSpalte = lSpalte + 1
Next
lSpalte = 1
lZeile = lZeile + 1
Next
Next
ie.Quit
End Sub
SG Marco
P.S.: kennt jmd. eine gute Seite wo VBA-Codes im Zusammenhang mit Internet erklärt werden?