Fehler in der Excel-ActiveX-Kombinationsfelder?

Habe ich bemerkt, dass ich alle Arten von nervigen Fehler, wenn:

  • Ich habe ActiveX comboboxes auf einem Arbeitsblatt (nicht in einer excel-Formular)
  • Die comboboxes haben Ereignis-code verknüpft sind (z.B. onchange-Ereignisse)
  • Ich verwenden Ihre listfillrange oder linkedcell-Eigenschaften (clearing-diese Eigenschaften scheint zu lindern und eine Menge Probleme)
  • (Nicht sicher, wenn dieses angeschlossen ist), aber es gibt Daten, die Validierung auf die gezielte linkedcell.

Ich programmiere eine ziemlich komplexe excel-Anwendung, die eine Tonne von event-handling und verwendet eine Menge von Kontrollen. Über die Monate habe ich versucht, das Angebot mit einer Vielzahl von bugs, die den Umgang mit diesen combo-Boxen. Ich kann mich nicht erinnern, alle details der jede Instanz, aber diese bugs eher um das zeigen des listfillrange und linkedcell-Eigenschaften auf benannte Bereiche, und haben oft zu tun mit der combo-box-Ereignisse auslösen zu unangebrachten Zeiten (wie bei der Anwendung.enableevents = false). Diese Probleme schien zu wachsen, größer zu werden, in Excel 2007, so dass ich aufgeben musste, auf diese combo-Boxen ganz (ich verwende jetzt combo-Boxen enthalten in benutzerformulare, anstatt direkt auf dem Blatt).

Hat jemand sonst gesehen ähnliche Probleme? Wenn ja, war es eine anmutige Lösung? Ich habe mir, um mit Google und bisher noch nicht gesichtet jemand mit ähnlichen Problemen.

Einige der Symptome, die ich am Ende zu sehen sind:

  • Excel abstürzt, wenn ich starte (geht combobox_onchange, listfillrange->benannten Bereich auf ein anderes Blatt, und workbook_open-Interaktionen). (Hinweis, ich hatte auch einige Daten, die Validierung auf der Sie die verknüpften Zellen im Falle dass ein user bearbeitet Sie direkt.)
  • Excel-rendering-bugs (in der Regel, wenn sich die Auswahlbox verändert, einige Zellen aus einem anderen Blatt Holen Sie nach dem Zufallsprinzip gezogen, über der Oberseite von der aktuellen Platte) Manchmal ist es beinhaltet die Bildschirm blinkt ganz anderen Blatt für einen moment.
  • Excel verlieren Ihren Geist (oder besser gesagt, der call-stack) (bezogen auf den ersten Punkt). Manchmal, wenn eine Funktion ändert eine Eigenschaft von comboboxes, die combobox onchange-Ereignis feuert, aber nie wieder die Kontrolle an die Funktion, die die Veränderung in den ersten Platz. Die combobox_onchange Ereignisse werden auch ausgelöst, wenn die Anwendung.enableevents = false.
  • Events feuern, wenn Sie nicht sollten (ich postete noch eine Frage auf stack overflow im Zusammenhang mit diesem).

In diesem Punkt, ich bin ziemlich überzeugt, dass ActiveX-comboboxes sind das verkörperte böse, und nicht der Mühe Wert. Ich habe eingeschaltet, um einschließlich dieser comboboxes innerhalb eines userform-Modul statt. Ich würde eher Unannehmlichkeiten Benutzer mit popup-Formulare als zufällige visuelle Artefakte und Absturz (mit Datenverlust).

ist es nicht eher ein Fehler in Ihrem code, sondern als Excel?
Mitch: ich habe vorsichtig trat durch die Ausführung von code. Dies ist definitiv Excel-Probleme. Als ich sagte, dass Excel fällt die Funktion stack kann ich mir eigentlich nicht erklären, es auf andere Weise. Und Excel sollte nicht Abstürzen, egal wie schlecht jemand die Makros nicht richtig.
Mitch, wenn Sie wollen, um zu sehen, ein Beispiel für einen Fehler, den ich machte Dokument ist wesentlich genauer und die Schuld auf Excel finden Sie unter stackoverflow.com/questions/1263394/... - ich habe noch nicht gegangen in so viel detail hier, weil ich vermute, es ist ein Allgemeines problem mit dem activex-comboboxes.

InformationsquelleAutor Kimball Robinson | 2010-02-25

Schreibe einen Kommentar