Moin,
Ein wenig "verwirrt" ist der Code ja nun schon. Aber mal von vorn:
Dein "Problem" (zumindest die Ursache fuer die Fehlermeldung bei Deiner Art zu programmieren) ist der Tabellenschutz. Lass die Tabelle "Euribor" einmal ungeschuetzt und schuetze sie im Makro auch nicht. (Zeile mit .protect mal auskommentieren.) Dann sollte das Makro auch mehrmals hintereinander durchlaufen.
=> ist die Tabelle geschuetzt, loescht die Unprotect-Methode den Inhalt der Zwischenablage. Es gibt in dem Moment dann nichts zum Einfuegen=> Fehlermeldung
(War mir vorher auch noch nie so aufgefallen.)
Was mir noch so aufgefallen ist:
- Du solltest im Download-Sub die Variable lResult auch auswerten.Ist der Download erfolgreich, sollte sie 0 sein. Jeder andere Wert weisst auf einen Downloadfehler hin.
Warum?: Schlaegt nun der Download fehl, dann wird im spaeteren Ablauf ein Laufzeitfehler auftreten, wenn auf die NICHT vorhandene Datei in C.\Temp zugegriffen werden soll.
- Aehnlich verhaelt es sich mit der InputBox aus dem Sub "Aufbereitung..." War der Download erfolgreich, dann liegt das File in C:\Temp bereit. Aendert Dein USER nun in der InputBox allerdings den Pfad auf ein nicht existierendes File-> Laufzeitfehler
- Ebenso hast Du einen Logikfehler beim WkbExists. InputBox-Abfrage schreibt das Ergebnis in fname. Auf "Offen?" wird aber sFile geprueft und ggf. geschlossen um anschliessend doch fname zu oeffnen. Aendert Dein User in der InputBox also den String, pruefst und schliesst Du ggf. das falsche File.
Du siehst, spaetestens wenn Du es "nachspielst", dass da noch einige Fehlerquellen auf Dich lauern.
Muss der User die DatenQuelle (zweite InputBox) tatsaechlich neu auswaehlen? Kann man sich das nicht sparen, und IMMER das heruntergeladene File heranziehen?
soweit mal bis hierhin
TheBlackBird ®