Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Button mit Makro kopieren

Button mit Makro kopieren
01.08.2016 19:19:17
Martin
Hallo liebe Forumsmitglieder,
Ich habe einen Active-X Toggle-Button, in dem auch ein VBA-Code geschrieben steht. Ich würde gern den Button inklusive Makro in ein anderes Arbeitsblatt der gleichen Excel-Arbeitsmappe kopieren. Bislang habe ich es leider nur geschafft, mit dem Makro-Recorder, den Button zu kopieren. Das dahinter liegende Makro wird aber leider nicht in das neue Arbeitsblatt übernommen.
Kann mir von euch jemand sagen, wie man beides kopiert bekommt?
Über eine kurze Antwort würde ich mich sehr freuen.
Viele Grüße
Martin
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Button mit Makro kopieren
01.08.2016 20:12:23
Hajo_Zi
Hallo Martin,
von Code kopieren solltest Du die Finger lassen bei Deinem Stand.
Der Zugriff auf das VBA Projekt muss dazu zugelassen sein.
Dazu gebe ich keine Auskunft, da dies tief in die Sicherheit geht.

AW: Button mit Makro kopieren
01.08.2016 20:17:06
Nepumuk
Hallo,
leg ein (ausgeblendetes) Vorlagenblatt mit Button und Makro an und kopiere bei Bedarf dieses Blatt.
Gruß
Nepumuk
Anzeige
AW: Button mit Makro kopieren
01.08.2016 23:13:18
Martin
Hallo Hajo und Nepumuk,
vielen Dank für eure schnelle Rückmeldung.
Leider hilft mir ein Vorlagenblatt nicht weiter, da in der Excel-Arbeitsmappe noch ein weiteres Makro läuft, dass nach Bedarf neue Arbeitsblätter generiert, in denen dann der besagte Button mit dem Makro hätte erscheinen sollen.
Ich denke, ich werde es mit einem Modul lösen müssen, dass man mit einem Tastenkürzel startet und beendet. Das kann man ja glücklicherweise in der gesamten Arbeitsmappe immer aufrufen. Ist nur nicht ganz die Lösung, die ich mir vorgestellt hatte.
Viele Grüße
Martin
Anzeige
AW: Button mit Makro kopieren
01.08.2016 23:40:44
Mullit
Hallo,
...hmm genau das geht doch auch mit Nepumuks Vorschlag, statt Dein neues Blatt per .Add-Methode zu generieren, erstellst Du es Durch Kopieren der Blankovorlage per Worksheet.Copy-Methode, die nur Button + Code enthält....
Gruß, Mullit
AW: Button mit Makro kopieren
04.08.2016 20:19:16
Martin
Hallo Mullit,
danke für deine Info. Du hast Recht, man könnte tatsächlich das Blatt als Vorlage nehmen, es zuerst kopieren, und dann mit allen weiteren Infos füllen, die das bereits bestehende Makro beim Erstellen der zusätzlichen Blätter generiert. Ich hatte etwas umständlich gedacht und nur berücksichtigt, dass das vorhandene Makro zunächst Arbeitsblätter mit benutzerdefiniertem Inhalt erstellt (hatte ich nicht eindeutig in meinem letzten Text geschrieben). Umgekehrt sollte es ja auch funktionieren.
Viele Grüße
Martin
Anzeige
AW: Button mit Makro kopieren
04.08.2016 21:24:18
Mullit
Hallo Martin,
...okidoki, den Dank leiten wir an Nepumuk weiter...
Gruß, Mullit
;
Anzeige
Anzeige

Infobox / Tutorial

Button mit Makro kopieren in Excel


Schritt-für-Schritt-Anleitung

Um einen Active-X Toggle-Button zusammen mit dem zugehörigen Makro in ein anderes Arbeitsblatt innerhalb der gleichen Excel-Arbeitsmappe zu kopieren, folge diesen Schritten:

  1. Vorbereitung: Stelle sicher, dass der VBA-Zugriff auf dein Projekt erlaubt ist. Gehe dazu in Excel auf „Datei“ > „Optionen“ > „Sicherheitscenter“ > „Einstellungen für das Sicherheitscenter“ und aktiviere die entsprechenden Optionen.

  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Button und Makro finden: Suche in den Projektfenstern nach dem Arbeitsblatt, das den Button enthält. Notiere dir den Namen des Buttons und das zugehörige Makro.

  4. Button kopieren: Klicke mit der rechten Maustaste auf den Button im Arbeitsblatt und wähle „Kopieren“.

  5. Neues Arbeitsblatt hinzufügen: Erstelle ein neues Arbeitsblatt, in das du den Button kopieren möchtest.

  6. Button einfügen: Gehe zu dem neuen Arbeitsblatt, klicke mit der rechten Maustaste und wähle „Einfügen“. Der Button wird nun eingefügt.

  7. Makro zuweisen: Um das Makro zuzuweisen, klicke mit der rechten Maustaste auf den Button, wähle „Makro zuweisen“ und suche das Makro aus der Liste.


Häufige Fehler und Lösungen

  • Makro wird nicht kopiert: Wenn das Makro beim Kopieren des Buttons nicht übernommen wird, stelle sicher, dass du den Button manuell mit der oben beschriebenen Methode zuweist.

  • Sicherheitswarnung: Wenn du beim Öffnen der Datei Sicherheitswarnungen erhältst, überprüfe die Sicherheitseinstellungen in Excel und aktiviere die Makros.


Alternative Methoden

Falls das direkte Kopieren nicht funktioniert, kannst du auch folgende Methoden ausprobieren:

  • Vorlagenblatt erstellen: Lege ein ausgeblendetes Vorlagenblatt mit dem Button und dem Makro an. Wenn du ein neues Blatt benötigst, kopiere einfach dieses Vorlagenblatt.

  • Modul nutzen: Erstelle ein VBA-Modul, in dem du den Button und das Makro definierst. Starte das Makro über ein Tastenkürzel, wenn du ein neues Arbeitsblatt erstellst.


Praktische Beispiele

Hier ein einfaches Beispiel, wie du mit VBA ein Button-Objekt kopieren kannst:

Sub ButtonKopieren()
    Dim wsQuelle As Worksheet
    Dim wsZiel As Worksheet
    Set wsQuelle = ThisWorkbook.Worksheets("Vorlage")
    Set wsZiel = ThisWorkbook.Worksheets.Add

    wsQuelle.Buttons("ToggleButton1").Copy
    wsZiel.Paste
    wsZiel.Buttons("ToggleButton1").OnAction = "MeinMakro"
End Sub

In diesem Beispiel wird ein Button von einem Arbeitsblatt namens "Vorlage" in ein neues Arbeitsblatt kopiert. Achte darauf, den Namen des Buttons und des Makros entsprechend anzupassen.


Tipps für Profis

  • VBA-Code optimieren: Stelle sicher, dass dein VBA-Code gut strukturiert ist, um die Wartbarkeit zu erhöhen.

  • Fehlerbehandlung einbauen: Füge Fehlerbehandlungsroutinen in deinen VBA-Code ein, um unerwartete Probleme zu vermeiden.

  • Makros in der gesamten Arbeitsmappe nutzen: Stelle sicher, dass deine Makros in Modulen gespeichert sind, damit du sie von überall in der Arbeitsmappe aufrufen kannst.


FAQ: Häufige Fragen

1. Kann ich auch andere Steuerelemente kopieren? Ja, die meisten Active-X-Steuerelemente können auf ähnliche Weise kopiert und in andere Arbeitsblätter eingefügt werden.

2. Was mache ich, wenn das Makro nicht funktioniert? Überprüfe, ob das Makro korrekt zugewiesen ist und ob alle benötigten Variablen und Objekte im VBA-Code definiert sind. Achte auch auf die richtigen Sicherheitseinstellungen in Excel.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige