Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Makro stündlich starten und speichern |
22.05.2018 16:34:45 |
Doris444 |
|
|
|
22.05.2018 17:35:04 |
xlKing |
|
|
|
22.05.2018 21:45:16 |
Gast0815 |
|
|
Von:
Doris444 |
Datum:
22.05.2018 16:34:45 |
Views:
1288 |
Rating:
|
Antwort:
|
Thema:
Makro stündlich starten und speichern |
Hallo zusammen,
ich bin absoluter Neuling in VBA und benötige daher etwas Hilfe.
Ich habe folgenden Programmcode geschrieben:
Sub Test()
'Declare row variable
a = 2
For Each Zelle In Sheets("Tabelle2").Range("A2:A50")
PLZ = Zelle.Value
For Each Zelle2 In Sheets("Tabelle3").Range("A2:A3")
Sorte = Zelle2.Value
'Declare Internet Explorer as Object
Dim IEApp As Object
Set IEApp = CreateObject("InternetExplorer.Application")
'Show Internet Explorer
IEApp.Visible = True
'Navigate to desired web page
IEApp.navigate "https://www.clever-tanken.de/tankstelle_liste?spritsorte=" & Sorte & "&r=5&lat=&lon=&ort=" & PLZ
'Wait until web page has been loaded
Do: Loop Until IEApp.Busy = False
Application.Wait (Now + TimeValue("0:00:05"))
'Declare source code as Object
Dim SourceCode As Object
Set SourceCode = IEApp.document
Debug.Print SourceCode.body.outerHTML
'Loop for Sorte, Preis, Name, ID,Adresse, Geokoordinaten, Zeit
For Each Preis In SourceCode.GetElementsByClassName("price-entry")
Debug.Print Preis.innerText
Sheets("Tabelle1").Range("A" & a) = Sorte
Sheets("Tabelle1").Range("B" & a) = Preis.GetElementsByClassName("fuel-station-price")(0).innerText
Sheets("Tabelle1").Range("C" & a) = Preis.GetElementsByClassName("row fuel-station-location-name")(0).innerText
Sheets("Tabelle1").Range("D" & a) = Preis.GetElementsByClassName("col-xs-12")(0).innerText
Sheets("Tabelle1").Range("E" & a) = Preis.GetAttribute("id")
Sheets("Tabelle1").Range("F" & a) = Preis.GetAttribute("ng-init")
Sheets("Tabelle1").Range("G" & a) = Now
a = a + 1
Next
'Close Internet Explorer
IEApp.Quit
'Clear objects to save memory
Set IEApp = Nothing
Next
Next
End Sub
Diesen möchte ich eine Woche lang stündlich ausführen lassen. Die Daten sollen nicht überschrieben werden, sondern Blockweise gespeichert werden. Damit meine ich, dass Spalte A bis G ein Block darstellt und die neu gezogenen Daten, dann von Spalte H bis N gespeichert werden sollen.
Falls jemand eine Lösung für mich hat, würde mich das sehr freuen |
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Makro stündlich starten und speichern |
22.05.2018 16:34:45 |
Doris444 |
|
|
|
22.05.2018 17:35:04 |
xlKing |
|
|
|
22.05.2018 21:45:16 |
Gast0815 |
|
|