Clever-Excel-Forum

Normale Version: Mehrere Makros automatisch starten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
@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, 19: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
Hallöchen,

Zitat:Du musst den Code unter "diese Arbeitsmappe" einfügen, dann sollte es funktionieren

Nein, da gehört _Click-Code definitiv nicht hin ...
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
Zitat:Ist es ein Formularsteuerelement, dann gehört der Code in ein allgemeines Modul!
Leider stimmt das nicht. Der Code kann dort stehen, oder in einem Arbeitsblattmodul, oder das WorkbookModul.

Der TS sollte ein Beispieldatei hochladen.
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 … ?
(06.09.2022, 07: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?
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 ...  21

Grüße
Vielleicht ?
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.
Seiten: 1 2 3