Das Archiv des Excel-Forums
Makro ausführen beim speichern
Betrifft: Makro ausführen beim speichern
von: junny
Geschrieben am: 14.10.2003 10:00:19
Hallo Leute,
wwie kann ich ein MAkro starten lassen sobald die Tabelle gespeichert wird?
Jedoch müssen die Änderungen die das makro auslöst noch getätigt und mitgespeichert werden.
Danke Gruss volker
Betrifft: AW: Makro ausführen beim speichern
von: Andi_H
Geschrieben am: 14.10.2003 10:02:06
Hi Volker,
schreibe den Code in DieseArbeitsmappe im Ereignis BeforeSave
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'dein Code
End Sub
Gruß
ANdi
Betrifft: AW: Makro ausführen beim speichern
von: junny
Geschrieben am: 14.10.2003 10:52:58
Hai ANdi,
hab die Zeile einkopiert, mein Code sieht jetzt so aus:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
' automatisches ausfüllen Materialcode Kantengrafik, Gesamtstückzahl
'Sub Test()
'Serie
Range("U6").Select
ActiveCell.Formula = "=IF((E6)>0,U5,"""")"
Selection.AutoFill Destination:=Range("U6:U319"), Type:=xlFillCopy
'Materialcode
Range("W5").Select
ActiveCell.Formula = "=CONCATENATE(I5,H5)"
Selection.AutoFill Destination:=Range("W5:W319"), Type:=xlFillDefault
'Kantengrafik
Range("AV5").Select
ActiveCell.Formula = "=O5"
Selection.AutoFill Destination:=Range("AV5:AV319"), Type:=xlFillDefault
Range("AW5").Select
ActiveCell.Formula = "=E5"
Selection.AutoFill Destination:=Range("AW5:AW319"), Type:=xlFillDefault
End Sub
Doch es tut sich nichts, wieso?
Gruss volker
Betrifft: AW: Makro ausführen beim speichern
von: Andi_H
Geschrieben am: 14.10.2003 11:15:04
also bei mir funktioniert dein Code, wird ausgeführt bevor man speichert.
Betrifft: AW: Makro ausführen beim speichern
von: junny
Geschrieben am: 14.10.2003 11:53:45
Hai Andi,
also so: und wenn ich dann auf das speichern Symbol (oder ähnl.) gehe sollte das makro starten, oder?
Bei mir läuft das nicht!
In dem Workbook ist noch ein auto_open sowie weitere makros die aber nur über Schaltflacje gehen.
Hä?? gruss volker
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Serie
Range("U6").Select
ActiveCell.Formula = "=IF((E6)>0,U5,"""")"
Selection.AutoFill Destination:=Range("U6:U319"), Type:=xlFillCopy
'Materialcode
Range("W5").Select
ActiveCell.Formula = "=CONCATENATE(I5,H5)"
Selection.AutoFill Destination:=Range("W5:W319"), Type:=xlFillDefault
'Kantengrafik
Range("AV5").Select
ActiveCell.Formula = "=O5"
Selection.AutoFill Destination:=Range("AV5:AV319"), Type:=xlFillDefault
Range("AW5").Select
ActiveCell.Formula = "=E5"
Selection.AutoFill Destination:=Range("AW5:AW319"), Type:=xlFillDefault
End Sub
Betrifft: AW: Makro ausführen beim speichern
von: junny
Geschrieben am: 14.10.2003 12:17:31
Hai Andi,
hab noch folgendes in einer neuen Mappe getestet,
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
' automatisches ausfüllen Materialcode Kantengrafik, Gesamtstückzahl
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub
so sollte beim speichern ein Ausdruck rauskommen, oder?
Geht leider nicht!!
Gruss volker
Betrifft: AW: Makro ausführen beim speichern
von: Andi_H
Geschrieben am: 14.10.2003 12:24:17
des ist ja seltsam, du hast den Code aber schon in DieseArbeitsmappe stehen.
Verstehe nicht warum dies bei dir nicht geht. Hast du schon mal einen Haltepunkt im Code gesetzt und geguckt ob er beim speichern das Makro überhaupt anspricht.
Kann mir das leider auch nicht erklären.
Betrifft: AW: Makro ausführen beim speichern
von: junny
Geschrieben am: 14.10.2003 12:34:28
Andi, genau das wars!!
Ich hatte den Code als Modul unten angehängt und nicht in der Arbeitsmappe!!
(leider kapier ich das auch noch nicht wirklich worin da der Unterschied liegt)
Auf jeden Fall geht es jetzt, Danke!!
Gruss volker
Betrifft: Bitteschön
von: Andi_H
Geschrieben am: 14.10.2003 12:46:05
Der Code muß immer da rein wo das ereignis stattfindet, speichern betrifft immer die ganze Mappe, also DieseArbeitsmappe, Ereignisse im Sheet immer in die Tabelle rein in der das Ereignis stattfindet (z.b. Zelländerung, Activieren des sheets)
Code in modulen müssen zu fast 100 % manuell gestartet werden (oder mit Call oder Run in einem Code) ( einzig mir bekannte Ausnahme: Sub Auto_open(), wird beim öffnen der Datei gestartet (wie Workbook_open), sollte aber nicht verwendet werden. Kann bei Makros älteren XLS-Versionen auftreten.)
Freut mich das es kappt!
Gruß
Andi
Betrifft: Danke, soll Dir im Kindersegen reinkommen
von: junny
Geschrieben am: 14.10.2003 14:31:38
o.T.
Excel-Beispiele zum Thema " Makro ausführen beim speichern"