Hallo,
ich habe ein Excelmakro programmiert, das mir viele viele Werte berechnet. Die Werte werden ich über eine Tabelle in Excel eingegeben, in einigen Klassenmodulen berechnet (ohne Excel's Oberfläche damit zu belästigen) und zum Schluß über eine zweite Tabelle in Excel wieder ausgegeben.
Das funktioniert auch alles wunderbar und läuft auch recht fix, nur stört mich ein bisschen dass ich das Makro unterwegs nicht anhalten, abbrechen oder den Status sehen kann. Die Berechnung eines Wertes dauert ein paar Sekunden, und es werden immer 1500 Werte am Stück gerechnet. Ich nutze im Code die Statusleiste, um alle paar Sekunden den aktuellen Stand der Berechnung anzuzeigen.
Das Problem: schon nach wenigen Sekunden wird das ganze Fenster von Windows weiß markiert und oben im der Titelleiste steht "(keine Rückmeldung)". Danach funktioniert auch das Update der Statusleiste nicht mehr, bis das Programm durchgelaufen ist.
Steuerung-Pause oder Escape oder Steuerung-Unterbrechen funktionieren in diesem Zustand alle auch nicht. Die würden mir ja vollständig genügen, gehen aber nicht!
Die "kleine" Lösung wäre für mich, dass man irgendwie errericht dass Windows das Fenster nicht weiß markiert so dass Strg Pause funktioniert.
Die perfekte Lösung wäre für mich ein kleines Fenster, das NICHT Systemmodal ist. Ich will während der Berechnung weiter am Rechner arbeiten. In dem Fennster wird der Status angezeigt und ich kann auf Stopp drücken. Sobald gestoppt wird, soll er noch die aktuelle Berechnung zuende laufen lassen und das letzte Ergebnis rausschreiben.
Geht sowas in VBA?
|