@snb: Du lenkst gerne ab, wenn Du nix Schlaues mehr zu sagen hast, oder? Ich hab Dir eine ganz einfache (Nach-)frage gestellt - weshalb beantwortest Du sie nicht einfach?
(04.09.2022, 20:46)Björn.412 schrieb: Moin, danke für die Diskussion und Erklärungen, hat dennoch nicht geholfen.
Ich habe folgendes wie angegeben getestet:
Sub Button7_Click()
Start_Clean Start_Repair
End Sub
Ich habe diesen Code unter meinem Code gehangen und in ein separates Modul eingefügt. Jeweils das Makro dem Button7 zugewiesen und dann kommt eine Fehlermeldung (siehe Bild).
Du musst den Code unter "diese Arbeitsmappe" einfügen, dann sollte es funktionieren
06.09.2022, 08:34 (Dieser Beitrag wurde zuletzt bearbeitet: 06.09.2022, 08:49 von RPP63.)
Moin! Nunmehr bei #14 angelangt, wissen wir immer noch nicht, um welche Button-Art es sich handelt!
Ist es ein ActiveX-Button auf einem Tabellenblatt, dann gehört der Code in das Modul der Tabelle. Es handelt sich dann um ein Ereignismakro. (Einfacher: Doppelklick auf den Button im Entwurfsmodus, dann öffnet sich gleich das richtige Modul und der Prozedurrumpf wird automatisch erstellt)
Ist es ein Formularsteuerelement, dann gehört der Code in ein allgemeines Modul! Das Makro wird dem Button mittels [Rechtsklick → Makro zuweisen] zugeordnet.
Jedenfalls sollten in DieseArbeitsmappe ausschließlich die zugehörigen Ereignismakros stehen.
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:1 Nutzer sagt Danke an RPP63 für diesen Beitrag 28 • Charmin
06.09.2022, 10:25 (Dieser Beitrag wurde zuletzt bearbeitet: 06.09.2022, 10:26 von RPP63.)
Er kann als Public Sub an verschiedenen Stellen stehen (dann muss aber das Parent vor den Makronamen gesetzt werden), er sollte aber in einem allgemeinen Modul sein, weil er dort schlicht erwartet wird. Außerdem handelt es sich beim TE offensichtlich um einen Anfänger.
Bist Du jetzt ausschließlich auf Spitzfindigkeiten aus, snb? Das wäre schade. Schließlich diente mein Post in erster Linie dazu, auf den Unterschied zwischen Ereignismakro und zugewiesenem Makro hinzuweisen.
Boris' Frage beantwortest Du nicht, weil … ?
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
(06.09.2022, 08:34)RPP63 schrieb: Moin! Nunmehr bei #14 angelangt, wissen wir immer noch nicht, um welche Button-Art es sich handelt!
Ist es ein ActiveX-Button auf einem Tabellenblatt, dann gehört der Code in das Modul der Tabelle. Es handelt sich dann um ein Ereignismakro. (Einfacher: Doppelklick auf den Button im Entwurfsmodus, dann öffnet sich gleich das richtige Modul und der Prozedurrumpf wird automatisch erstellt)
Ist es ein Formularsteuerelement, dann gehört der Code in ein allgemeines Modul! Das Makro wird dem Button mittels [Rechtsklick → Makro zuweisen] zugeordnet.
Jedenfalls sollten in DieseArbeitsmappe ausschließlich die zugehörigen Ereignismakros stehen.
Gruß Ralf
Mal eine Frage zum Lernen. Ich bin davon ausgegangen, dass der TE von keinem Button spricht sondern direkt starten soll beim Doppelclick auf der Excel-Datei.
Dann kann man den Code in "dieseArbeitsmappe" schreiben, oder?
06.09.2022, 14:58 (Dieser Beitrag wurde zuletzt bearbeitet: 06.09.2022, 14:59 von d'r Bastler.)
Moin,
um noch ein bisschen mehr Verwirrung zu stiften:
Ein Makro, das ich über einen Active-X-Button aufrufe, wird man in der dazugehörigen Tabelle erwarten. Wenn das Makro aber bereits vorbereitet ist, in einem allg. Modul liegt und z.B. Sub Versiv() heisst, kann es mit dem Button verknüpft werden, ohne dass _Click im Namen steht.
Ein Makro, das man über einen Button einer UserForm aufruft, kann man dagegen nur durch einen Call mit einem Makro in einem allg. Modul verknüpfen. Das aufrufende im Code der USF wird aber dennoch erst einmal ButtonName_Click() heißen müssen. Wenn man das Makro nicht in ein Modul schreiben will, kann es auch einfach im Code der Userform stehen.
Dann hoffe ich mal, dass RPP sich über meinen (für ihn sicher) unqualifizierten Unsinn jetzt nicht so sehr die Haare rauft, dass er seinen Heiligenschein verbiegt ...
Grüße
d`r Bastler von den VBAsteleien.de Win 10 & 11, Office 2019 & 2021 & macOS X.15, XL 2019
06.09.2022, 15:34 (Dieser Beitrag wurde zuletzt bearbeitet: 06.09.2022, 15:35 von schauan.)
Hallöchen,
Zitat:Ein Makro, das ich über einen Active-X-Button aufrufe, wird man in der dazugehörigen Tabelle erwarten. Wenn das Makro aber bereits vorbereitet ist, in einem allg. Modul liegt und z.B. Sub Versiv() heisst, kann es mit dem Button verknüpft werden, ohne dass _Click im Namen steht.
Dass das mit einem ActiveX Button geht, ist mir neu.
Zitat:kann man dagegen nur durch einen Call mit einem Makro in einem allg. Modul verknüpfen
Man ruft das Makro mit dem Makronamen auf. Ein Call ist nicht unbedingt erforderlich. "Verknüpfen" tut man die Buttons aus den Formularsteuerelementen.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)