Automatisierungsfehler

Hallo!

Ich habe folgendes Problem:

Zur Zeit arbeite ich an einem Arbeitsplan in Excel, bei dem mit dem Anlegen eines neuen Projektes auch einige Objekte erstellt werden. Ich lasse auf dem ersten Blatt Daten aus einem Formular eintragen, sowie eine ComboBox erstellen, die ich auch mit Werten füllen lasse. Zudem wird für jede neue ComboBox der entsprechende Code in Tabelle1 erstellt, damit ich diesen nicht von Hand einfügen muss. Jetzt kommt es leider immer wieder zu einer unschönen Fehlermeldung:

„Automatisierungsfehler
Das aufgerufene Objekt wurde von den Clients getrennt“

Auszug aus dem Quellcode:

_'Code erstellen
With thisWorkbook.VBProject.VBComponents(ThisWorkbook.VBProject.VBComponents.Item(2).Name).CodeModule

If .Find(„Private Sub ComboBox“ & y & „_Change“, 1, -1, 200, -1, False, False, False) = False Then
.InsertLines .CountOfLines + 2, „Private Sub ComboBox“ & y & „_Change“
.InsertLines .CountOfLines + 1, " status(" & y & „)“
.InsertLines .CountOfLines + 1, „End Sub“
End IfEnd With_

Ich weiß bereits, dass der Fehler nach ausführen dieses Codes auftritt. Wenn das passiert, wird Excel geschlossen und neu gestartet (Meldung: Fehlerbericht senden…). Das interessante ist, dass wenn ich im wiederhergestellten Dokument nachschaue, der erzeugt Code eingefügt wurde.
Habe schon einiges versucht, jedoch ohne Erfolg. Würde mich über eure Hilfe freuen.

Hallo!

.InsertLines .CountOfLines + 2, „Private Sub ComboBox“ & y & „_Change“

Fehlt hier hinter „Change“ möglicherweise noch „()“ ?
Welchen Wert hat y an dieser Stelle?

Viele Grüße
Carsten

Danke für die Antwort.

An den Klammern lag es nicht. Habe es getestet. Es erscheint der gleiche Fehler nachwievor.

y ist ein Integerwert, welcher sich aus der Anzahl der bereits existierenden ComboBoxen richtet. D.h. es soll für eine neue ComboBox, welche erstellt wird, der Code im Tabellenblatt hinzugefügt werden. Ich hatte das auch schon einmal in einer anderen Datei getestet, wo es komischerweise auch funktioniert hat. Ich weiß langsam nicht mehr so recht, wie ich das Problem noch lösen soll.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

.InsertLines .CountOfLines + 2, „Private Sub ComboBox“ & y & „_Change“

y ist ein Integerwert …

ein Kommentar nur dazu, von VBA habe ich keine Ahnung, nur von VB.
Mit dem Integer kann das so nicht funktionieren, den musst Du in einen String umwandeln. Versuch mal …

.InsertLines .CountOfLines + 2, "Private Sub ComboBox" & CStr(y) & "\_Change"

Gruß, Rainer

Danke auch für diese Antwort.

Habe das getestet. Auch hier wieder kein Erfolg. Der Witz ist ja, dass der Code erzeugt wird (auch richtig). Ich verstehe einfach nicht, woher der Fehler kommt. Das Problem ist, dass man von VBA nur eine unprezise Fehlermeldung erhält, bei der noch nicht einmal ‚Debuggen‘ ausgewählt werden kann. Zudem schmiert Excel komplett ab und macht eine Wiederherstellung, in dem scheinbar alles richtig ist.
Hoffe irgendwer kennt das Problem und weiß dafür eine Lösung.

Gruß Sascha

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]