ich nage derzeit an einem Problem, welches ich gedanklich nicht zu fassen bekomme.
Zum Hintergrund: Ich habe für umfangreiche Prozeduren, insbesondere in PivotTabellen, eine Prozedur entwickelt, die im Application.StatusBar einen Fortschrittsbalken laufen läßt, der mich die Gesamtdauer gut abschätzen läßt. Diese Prozedur bekommt die Referenzwerte im Aufruf mit und ermittelt daraus insbesondere die Double Variable um den StatusBar beim letzten Durchlauf exakt auf der Gesamtlänge von 255 Zeichen enden zu lassen. Die Referenzwerte können als Range, Collection oder Array (varRef as Variant) mitgegeben werden. Die Prozedur erkennt um welchen Typ es sich handelt und liest die Werte dementsprechend aus. Nun habe ich das Problem, daß ich im aufrufenden Code Sub Objektbezuggehtverloren() das Array arrPvf fülle und dann den Sub StatusBar_prc aufrufe. Nach der Zeile mit dem CALL ist jedoch das arrPvf defekt (Laufzeitfehler 424: Objekt erforderlich). Aber eigentlich sollte die aufgerufene Prozedur ein Array in der aufrufenden Prozedur doch überhaupt nicht verändern? Aber genau dies scheint zu passieren.
Wenn ich Zeile 102 115 (With varRef(intDim1, l)/ End With auskommentiere, dann läuft der Code durch. Ich kann mir nicht erklären, warum dieser Fehler kommt.
https://www.herber.de/bbs/user/77556.xls
Ich würde mich sehr freuen, wenn jemand aus dem Forum eine Idee hat, was der Grund für den Fehler ist.
Vielen Dank und Grüße, Andreas Hanisch