Dan
Here's a macro to get you started. It's a little funky, so I think I should
explain part of it. First, it took 6 minutes to run for me (cable modem),
so beware of that. The inner Do Loop is just bad programming. I was
getting an error and I'm not sure why. I suspect the page was loaded (thus
ReadyState was 4) but the frame wasn't finished yet. So I ended up just
trying to get the information until there was no error - dangerous. There's
most certainly a better way to do this (hopefully Jake Marx is reading this
thread) but I don't know what it is - yet.
The array of numbers was created with trial and error. I looped through
every item in the page until I found the correct information, then just
recorded which item it was.
Finally, the output is nowhere near what you will eventually want. The row
heights are all screwed up and there's nonprintable characters in there.
Also, Rating and Type are in the same Item, so they end up in the same
column with some superfluous info. All this can be handled in the code, I
just want to make sure we're not barking up the wrong tree. If it seems
close to what you want, we can clean it up. Here's the code
Sub GetWebInfo()
Dim appIE As Object
Dim sUrl As String
Dim lPaesseID As Long
Dim i As Long
Dim arrItem As Variant
Dim lTry As Long
Debug.Print Now
Set appIE = CreateObject("InternetExplorer.Application")
sUrl = "
http://www.motorradland.ch/default.cfm?"
sUrl = sUrl & "id=paessedetails&bgcolor=001E3C&PaesseID="
arrItem = Array(57, 72, 88, 92, 133, 153)
For lPaesseID = 1 To 321
appIE.navigate sUrl & lPaesseID
Do
Loop Until appIE.readystate = 4
For i = LBound(arrItem) To UBound(arrItem)
Do
On Error Resume Next
Sheet1.Cells(lPaesseID, i + 1).Value = _
appIE.document.all.Item(arrItem(i)).innertext
lTry = Err.Number
On Error GoTo 0
Loop Until lTry = 0
Next i
Next lPaesseID
appIE.Quit
Debug.Print Now
End Sub