| |
 | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: Vor Schließen Sub ausführen und speichern (617 / mal gelesen)
|
Tammy89 Mitglied

 Beiträge: 24 Registriert: 28.07.2016 Microsoft Office 2010 Windows 7
|
erstellt am: 07. Feb. 2017 10:23 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, versuche mich schon seit ein paar Tagen an folgender Logik: Wenn der Mitarbeiter ein Excel schließt soll per Makro ein Sub ausgeführt werden, anschließend soll das Excel automatisch gespeichrt werden und die Abfrage "Speichern?" soll unterdrückt werden. Ich habe es mit folgenden Varianten versucht, doch leider wird weder das Sub ausgeführt, noch gespeichert. Die "Speichern?"-Abfrage erscheint nicht, das funktioniert. Private Sub Auto_Close() ActiveSheet.Unprotect Password:="PW" Clean_Button 'Sub ausführen ActiveSheet.Protect Password:="PW" ActiveWorkbook.Save Application.DisplayAlerts = False End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) ActiveSheet.Unprotect Password:="PW" Clean_Button 'Sub ausführen ActiveSheet.Protect Password:="PW" ActiveWorkbook.Save Application.DisplayAlerts = False End Sub
Vielen Dank für eure Hilfe Gruß Tammy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general

 Beiträge: 3449 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 07. Feb. 2017 11:13 <-- editieren / zitieren --> Unities abgeben:          Nur für Tammy89
Servus, bei mir funktioniert es. Hast du die Makros in einem Modul? Dann verschiebe sie in DieseArbeitsmappe. ------------------ <----- Bitte Systeminfo eintragen, warum siehst du hier. Schöne Grüsse aus der Steiermark Bernd P. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tammy89 Mitglied

 Beiträge: 24 Registriert: 28.07.2016 Microsoft Office 2010 Windows 7
|
erstellt am: 07. Feb. 2017 11:39 <-- editieren / zitieren --> Unities abgeben:         
Wenn ich den Code in "DieseArbeitsmappe" verschiebe bekomme ich die Meldung "Fehler beim Kompilieren: Sub oder Fuction nicht definiert" Wenn ich diese Zeile auskommentiere, funktioniert zumindest der Rest Das Sub Clean_Button habe ich in "Tabelle 1 (Bestandsführung)" definiert. Muss ich das vielleicht anders ansprechen? Danke und Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general

 Beiträge: 3449 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 07. Feb. 2017 12:14 <-- editieren / zitieren --> Unities abgeben:          Nur für Tammy89
hm, hats einen speziellen Grunde warum es in der Tabelle ist und nicht in einem Modul? sub Aufruf bei Makros die in Tabellen gespeichert sind Tabellename.Clean_Button ------------------ <----- Bitte Systeminfo eintragen, warum siehst du hier. Schöne Grüsse aus der Steiermark Bernd P. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tammy89 Mitglied

 Beiträge: 24 Registriert: 28.07.2016 Microsoft Office 2010 Windows 7
|
erstellt am: 07. Feb. 2017 12:19 <-- editieren / zitieren --> Unities abgeben:         
Vielen Dank, hat funktioniert Mhh, ich bin noch nicht so firm im VBA, ein Teil habe ich in einem Modul, den Rest in der Tabelle. Wie man es aber "richtig" macht, weiß ich noch nicht so genau. Bzw. wann man wo etwas programmieren sollte Gibt es dazu eine "Grundregel"? [Diese Nachricht wurde von Tammy89 am 08. Feb. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |