Ich führe diese Sub und es funktioniert, aber die Daten scrapped wird in die zweite Zeile geschrieben und jede Instanz überschreibt die letzte. Ich kann nicht sehen, wo mein Skript falsch ist. Bitte helfen Sie mir zu verstehen:Excel VBA - Warum werden die Daten in derselben Zeile überschrieben?
Option Explicit
Sub test()
Dim ele As Object
Dim objIE As Object
Dim RowCount As Double
Dim sht As Worksheet
Dim myjobtype As String
Dim myzip As String
Dim what
Dim zipcode
Set sht = Sheets("Sheet1")
RowCount = 1
sht.Range("A" & RowCount) = "Title"
sht.Range("B" & RowCount) = "Company"
sht.Range("C" & RowCount) = "Location"
sht.Range("D" & RowCount) = "Description"
Set objIE = CreateObject("InternetExplorer.Application")
myjobtype = InputBox("Enter type of job eg. sales, administration")
myzip = InputBox("Enter zipcode of area where you wish to work")
With objIE
.Visible = True
.navigate "http://www.jobs.com/"
Do While .Busy Or _
.readyState <> 4
DoEvents
Loop
Set what = .document.getElementsByName("q")
what.Item(0).Value = myjobtype
Set zipcode = .document.getElementsByName("where")
zipcode.Item(0).Value = myzip
.document.forms(0).submit
Do While .Busy Or _
.readyState <> 4
DoEvents
Loop
For Each ele In .document.all
Select Case ele.classname
Case "cardview"
RowCount = RowCount + 1
Case "jobTitle"
sht.Range("A" & RowCount) = ele.innertext
Case "company"
sht.Range("B" & RowCount) = ele.innertext
Case "location"
sht.Range("C" & RowCount) = ele.innertext
Case "preview"
sht.Range("D" & RowCount) = ele.innertext
End Select
Next ele
End With
Set objIE = Nothing
End Sub
Vielen Dank für Ihre Vorschläge, leider bewegte sich RowCount außerhalb des Select Case nicht. Ich ersetzte dann die Select-Anweisung mit Ihrem Vorschlag, aber es legte alles in Spalte D. Wie sollte es die Spalte auf die gleiche Weise erhöhen, wie ich die Zeile erhöhen? – Python