Vba excel internet-seiten

hallo www-ler
folgender vba-code fuegt eine internetseite in excel ein.
ich moechte nun so etwas wie eine schleife in den code einfuegen, die in der internetadresse die ‚startnr‘ um jeweils 10 erhoeht (also: auf 20, dann auf 30 usw.)
jeweils nach aenderung der startnummer soll dann wiederrum die internetseite in excel geladen werden.
zur frage:
wie muss diese schleife programmiert werden?
DANKE IM VORAUS PETER

Sub Aufruf()
WebAufruf ("http://www.xxx.de/search.php3?inhalt=&startnr=10")
End Sub

Function WebAufruf(wName$)
Dim TB As Worksheet
Set TB = ThisWorkbook.Worksheets(1)
With ActiveSheet.QueryTables.Add(Connection:= _
„URL;“ & wName, _
Destination:=Range(„A1“))
.FieldNames = False
.RefreshStyle = xlInsertDeleteCells
.RowNumbers = False
.FillAdjacentFormulas = False
.RefreshOnFileOpen = False
.HasAutoFormat = True
.BackgroundQuery = True
.TablesOnlyFromHTML = True
.Refresh BackgroundQuery:=False
.SavePassword = False
.SaveData = True
End With
End Function

Sub Aufruf()
WebAufruf ("http://www.xxx.de/search.php3?inhalt=&startnr=10")
End Sub

Function WebAufruf(Byval wName as String)
Dim TB As Worksheet
Dim dblCounter as Double

Set TB = ThisWorkbook.Worksheets(1)
dblCounter = Val(Right(wName, Len(wName) - InStr(1, wName, „startnr=“) - 7))
wName = Left(wName, InStr(1, wName, „startnr=“) + 7)
Do Until dblCounter = 1000

With ActiveSheet.QueryTables.Add(Connection:=„URL;“ & wName & dblCounter ,Destination:=Range(„A1“))
.FieldNames = False
.RefreshStyle = xlInsertDeleteCells
.RowNumbers = False
.FillAdjacentFormulas = False
.RefreshOnFileOpen = False
.HasAutoFormat = True
.BackgroundQuery = True
.TablesOnlyFromHTML = True
.Refresh BackgroundQuery:=False
.SavePassword = False
.SaveData = True
End With
dblCounter = dblCounter + 10
Loop

End Function

hallo patrik,
gaaaaanz hervorragend! das funzt blendend. vielen dank.
eins faellt mir nur auf:
excel fuegt jeweils die neuen inhalte spaltenweise ein …
kann man das aendern, indem die inhalte in neuen
ZEILEN eingefuegt werden.
klaro ??
peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

…,Destination:=Range(Chr(Asc(„A“) + intCounter) & „1“))

Mit dem Befehl „Asc“ erhällst du den Ascii-Code des Buchstabens. In diesem Fall 65. intCounter ist der Zähler den du in der Schlaufer erhöst. Er sollte nicht grösser als 25 sein (Ascii-Code 90 = Z). Mit „Chr“ wandelst du den Ascii-Code in einen Buchstaben zurück.

Andere Möglichkeit:
…,Destination:=Range(„A“ & Str(intCounter)))

„Str“ wandelt eine Zahl in einen String um.

hallo patrik

vielen dank fuer deine tips -funktionieren ganz hervorragend-.
ich habe den code wie folgt aufgebaut. das einfuegen zeilenweise funktioniert sehr gut. doch ein kleines problem taucht auf:
wenn die startnr bei 440 ist (also 44 mal die naechste internetseite aufgerufen wurde), „schmiert mir excel“ mit ner schutzverletzung ab.
das passiert im uebrigen auch, wenn ich die startnr bei 400 beginnen lassen … dann taucht das problem bei der 4.abfrage auf -also auch bei 440- :=((
ist das ein excelproblem oder muss ich etwas anderes versuchen ?
danke fuer einen weiteren tip
peter

ps: wie muesste dieser code eigentlich aussehen, wenn ich ihn in word97 realisieren wollte ?

Sub Aufruf()
'Start der Abfrage bei StartNr …
WebAufruf ("http://www.xxx.de/search.php3?inhalt=&startnr=10")

End Sub

Function WebAufruf(ByVal wName As String)
Dim TB As Worksheet
Dim dblCounter As Double
Dim intRow As Double

'Start des Einfügens bei Zeile …
intRow = 1

Set TB = ThisWorkbook.Worksheets(1)
dblCounter = Val(Right(wName, Len(wName) - InStr(1,

wName, „startnr=“) - 7))

wName = Left(wName, InStr(1, wName, „startnr=“) + 7)

'StartNr erhöhen bis …
Do Until dblCounter = 800

With ActiveSheet.QueryTables.Add(Connection:=„URL;“ & wName &

dblCounter, Destination:=Range(„A“ & intRow))

.FieldNames = False
.RefreshStyle = xlInsertDeleteCells
.RowNumbers = False
.FillAdjacentFormulas = False
.RefreshOnFileOpen = False
.HasAutoFormat = True
.BackgroundQuery = True
.TablesOnlyFromHTML = True
.Refresh BackgroundQuery:=False
.SavePassword = False
.SaveData = True
End With

intRow = intRow + 100
dblCounter = dblCounter + 10

Loop
End Function

hallo patrik

vielen dank fuer deine tips -funktionieren ganz hervorragend-.
ich habe den code wie folgt aufgebaut. das einfuegen
zeilenweise funktioniert sehr gut. doch ein kleines problem
taucht auf:
wenn die startnr bei 440 ist (also 44 mal die naechste
internetseite aufgerufen wurde), „schmiert mir excel“ mit ner
schutzverletzung ab.
das passiert im uebrigen auch, wenn ich die startnr bei 400
beginnen lassen … dann taucht das problem bei der 4.abfrage
auf -also auch bei 440- :=((

Wahrscheinlich ein Excel-Problem.

ist das ein excelproblem oder muss ich etwas anderes versuchen
?
danke fuer einen weiteren tip
peter

ps: wie muesste dieser code eigentlich aussehen, wenn ich ihn
in word97 realisieren wollte ?

genau gleich

hallo patrik,
verspaetet … aber ich bedanke mich trotzdem oder
gerade deshalb besonders herzlich fuer deine hilfestellung
gruss
peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]