Focus auf Excel verhindern (VBA)

Hallo Experten,

ich habe ein Programm in VBA für Excel geschrieben, das mir minütlich Daten aus einer Datenbank im Internet runterlädt. Gestartet wird das Programm über die „OnTime“-Methode. Excel soll mit dieser Aufgabe im Hintergrund werkeln während ich im Vordergrund mit anderen Anwendungen arbeite.
Leider klappt das so nicht, denn Excel bekommt während jeder Ausführung des Codes den Focus.
Die einzige Möglichkeit, die ich gefunden habe, wäre Excel während der Ausführung des Codes auf „Visible = False“ zu schalten. Aber da habe ich dann Angst, daß ich im Falle des Programmabsturzes keinen Zugriff auf die runtergeladenen Daten mehr habe. Außerdem ist diese Variante auch nicht wirklich unauffällig, denn schließlich habe ich dann ständig ein auftauchendes und wieder verschwindendes Excel-Icon in der Taskleiste…

Habt ihr bessere Ideen?

Vielen Dank
Martin

Visible
Excel auf „unsichtbar“ zu schalten ist auch keine Lösung, da beim Start des Codes die aktuelle Anwendung trotzdem den Focus verliert. Und nach dem Wieder-Sichtbar-Schalten von Excel nach dem Ausführen des Codes blinkt das Excel-Icon in der Taskleiste. :frowning:

Martin

ich habe ein Programm in VBA für Excel geschrieben, das mir
minütlich Daten aus einer Datenbank im Internet runterlädt.
Gestartet wird das Programm über die „OnTime“-Methode. Excel
soll mit dieser Aufgabe im Hintergrund werkeln während ich im
Vordergrund mit anderen Anwendungen arbeite.
Leider klappt das so nicht, denn Excel bekommt während jeder
Ausführung des Codes den Focus.

Hallo Martin,

kannst du mal eine Bispielmappe hochladen mit FAQ:2861
Ich krieg das auf die Schnelle nicht hin das nachzustellen.
Weder kriegt Excel den Focus, noch blinkt es in der Taskleiste.

Public Anz

Sub test()
Anz = Anz + 1
ThisWorkbook.Worksheets(1).Range(„A1“).Value = Anz
If Anz >= 20 Then GoTo Ende
Application.OnTime Now + TimeValue(„00:00:01“), „test“
ThisWorkbook.Worksheets(Anz Mod 2 + 1).Activate
Ende:
End Sub

Gruß
Reinhard

Hallo Reinhard,

da habe ich die Sache wohl zu schnell als gegeben hingenommen und nicht genug rumprobiert: mit dem Code

Sub TEST()
Application.OnTime Now + TimeValue(„00:00:10“), „TEST“
Cells(1, 1) = Cells(1, 1) + 1
End Sub

konnte ich mein Problem ebenfalls nicht mehr nachstellen. Dann werde ich mein ursprüngliches PRG mal durchforsten nach der Zeile, die den Fokus auf Excel zurücksetzt.

Sorry, daß ich Dich bemüht habe. Aber wenn ich den entsprechenden Code nicht finde komme ja wahrscheinlich nochmal auf Dich zurück!

Danke
Martin