17.01.2017, 12:59
Hallo,
Ich habe ein Makro, das mir aus dem Netz Daten abruft, und mir einige davon in ein anderes Sheet überträgt. Das funktioniert auch gut, solange die URL tatsächlich zu finden ist. Findet es sie nicht gibt es nätürlich einen Laufzeitfehler aus - und das ist lästig und unschön.
Jetzt dacht ich mir: Fügste einfach hinter der Zeile, in der die URL aufgerufen wird ein On Error Exit Sub ein und gut isses.
Aber es funktioniert nicht! Excel zeigt mir die Zeile rot an und meldet Fehler beim kompilieren.
Wie kann ich das Makro bei einem Laufzeitfehler abbrechen?
Ich habe ein Makro, das mir aus dem Netz Daten abruft, und mir einige davon in ein anderes Sheet überträgt. Das funktioniert auch gut, solange die URL tatsächlich zu finden ist. Findet es sie nicht gibt es nätürlich einen Laufzeitfehler aus - und das ist lästig und unschön.
Jetzt dacht ich mir: Fügste einfach hinter der Zeile, in der die URL aufgerufen wird ein On Error Exit Sub ein und gut isses.
Aber es funktioniert nicht! Excel zeigt mir die Zeile rot an und meldet Fehler beim kompilieren.
Wie kann ich das Makro bei einem Laufzeitfehler abbrechen?
Code:
Sub histKurse01()
Set wnd = ActiveWindow
Application.ScreenUpdating = False 'Aktualisierung der Anzeige ab-,angeschalten
Application.DisplayAlerts = True 'Aufforderungen und Warnmeldungen erlauben oder unterdrücken
lRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Set wnd = ActiveWindow
Application.ScreenUpdating = False 'Aktualisierung der Anzeige ab-,angeschalten
Application.DisplayAlerts = True 'Aufforderungen und Warnmeldungen erlauben oder unterdrücken
Worksheets("hist.kurse").Range("J7:L16").ClearContents
For i = 7 To lRow '-> 7 To 16 :-)
Call URLbilden
Workbooks.Open Filename:=URL
On Error Exit Sub
ActiveSheet.Cells.Copy
wnd.Activate
Sheets("CSV Transfer").Range("A1").PasteSpecial
Application.DisplayAlerts = False
Application.ScreenUpdating = True
Workbooks("table.csv").Close
'Daten in Sheet "SLKurse" übertragen
Worksheets("CSV Transfer").Columns(1).Copy Destination:=Worksheets("SLKurse").Columns(1)
Worksheets("CSV Transfer").Columns(5).Copy Destination:=Worksheets("SLKurse").Columns(((i - 6) * 3) - 1)
Worksheets("SLKurse").Cells(1, ((i - 6) * 3) - 1).Value = Worksheets("hist.Kurse").Range("C" & i).Value
Worksheets("hist.kurse").Range("L7:L16").ClearContents
Call VolaMin 'VolaMin steht im Modul Berechnungen
Next i
End Sub