Microsoft Excel

Herbers Excel/VBA-Archiv

Akt. Datum und Uhrzeit am gedruckten Dokument


Betrifft: Akt. Datum und Uhrzeit am gedruckten Dokument
von: Helmut
Geschrieben am: 24.09.2019 10:26:21

Guten Morgen VBA‘ler

Ich habe eine Excel Datei wo beim drucken des Dokument's in der Kopfzeile das aktuelle Datum und Uhrzeit hinzugefügt werden soll.
Mit folgenden Code funktioniert es aber nur teilweise:

  • Private Sub Druck()
                                                'Druckt den Bereich Druckbereich im TB Drucken
    Sheets("Drucken").Select                    'Wählt die Tabelle2 aus
    Range("a1:m25").Select                      'Definiert den Druckbereich
    Selection.PrintOut copies:=1, collate:=True 'Druckoptionen
    With ActiveSheet.PageSetup                  'Gestaltet den Kopf- und Fußbereich für den  _
    Ausdruck
      .Orientation = xlLandscape
      .PrintArea = ActiveSheet.UsedRange.Address
      .LeftMargin = Application.InchesToPoints(0.1)
      .RightMargin = Application.InchesToPoints(0.5)
      .TopMargin = Application.InchesToPoints(2)
      .BottomMargin = Application.InchesToPoints(2)
            .LeftHeader = "Bearbeiter: " & Application.UserName
            .CenterHeader = "Mängelliste"
            .RightHeader = "Gedruckt: " & Format(Now, "DD.MMMM.YYYY HH:MM:SS")
            .LeftFooter = "Nur für internen Gebrauch"
            .CenterFooter = ""
            .RightFooter = "Seite &P von &N"
        End With
    Sheets("Drucken").Select                    'Wählt TB Drucken aus
    Range("a2:n25").Select                      'Markiert den Bereich a2:n20 in TB Drucken
    Selection.Clear                             'Löscht den markierten Bereich
    End Sub



  • es wird mir das Datum und die Uhrzeit der letzten Speicherung in der Kopfzeile hinzugefügt.
    Ist es nicht möglich, das aktuellste Datum und Uhrzeit (Jetztzeit-Gegenwart) in die Kopfzeile einzufügen?

    Besten Dank im Voraus, lg Helmut

      

    Betrifft: AW: Akt. Datum und Uhrzeit am gedruckten Dokument
    von: Daniel
    Geschrieben am: 24.09.2019 10:48:53

    Hi
    du müsstest die Kürzel für das automatische Einfügen von Datum und Zeit verwenden, dh &D und &T (analog den automatischen Seitenzahlen &P und &N)

    wenn du so wie hier Datum und Zeit als festen Text angibst, dann müsste das Makro vor jedem Ausdruck neu gestartet werten.
    Das passiert automatisch, wenn du den Code dafür ins Eventmakro "BeforePrint" des Moduls "DieseArbeitsmappe" schreibst.

    Gruß Daniel


      

    Betrifft: AW: Akt. Datum und Uhrzeit am gedruckten Dokument
    von: Helmut
    Geschrieben am: 24.09.2019 11:43:09

    Servus Daniel

    Besten Dank vorerst für deine Hilfe.
    Wie kann ich jedoch jetzt in „diese Arbeitsmappe“ das Modul „Druck“ ansprechen?
    Leider habe ich nicht so viel Erfahrung in VBA

    Lg Helmut


      

    Betrifft: AW: Akt. Datum und Uhrzeit am gedruckten Dokument
    von: Daniel
    Geschrieben am: 24.09.2019 12:02:37

    HI
    1. "DieseArbeitsmappe" im Projektexplorer-Baum (Fenster links oben) doppelt anklicken
    2. in der linken Combobox über dem Codefenster "Workbook" auswählen
    3. in der rechen Combobox erscheinen jetzt alle für "Workbook" möglichen Eventmakros. Hier wählst du "BeforePrint" aus
    4. im Codefenster wird jetzt das BeforePrint-Makro mit Start- und Endzeile eingefügt.
    diese beiden Zeilen lässt du unverändert und trägst dazwischen den Code zum aktualisieren der Kopf- und Fusszeile ein

    dieses Makro wird immer automatisch ausgeführt, wenn du Drucken willst bzw die Druckvorschau aktivierst.

    Gruß Daniel


      

    Betrifft: AW: Akt. Datum und Uhrzeit am gedruckten Dokument
    von: Helmut
    Geschrieben am: 24.09.2019 13:19:13

    Servus Daniel

    Die Reihenfolge ist mir schon klar die du mir hier beschrieben hast.
    Bei meiner Datei ist es nur so, dass der Code den ich ganz am Anfang angeführt habe durch den Befehl „Call Druck“ ausgeführt wird.
    Nun weiß ich nicht, wie bzw. was ich außer den von mir angeführten Code noch im Modul „Arbeitsmappe“ einfügen soll damit der Code ausgeführt wird.

    Besten Dank im Voraus, lg Helmut


      

    Betrifft: AW: Akt. Datum und Uhrzeit am gedruckten Dokument
    von: Daniel
    Geschrieben am: 24.09.2019 13:27:08

    Alles was direkt vor dem Ausdruck nochmal aktualisiert werden muss, bspw die Uhrzeit in der Fusszeile.
    Was sich nicht ändert, kann im ursprünglichen Makro bleiben.

    Gruß Daniek


      

    Betrifft: AW: Akt. Datum und Uhrzeit am gedruckten Dokument
    von: Helmut
    Geschrieben am: 24.09.2019 14:17:26

    mein Versuch in "diese Arbeitsmappe"

  • Private Sub Workbook_BeforePrint(Cancel As Boolean)
    With ActiveSheet.PageSetup
    .RightHeader = "Gedruckt:  & D & t"
    End With
    End Sub


  • ist gleich " Laufzeitfehler...." :(


      

    Betrifft: AW: Akt. Datum und Uhrzeit am gedruckten Dokument
    von: Helmut
    Geschrieben am: 24.09.2019 14:17:27

    mein Versuch in "diese Arbeitsmappe"

  • Private Sub Workbook_BeforePrint(Cancel As Boolean)
    With ActiveSheet.PageSetup
    .RightHeader = "Gedruckt:  & D & t"
    End With
    End Sub


  • ist gleich " Laufzeitfehler...." :(


      

    Betrifft: AW: Akt. Datum und Uhrzeit am gedruckten Dokument
    von: Daniel
    Geschrieben am: 24.09.2019 14:29:21

    hi
    läuft bei mir ohne Fehler durch.
    wenn du die Platzhalter (allerdings OHNE Leerzeichen dazwischen, bitte mal den Recorder benutzen!)
    verwendest, brauchst du diesen Code nicht im BeforePrint-Makro.
    dann reicht es, wenn du das einmalig bzw bei Bedarf so einrichtest und dann wird hier immer das aktuelle Datum und Uhrzeit eingesetzt.

    das BeforePrint-Makro brauchst du nur, wenn du hier nicht die Platzhalter, sondern festen Text verwenden willst (ggf weil dir die Formatierung nicht passt) und dieser immer direkt vor dem Druck aktualisiert werden muss.

    Private Sub Workbook_BeforePrint(Cancel As Boolean)
    With ActiveSheet.PageSetup
    .RightHeader = "Gedruckt:  " & Format(Now, "YYYY-MM-DD hh:mm")
    End With
    End Sub
    Gruß Daniel


      

    Betrifft: AW: Akt. Datum und Uhrzeit am gedruckten Dokument
    von: Helmut
    Geschrieben am: 24.09.2019 14:44:33

    Servus Daniel

    Ich gebe es auf! Das ist mir zu hoch, trotzdem recht herzlichen Dank für deine Mühe;)

    LG Helmut


      

    Betrifft: AW: Akt. Datum und Uhrzeit am gedruckten Dokument
    von: Helmut
    Geschrieben am: 25.09.2019 11:16:19


    Servus Daniel

    Das war gestern einfach ein bisschen viel. Ich möchte hiermit einen 2. Versuch starten. Ich habe genau das gemacht was du gesagt hast, doch ich bekomme immer dieselbe Fehlermeldung. Siehe Anhang

    Lg Helmut






      

    Betrifft: AW: Akt. Datum und Uhrzeit am gedruckten Dokument
    von: Daniel
    Geschrieben am: 25.09.2019 13:07:32

    Hi
    wenn ich genau das mache was ich sage, bekomme ich keine Fehlermeldung, der Code läuft fehlerfrei durch.
    Gruß Daniel


      

    Betrifft: AW: Akt. Datum und Uhrzeit am gedruckten Dokument
    von: Helmut
    Geschrieben am: 26.09.2019 07:04:23

    Guten Morgen Daniel, guten Morgen Forum

    Ich möchte hiermit eventuell das ganze Forum um Hilfe bitten. Unten habe ich jetzt noch einmal den Code gepostet, den ich in einen Modul habe:

    Private Sub Druck()
                                                'Druckt den Bereich Druckbereich im TB Drucken
    Sheets("Drucken").Select                    'Wählt die Tabelle2 aus
    Range("a1:m25").Select                      'Definiert den Druckbereich
    Selection.PrintOut copies:=1, collate:=True 'Druckoptionen
    With ActiveSheet.PageSetup                  'Gestaltet den Kopf- und Fußbereich für den  _
    Ausdruck
      .Orientation = xlLandscape
      .PrintArea = ActiveSheet.UsedRange.Address
      .LeftMargin = Application.InchesToPoints(0.1)
      .RightMargin = Application.InchesToPoints(0.5)
      .TopMargin = Application.InchesToPoints(2)
      .BottomMargin = Application.InchesToPoints(2)
            .LeftHeader = "Bearbeiter: " & Application.UserName
            .CenterHeader = "Mängelliste"
            .RightHeader = "Gedruckt: " & Format(Now, "dd.mm.yyyy, hh:mm")
            .LeftFooter = "Nur für internen Gebrauch"
            .CenterFooter = "Made by " & "Beranek Helmut " & " 2017"
            .RightFooter = "Seite &P von &N"
        End With
    Sheets("Drucken").Select                    'Wählt TB Drucken aus
    Range("a2:n25").Select                      'Markiert den Bereich a2:n20 in TB Drucken
    Selection.Clear                             'Löscht den markierten Bereich
    End Sub
    Hier habe ich den Code, der aktuell in „diese Arbeitsmappe“ eingefügt ist:
    Option Explicit
    Private Sub Workbook_Open()
    
    
    ActiveSheet.Unprotect Password:="1234"
    
    With ThisWorkbook.Worksheets("Mängelliste") 'hebt Filterung des SpeziFi auf
            If .FilterMode Then .ShowAllData
        End With
        
    'Worksheets("Mängelliste").Activate
     '###########################
     Zeitmakro        'mdl_Zeit)#
     '###########################
    'Application.Visible = False      'Blendet "Mängelliste" aus und zeigt nur UF Portier!!!!
        Portier.Show
    'Range("P9:p3008").Select         'Selektiert Spalte "P" und löscht Einträge
    'Selection.ClearContents
    Worksheets("Mängelliste").Activate
    Range("C9").Select               'geht zu letzter beschriebener Zelle in Spalte "C"
    Selection.End(xlDown).Select
    
    
    
             
                                          'Filterung trotz Blattschutz möglich
     ActiveSheet.Protect userinterfaceonly:=True, Password:="1234"
     ActiveSheet.EnableOutlining = True  'für Gliederung
     ActiveSheet.EnableAutoFilter = True 'für Autofilter
    End Sub
        
    
    Nun lieber Daniel möchte ich dich bitten, die paar Codezeilen die du mir zur Verfügung gestellt hast, in „diese Arbeitsmappe“ einzufügen. Ich habe es mit allen möglichen Variationen probiert, es funktioniert nicht!
    Besten Dank im Voraus, lg Helmut


      

    Betrifft: AW: Akt. Datum und Uhrzeit am gedruckten Dokument
    von: Daniel
    Geschrieben am: 26.09.2019 07:43:17

    Lies dir deinen ersten Code nochmal Zeile für Zeile von oben nach unten durch.
    Überlege dir, was jeder einzelne Programmschritt bewirkt
    Achte speziell auf die Reihenfolge der einzelnen Programmschritte, denn ein Programmschritt wird immer erst dann ausgeführt, wenn der davorliegende vollständig ausgeführt wurde.
    Vielleicht fällt dir dann selber auf, warum es nicht funktioniert und was du ändern musst, damit es funktioniert.
    Dir ist ja auch aufgefallen, dass du immer das Datum und die Uhrzeit des letzten Drucks siehst und nicht des aktuellen.
    Dieser Hinweis in Verbindung mit der Reihenfolge der einzelnen Befehle sollte für dich der Schlüssel zur Lösung des Problems sein.

    Gruß Daniel


      

    Betrifft: AW: Akt. Datum und Uhrzeit am gedruckten Dokument
    von: Helmut
    Geschrieben am: 26.09.2019 08:43:30

    Guten Morgen Daniel

    Danke für das Öffnen der Augen! Ich habe genau 2 Zeilen im Code verschoben und siehe da… ;)
    Nochmals recht herzlichen Dank für deine Mithilfe.
    Das Leben kann so einfach sein

    LG Helmut