Office: Autostart Makro vor Druck und Speichern

Helfe beim Thema Autostart Makro vor Druck und Speichern in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Schatzi und andere Excel Götter! Hab wieder mal eine Frage: Ich würde gerne dieses Makro automatisch vor dem Drucken und vor dem Speichern... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von trottlbua, 15. Februar 2008.

  1. trottlbua Erfahrener User

    Autostart Makro vor Druck und Speichern


    Hallo Schatzi und andere Excel Götter!

    Hab wieder mal eine Frage:

    Ich würde gerne dieses Makro automatisch vor dem Drucken und vor dem Speichern abrennen lassen:

    Code:
    Sub Alle_Kopfzeilen()
         y = "Design by xy"
          For x = 1 To ActiveWorkbook.Sheets.Count
             ActiveWorkbook.Sheets(x).PageSetup.LeftHeader = y
             
          Next
       End Sub
    Es soll deshalb automatisch rennen, damit dieser Design Hinweis immer drinnen ist, auch wenn jemand anderer die Kopfzeile ändert.

    Hab schon im WWW gesucht und herausgefunden dass man ein Klassenmodul benutzen muss, hab das aber mit dem Code (der für ein anderes Beispiel war) nicht kapiert)

    Danke schon mal im Voraus!

    Lg
    Herbert
     
    trottlbua, 15. Februar 2008
    #1
  2. schatzi Super-Moderator
    Hallo!

    Wenn du im VBA-Editor auf "DieseArbeitsmappe" doppelklickst, findest du über dem Codefenster zwei ComboBoxen.
    Wähle in der ersten "Workbook" und in der zweiten einmal "BeforeSave" und einmal "BeforePrint".
    Nun müsstest du zwei Coderümpfe sehen, die so ausschauen:
    Code:
    Private Sub Workbook_BeforePrint(Cancel As Boolean)
    
    End Sub
    
    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    
    End Sub
    
    Füge hier jeweils deinen Code (ohne Sub und End Sub) ein.
     
    schatzi, 15. Februar 2008
    #2
  3. trottlbua Erfahrener User
    Danke Excelgott!

    Werde es morgen gleich ausprobieren!
     
    trottlbua, 15. Februar 2008
    #3
  4. trottlbua Erfahrener User

    Autostart Makro vor Druck und Speichern

    Servus Schatzi!

    Hab den Code so eingefügt (mit den Combo Boxen)

    Code:
    Private Sub Workbook_BeforePrint(Cancel As Boolean)
     y = "Designed by ECO"
          For x = 1 To ActiveWorkbook.Sheets.Count
             ActiveWorkbook.Sheets(x).PageSetup.LeftHeader = y
              
          Next
    End Sub
    
    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
     y = "Designed by ECO"
          For x = 1 To ActiveWorkbook.Sheets.Count
             ActiveWorkbook.Sheets(x).PageSetup.LeftHeader = y
              
          Next
    End Sub
    Das Problem ist - beim Speichern rechnet das Programm ziemlich lange - dort wo sonst "Bereit" steht, zeigt Excel 2003 beim Speichern nach der Reihe 1 bis 5 - und das rennt das Programm dreimal durch.

    Ist das normal, dass die Berechnung so lange braucht - am Rechner selbst sollte es nicht liegen.

    Hast du eine Idee das ganze zu beschleunigen?!?

    Mfg
    Herbert
     
    trottlbua, 18. Februar 2008
    #4
  5. miriki Erfahrener User
    Die Zugriffe auf das Pagesetup-Objekt dauern ekelhaft lange. Da scheint sich auch nichts dran drehen zu lassen.

    Ich lasse oft per Code ein Tabellenblatt erstellen und passe es dann mittels Pagesetup an. Da kann es schon passieren, daß man 10 oder mehr Sekunden vor einem leeren Tabellenblatt sitzt, in der sich nur rechts oben ein leichtes Blinken bemerkbar macht.

    Gruß, Michael
     
  6. trottlbua Erfahrener User
    solange sich die Laufzeit in Grenzen hält, ist es verkraftbar - aber danke für den Hinweis.

    Hab noch ein Problem - habe den Code etwas abgeändert

    Code:
    Private Sub Workbook_BeforePrint(Cancel As Boolean)
    
        For x = 1 To ActiveWorkbook.Sheets.Count
             
             ActiveWorkbook.Sheets(x).PageSetup.CenterHeader = Range("Header").Value
             ActiveWorkbook.Sheets(x).PageSetup.RightHeader = Range("QuartalsberichtNr").Value
                   
        Next
                    
    End Sub
    Funktioniert auch super (besonders gut ist es die Zellen auf die man sich beziehen will mit einem Namen zu definieren, weil ansonsten checkt das VBA nicht wenn man oberhalb Zeilen einfügt oder löscht - oder wisst ihr was besseres?)

    Möchte jetzt aber auch noch eine Formatierung der Kopzeile vornehmen

    Befehl wäre:
    Code:
    
             ActiveWorkbook.Sheets(x).PageSetup.CenterHeader = "&""Verdana,Fett""BEISPIELTEXT"
             
      
    Das Problem ist - wie gebe ich VBA anstatt des "BEISPIELTEXT" die Zelle an aus der der Wert kommen soll?

    Lg
    Herbert
     
    trottlbua, 17. März 2008
    #6
  7. miriki Erfahrener User
    Für "einmalig": Ersetze "BEISPIELTEXT" mit
    Code:
    trim$(workbooks(b).worksheets(s).cells(y,x).value & " ")
    (Das trim$ und das angehängte " " benutze ich manchmal, um Probleme mit NULL-Werten zu verhindern. Kann sein, daß es hier völlig überflüssig ist.)

    Aber ich tippe mal, Du möchtest die Kopf/Fußzeile dynamisch mit ändern lassen, wenn sich der Inhalt der entsprechenden Zelle ändert? Öhm, sorry, weiß jetzt gar nicht, ob das dort überhaupt möglich ist.

    Ein Ansatz könnte aber über das Ereignis OnChange (des worksheets) sein, wo Du dann die PageSetup-Eigenschaft jeweils neu setzen könntest, wenn sich die Zelle ändert.

    Gruß, Michael
     
    miriki, 17. März 2008
    #7
  8. trottlbua Erfahrener User

    Autostart Makro vor Druck und Speichern

    Servus Mikri!

    hab die ganze Prozedur ein bischen abgekürzt:

    Code:
    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
     y = "Designed by xy"
    
    
    For x = 1 To ActiveWorkbook.Sheets.Count
          If ActiveWorkbook.Sheets(x).PageSetup.LeftHeader = y Then
          
          Else
          ActiveWorkbook.Sheets(x).PageSetup.LeftHeader = y
          End If
          
          Next
          
    
    End Sub
    Das if then else - ich schwöre es - halbiert die Zeit locker wenn nichts geändert wurde!
     
    trottlbua, 3. Juni 2008
    #8
Thema:

Autostart Makro vor Druck und Speichern

Die Seite wird geladen...
  1. Autostart Makro vor Druck und Speichern - Similar Threads - Autostart Makro Druck

  2. Name der Datei durch Excel geändert

    in Microsoft Excel Hilfe
    Name der Datei durch Excel geändert: Hallo und guten Abend, Die Datei wird mittels Button (VBA) zwischen gesichert. Das Makro sichert zuvor die Datei und erstellt zus. eine Sicherungsdatei mit der Erweiterung Beispiel-"Sich"....
  3. Ein Makro für mehrere Register

    in Microsoft Excel Hilfe
    Ein Makro für mehrere Register: Moin, ich habe ein Makro wo Daten aus dem Register Master kopiert werden und Register, das mit einem Datum beschriftet ist. Ich möchte in Jedem Register ein Button haben was Daten aus dem Master...
  4. Makro öffnet unerwartete Datei

    in Microsoft Excel Hilfe
    Makro öffnet unerwartete Datei: Hallo Forum, ich brächte euer Schwarmwissen. Arbeite mit Excel eine Auftragsbearbeitung. Dort habe ich mir einen Button mit Makro erstellt und nutze diesen schon lange. Das Makro generiert ein...
  5. autostart von Makro unterdrücken

    in Microsoft Excel Hilfe
    autostart von Makro unterdrücken: Hallo, es gibt da eine Exceldatei, die ein autostartmakro ausführt, wo gefragt wird, ob man beginnen will oder nicht. Bei ja wird ein Makro ausgeführt und eine Auswertung startet, bei nein wird...
  6. Teams startet automatisch ohne Autostart-Eintrag?

    in Microsoft Teams Hilfe
    Teams startet automatisch ohne Autostart-Eintrag?: Liebe Community, leider startet Teams auf meinem Laptop immer nach dem Hochfahren automatisch, obwohl ich es aus der Autostart-Liste, die ich im Taskmanager aufrufen kann, gelöscht habe. Gibt es...
  7. Autostart deaktivieren

    in Microsoft Teams Hilfe
    Autostart deaktivieren: Hallo, ich hab eine Frage bezüglich der Autostartfunktion von Microsoft Teams. Wieso hat es keinerlei Auswirkung ob ich den Autostart im Taskmanager deaktiviere, im Programm selbst, oder beides...
  8. Autostart Makro und VBA Ausblenden der Reiter

    in Microsoft Excel Hilfe
    Autostart Makro und VBA Ausblenden der Reiter: Hallo zusammen, habe da gleich 2 Fragen: 1. ist es möglich, das sich ein Makro beim öffnen einer Datei selbst ausführt, also so ne Art "Autostart - Funktion" ??? 2. gibt es eine...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden