Registriert seit: 24.01.2022
Version(en): Office 365
24.01.2022, 16:44
(Dieser Beitrag wurde zuletzt bearbeitet: 24.01.2022, 16:45 von Comfsolo.)
Hallo,
ich hoffe mir kann hier jemand weiterhelfen.
Ich erstelle aus 1 Worksheet ca. 5 verschiedene Worksheets und möchte dort eine Makro inkludieren
ActiveSheet.Buttons.Add(1072.5, 170.25, 141.75, 53.25).Select
Selection.OnAction = "Formularstarten1"
Selection.Characters.Text = "Starten"
jetzt ist mein Problem, dass er vor das Formularstarten1 noch den Namen des ersten Worksheets einfügt.
Mahnliste_Version1.xlsm!Formularstarten1
Wie kann ich das verhindern bzw. umgehen?
Problem die erstellten Worksheets gehen an andere Personen die jeweils keinen Zugriff auf das erste Worksheet haben, sprich dort kommt eine Fehlermeldung mit Dateipfad nicht korrekt.
Vielen Dank
Registriert seit: 12.03.2016
Version(en): Excel 2003
24.01.2022, 19:13
(Dieser Beitrag wurde zuletzt bearbeitet: 24.01.2022, 19:15 von Gast 123.)
Hallo
es gibt einen Weg, dazu rate ich dieses Blatt nur einmal mit einem Button einzurichten, inclusive Makro im Blatt, und das einfach als Vorlage kopieren!
Kein normalen CommandButton, den ich sonst bevorzuge, sondern als ActiveXSteuerelement einbauen! Der Unterschied liegt im Makro zuweisen!
Bei ActiveXSteuerelemente ist das Makro immer mit dem aktiven Sheet verbunden, und muss dort im Sheet eingerichtet werden. Somit bleibt es im Sheet!
Mit dem Recorder kannst du das ja mal aufzeichnen. Nach dem einfügen des Buttons musst du im VBA Editor auf "Entwicklungsmodus" gehen und dir den Code anzeigen lassen. Dann steht im neuen Blatt sofort der Text: Private Sub CommandButton_BeiKlick. Da musst du das auszuführende Makro reinschreiben. Das ist dann mit dem Sheet verbunden!
mfg Gast 123
Als Alternative könntest du mit dem neuen Sheet ein neues Modul speichern, und das Makro in das neue Modul kopieren. Das ist aber mehr Arbeit!!
Registriert seit: 24.01.2022
Version(en): Office 365
Okay klingt erstmal super.
Jetzt habe ich aber das Problem, dass ich das Makro bzw den Befehl nicht hinterlegen kann.
Ich hab dann im dem neuen Tabellenblatt stehen
private Sub CommandButton1_Click()
End Sub
Wenn da drin steht
private Sub CommandButton1_Click()
Formular.Show
End Sub
funktioniert alles und es passt.
Wie bekomm ich das in mein erstes Makro rein, dass er automatisch das einfügt?
Vielen Dank
Registriert seit: 12.03.2016
Version(en): Excel 2003
25.01.2022, 16:52
(Dieser Beitrag wurde zuletzt bearbeitet: 25.01.2022, 16:54 von Gast 123.)
Hallo
ich wiederhole noch einmal meinen Vorschlag: Statt die Sache jedesmal neu zu erzeugen einmal ein Sheet komplett einrichten, mit Button und Makro, es z.B. Vlg=Vorlage benennen, und dann nur noch dieses fertige Sheet kopieren und einen neuen Blattnamen vergeben.
Den Code per VBA ins neue Sheet schreiben müsste ich selbst im Internet nach dem passenden Code googeln! Oder ein Kollege kennt ihn??
mfg Gast 123
PS ein fertiges Vorlage Blatt kann man ausblenden, dann ist es unsichtbar. Mit VBA kann man es aber leicht kopieren und neu benennen!