Verlorene Bindung zw. Schaltknopf und Makro

Hallo VBA Freunde

ich habe in einem Excel (2000) Tabellenblatt mehrere Schaltknöpfe, die Makros auslösen. Diese Makros stehen in VBA bei dem Tabellenblatt. Jetzt nach Jahren funktionieren bei einem Programm die Schaltknöpfe nicht mehr, es gibt auch (im Entwurfsmodus) keine Option „Code anzeigen“, sondern nur „Makro anbinden“. Dieses führt zu einem Leerfeld ohne Makroliste, die existierenden Makros werden also offenbar nicht erkannt. Drücke ich „neu“, legt Excel in einem Modul (VBA) ein neues Makro an (Überschrift und end). Kopiere ich den Inhalt des alten Makros in dieses neue Makro, funktioniert wieder alles.
Meine Frage ist: was muß passieren, daß ein Schaltknopf die Verbindung zu seinem Makro verliert bzw. was habe ich ggf. falsch gemacht? Gibt es eine „Reparaturmöglichkeit“, bei der das Makro an seiner Position verbleiben kann? Ich muß noch erwähnen, daß ich Office 2000 verwende und dieses bei Windows 2000, XP und Vista verwende, was (bis auf diesen einen Fall) problemlos funktioniert.

Danke für Tipps
Gruß
Günther

ich habe in einem Excel (2000) Tabellenblatt mehrere
Schaltknöpfe, die Makros auslösen. Diese Makros stehen in VBA
bei dem Tabellenblatt. Jetzt nach Jahren funktionieren bei
einem Programm die Schaltknöpfe nicht mehr, es gibt auch (im
Entwurfsmodus) keine Option „Code anzeigen“, sondern nur
„Makro anbinden“. Dieses führt zu einem Leerfeld ohne
Makroliste, die existierenden Makros werden also offenbar
nicht erkannt. Drücke ich „neu“, legt Excel in einem Modul
(VBA) ein neues Makro an (Überschrift und end). Kopiere ich
den Inhalt des alten Makros in dieses neue Makro, funktioniert
wieder alles.
Meine Frage ist: was muß passieren, daß ein Schaltknopf die
Verbindung zu seinem Makro verliert bzw. was habe ich ggf.
falsch gemacht? Gibt es eine „Reparaturmöglichkeit“, bei der
das Makro an seiner Position verbleiben kann? Ich muß noch
erwähnen, daß ich Office 2000 verwende und dieses bei Windows
2000, XP und Vista verwende, was (bis auf diesen einen Fall)
problemlos funktioniert.

Danke für Tipps
Gruß

Hallo Günther,

„Makro anbinden“ sah ich noch nie, auch Google scheint das nicht zu kennen.

Kannst du die Mappe hochladen mit rapidshare ( FAQ:2606 )?
Ggfs. Daten rauswerfen wenn nicht nötig, nur das makroproblem muß erhalten bleiben.

Gruß
Reinhard

Hallo Reinhard

danke für Deine Antwort. Ich habe mich nicht präzise ausgedrückt: „Makro zuweisen“ heißt die Option. Wie ich schon schrieb, bekomme ich das dann ja hin und habe damit mein Problem gelöst. Es bleibt für mich lediglich die Frage, woher die Verbindung zwischen Schaltknopf und Makro denn überhaupt abreißen kann. Aufgefallen ist mir, daß das nicht erkennbaren Makro (alt) z.B. „CommandButton1_Click“ heißt, während, wenn ich über „Makro zuweisen“ und „Neu“ ein neues Makro definiere, dieses dann „CommandButton1_BeiKlick“ heißt. Ich habe „Beiklick“ bislang noch nie gelesen und vor allem Klick mit „k“ geschrieben. Ich vermute daher ganz stark, daß das mit der Excel_Version „Excel 2000 (9.0.2812)“ und dem Betriebssystem zusammenhängt. Andererseits laufen ebenso alte Excel Dateien von mir nach wie vor problemlos.

Gruß
Günther

Schaltfläche aus Formular und Steuerelementtoolbox

Problem gelöst. Es bleibt für mich lediglich die Frage, woher
die Verbindung zwischen Schaltknopf und Makro denn überhaupt
abreißen kann. Aufgefallen ist mir, daß das nicht erkennbaren
Makro (alt) z.B. „CommandButton1_Click“ heißt, während, wenn
ich über „Makro zuweisen“ und „Neu“ ein neues Makro definiere,
dieses dann „CommandButton1_BeiKlick“ heißt. Ich habe
„Beiklick“ bislang noch nie gelesen und vor allem Klick mit
„k“ geschrieben. Ich vermute daher ganz stark, daß das mit der
Excel_Version „Excel 2000 (9.0.2812)“ und dem Betriebssystem
zusammenhängt. Andererseits laufen ebenso alte Excel Dateien
von mir nach wie vor problemlos.

Hallo Günther,

ich glaube da ist nix abgerissen :smile:

Du hast da anscheinend eine Mischung aus Schaltflächen aus Symbolleiste Steuerelementtoolbox und Formular.

Erstere nennen sich bei Erstellung von haus haus CommanButtonX (x=fortlaufende Zahl).
Wenn du oben im Vb-Editor in der Auswahlzeile den CommanButton1 auswählst wir automatisch sein Klickereignis code erstellt, bzw. dessen Hülle, also so:

Private Sub CommandButton1_Click()
End Sub

Da "private"taucht es auch nicht in der Excel-makroliste auf.

Diesem CommandButton kannst du nicht mit „Makro zuweisen“ ein makro zuweisen. Im Entwurfsmodus Rechtsklick drauf und „Code anzeigen“ oder Doppelklick darauf.
Und sein Code muß im Modul des Blattes stehen indem sich der CB befindet.

Bei Schaltflächen aus Formular ist das anders. Die heißen von haus aus SchaltflächeX.
Wenn du ihnen mit „Makro zuweisen“ ein Makro zuweisen willst so ist da der vorgegebener Name SchaltflächeX_BeiKlick.

Natürlich kann und sollte man den CBs sprechende Namen verpassen.

Gruß
Reinhard

1 „Gefällt mir“

Hallo Reinhard

danke für Deine Erläuterungen, das war mir ein * wert. Ich werde mit dem jetzt besseren Verständnis die Sache weiter verfolgen.

Gruß
Günther