Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1440to1444
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro mit Makro in einen Button?

Makro mit Makro in einen Button?
05.08.2015 17:49:16
Marcus
Hallo,
ich tüftel schon eine ganze Weile, aber ich kriege es nicht hin. Kann mir jemand helfen?
Ich habe zwei Arbeitsmappen "10100" und "Work". Aus der "Work" heraus starte ich ein Makro welches "10100" (dort "Tabelle1") öffnet, ein wenig bearbeitet und fertig. Jetzt soll aber zusätzlich noch ein einfacher Button in die 10100 ("Tabelle1") der gleichzeitig mit einem Makro behaftet ist (also nach der Bearbeitung Button drückemn und):
- lösch den Button aus der 10100 wieder raus
- speicher die Datei so wie sie ist und wo sie war
Das klingt doch eigentlich einfach? Aber no way for me.
Danke für Hilfe! Gruß Marcus

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro mit Makro in einen Button?
05.08.2015 18:54:44
Werner
Hallo Marcus,
ich bin jetzt zwar nicht der Experte, vielleicht verstehe ich ja deshalb nicht was du willst. Was soll denn der Code hinter dem Button bewirken, den du erst ins Blatt einfügst um ihn dann wieder zu löschen?
Gruß Werner

AW: Makro mit Makro in einen Button?
05.08.2015 18:58:59
Marcus
Das wird bei der täglichen Arbeit ca. 50 mal genutzt in verschiedenen Arbeitsblättern. Und die Leute kriegen es immer wieder hin die Originaldateien zu vermatschen (also nicht zu speichern oder was weiß ich :-) )..... Deshalb Button rein, da müssen die nur drauf klicken und der Rest wird dann erledigt...

AW: Makro mit Makro in einen Button?
05.08.2015 19:35:24
Werner
Hallo Marcus,
ich steig da immer noch nicht durch. Offensichtlich geht es wohl nur darum, dass die Datei, welche du mit VBA öffnest und in Blatt 1 "ein wenig bearbeitest" danach gespeichert wird. Dann stellt sich mir die Frage, warum du in deinem Code für das Öffnen - Bearbeiten der Datei am Ende des Codes nicht gleich speichern lässt? Sprich der Code öffnet die Datei, bearbeitet Blatt 1 und speichert die Datei dann gleich wieder.
Bei Antwort bitte daran denken, den Beitrag als offen zu markieren, Kontrollkästchen oben rechts neben dem Passwort.
Wermer

Anzeige
AW: Makro mit Makro in einen Button?
05.08.2015 19:39:12
Marcus
Moin Werner,
es geht darum: es wird mittels Makro eine Datei geöffnet, formatiert zum Bearbeiten durch Personal und soll danach einfach gespeichert werden so wie sie heißt und da wo sie liegt. Korrekt. Aber glaub es mir, die Leute kriegen es hin
- die Datei nicht zu speichern
- unter anderem Namen (Kopie von...)
Und damit funktionieren die weiteren Makros natürlich nicht. Deshalb für doofe :-): Ein Button wird eingefügt mit dem Code "lösch den Button wieder, speicher die Datei und schließe diese". Scheint aber wohl nicht so einfach zu sein...

AW: Makro mit Makro in einen Button?
05.08.2015 19:50:05
Daniel
Hi
code und Buttons in andere Dateien hineinzupflanzen ist nicht ganz trivial
du könntest die Datei per Code aber schützen.
hierzu kommt folgender Code ins Modul "DieseArbeitsmappe" der Datei:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Me.ReadOnly Then
MsgBox "Datei kann nicht gespeichert werden"
Me.Saved = True
Else
If SaveAsUI Then
MsgBox "Sie dürfen keine Kopien dieser Datei anlegen"
Cancel = True
End If
End If
End Sub

Damit wird ein SpeichenUnter unterbunden.
Die Makros müssen aber aktiv sein.
Gruß Daniel

Anzeige
AW: Makro mit Makro in einen Button?
05.08.2015 20:08:32
Marcus
Hi Daniel,
danke für Deine Antwort. Aber der Code müsste ja auch jedes Mal in die "neue Datei" geschrieben werden. Das hilft mir ja nix. Den Button einfügen kriege ich via Makro aus der Stammdatei ja hin, aber ich kriege "das Makro" dann nicht hinter den Button getackert. U know?
Grüße aus dem warmen Hannover

AW: Makro mit Makro in einen Button?
05.08.2015 20:34:52
Daniel
Hi
kommt darauf an, wie du die Datei neu erstellst.
ggf kannst du hier ja eine Vorlage verwenden, die du kopierst und die den Code bereits enthält.
ansonsten gibt hier ein Tutorial, wie du Code mit Code erstellen kannst:
http://www.office-loesung.de/ftopic192212_15_0_asc.php
Gruß Daniel

Anzeige
AW: Makro mit Makro in einen Button?
05.08.2015 22:03:22
Mullit
Hallo Marcus,
könnte man machen, Du rufst das Makro nicht aus der Datei auf, in der sich der Button befindet, sondern aus der Stammdatei:
Code in die Stammdatei:
Option Explicit
Public Sub test1()
With ActiveWorkbook
.ActiveSheet.Buttons(Application.Caller).Delete
.Save
End With
MsgBox "MyMacro"
End Sub
Public Sub prcOpen()
With Workbooks.Open(Filename:=ThisWorkbook.Path & "\test2Button.xlsm").Worksheets(1).Buttons. _
Add( _
Left:=100#, Top:=100#, Width:=100#, Height:=100#)
.Caption = "MyButton"
.OnAction = ThisWorkbook.Name & "!test1"
End With
End Sub

Allerdings versteh ich noch nicht, warum Du den Button nicht konstant eingefügt haben willst..
Gruß, Mullit

Anzeige
AW: Makro mit Makro in einen Button?
06.08.2015 10:40:00
Marcus
Moin Mullit,
danke - er fügt den Button jetzt ein, es kommt aber ein Laufzeitfehler 1004 "Die OnAction-Eigenschaft des Button-Objektes kann nicht festgelegt werden.". Was ist da noch zu tun?
Konstant deshalb nicht - weil die Dateien 50 mal am Tag wechseln :-). Es kommen also immer wieder Neue...
Danke bis hierhin!

AW: Makro mit Makro in einen Button?
06.08.2015 18:20:19
Mullit
Hallo Marcus,
ah ok, hmm in Xl2007 und Xl2010 läuft bei mir das Einfügen des Buttons und Zuweisen der OnAction-Eigenschaft ohne Fehler ab und das Makro 'test1' kann über den Button ausgeführt werden, aber zeig am besten mal Deinen Code...
Nebenbei: Daniels Hinweis bleibt entscheidend für den Fall, daß Du die Stammdatei vorzeitig schließt...
Gruß, Mullit

Anzeige
AW: Makro mit Makro in einen Button?
06.08.2015 19:20:53
Marcus
Hi,
also die aktuelle Position sieht da so aus:
Columns("O:O").ColumnWidth = 33.11
Columns("D:D").ColumnWidth = 13.11
Columns("G:G").ColumnWidth = 13.11
Columns("F:F").ColumnWidth = 13.11
Range("O4").Select
Workbooks("99112 bearbeitet von CLS.xls").Close savechanges:=True
'Button rein
With Workbooks.Open(Filename:=ThisWorkbook.Path & "\99112 bearbeitet von CLS.xls").Worksheets(1).Buttons. _
Add( _
Left:=100#, Top:=100#, Width:=100#, Height:=100#)
.Caption = "MyButton"
.OnAction = ThisWorkbook.Name & "99112 bearbeitet von CLS Test"
End With
End Sub

Anzeige
AW: Makro mit Makro in einen Button?
06.08.2015 19:36:51
Mullit
Hallo,
da haben wir schon einige Übeltäter: da fehlt 1. das Ausrufezeichen das Arbeitsmappenamen vom Prozedurnamen trennt und 2. darf Dein Prozedurname keine Leerzeichen enthalten, wahrscheinlich hast Du da den Mappennamen miteingefügt, also wenn dann:
.Caption = "MyButton"
.OnAction = ThisWorkbook.Name & "!99112_bearbeitet_von_CLS_Test"

Oder wenn Dein Makro nur 'Test' heißt, dann:
.Caption = "MyButton"
.OnAction = ThisWorkbook.Name & "!Test"

Gruß, Mullit

Anzeige
AW: Makro mit Makro in einen Button?
07.08.2015 15:26:30
Marcus
Soooooooooooooooo!
DU und nur DU bist der Held für mich diese Woche! GANZ GENAU SO! geht das nämlich. Und nicht anders.
Entschuldigung, aber das musste so aus mir raus grade. Dieses Teil hat mich so irre gemacht!!
DANKE SEHR und ein tolles WE! Gruß Marcus

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige