Hallo,
folgendes Makro liest Daten aus Dateien im Internet.
Der Link wird aus einem Eintrag in Zeile 4-6/Spalte 2 erzeugt.
Sub WerteAktualisieren()
Range(Cells(4, 3), Cells(20, 10)).Select
Selection.ClearContents
Range("A1").Select
Dim z As Double
Dim e As Double
e = 6 'Bereichsende
For z = 4 To 6
On Error GoTo Fehler
With ActiveSheet.QueryTables.Add(Connection:= \_
"TEXT;http://de.old.finance.yahoo.com/d/quotes.csv?s=" & Cells(z, 2) & "&f=abl1c1&e=.csv" \_
, Destination:=Cells(z, 3))
.Name = "quotes.csv?s=ADS.DE&f=sl1c1&e=\_1"
.AdjustColumnWidth = False
.TextFileSemicolonDelimiter = True
.Refresh BackgroundQuery:=False
End With
Weiter:
Next z
Fehler:
If z \>= e Then 'Bereich abgearbeitet?
Resume Ende
Else
Resume Weiter
End If
Ende:
End Sub
Ist der Eintrag zur Erzeugung des Links fehlerhaft wird mit einem Laufzeitfehler abgebrochen.
Um die Schleife denoch abzuarbeiten wollte ich „On Error“ verwenden.
Zum Testen steht in Zeile 5 ein fehlerhafter Eintrag.
Jedoch werden nun auch für den nachfolgenden Eintrag keine Werte mehr ausgegeben.
Wird das Makro erneut gestartet wird nun auch für die 1.Zeile nichts mehr ausgegeben.
Erst ein Neustart von Excel bringt wieder Werte für die erste korrekte Zeile.
cu