6.1k Aufrufe
Gefragt in Tabellenkalkulation von kurtl Mitglied (239 Punkte)
Hallo liebe Experten,
bei folgendem Problem brauch ich Eure Hilfe.
Eine Exel Tabelle soll jeden Tag ( es ist so eine Art Tagebuch ) am Ende des Tages
also am besten wäre 23:59:59 Uhr von einem Makro selbstständig ausgedruckt werden ( Drucker und PC sind immer an ) .
Nach dem Ausdruck sollen die Daten in der Tabelle automatisch gelöscht werden,
damit die Tabelle für den nächsten Tag wieder für Eintragungen zur Verfügung steht.
Ich hab zwar ein ganz klein wenig schon mit Makros gearbeitet aber mit Ausdruck zu bestimmter Uhrzeit hab ich keine Ahnung, ich hoffe es kann mir jemand weiterhelfen.

Dank im vorraus
Gruß Kurt

19 Antworten

0 Punkte
Beantwortet von flupo Profi (17.7k Punkte)
Das Zeitproblem könntest du über die "geplanten Aufgaben" von Windows lösen. So brauchst du dich innerhalb der Datei nur noch darum zu kümmern, dass die Datei (abhängig von der Uhrzeit) nach dem Öffnen gedruckt und dann geleert wird.

Gruß Flupo
0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)
Hallo,

schau dir mal das hier zu zeitgesteuerten Makros an.

Gruß

M.O.
0 Punkte
Beantwortet von kurtl Mitglied (239 Punkte)
Danke Flupo für die Antwort, ob sie mir geholfen hat, muß ich erst einmal
ausprobieren.
Ich hab mit geplanten Aufgaben auch noch nichts am Hut gehabt.

Gruß Kurt
0 Punkte
Beantwortet von kurtl Mitglied (239 Punkte)
Hallo M.O. auch Dir Danke!
Ich werd mir das Makro mal anschauen.

Gruß Kurt
0 Punkte
Beantwortet von theblackbird_ Mitglied (605 Punkte)
Moin,

Bei mir saehe das aus, wie in dieser BeispielDatei.

Cu
TheBlackBird ®
0 Punkte
Beantwortet von theblackbird_ Mitglied (605 Punkte)
Moin,

Nachtrag:
Der Ablauf in der BeispielDatei aus #5 bedingt allerdings, dass die Datei zum geplanten (bzw. kurz vor dem geplanten) Zeitpunkt offen ist. So sie eh immer (die ganze Zeit) fuer Eingaben geoffnet ist/bleibt, kein Problem. Wird sie allerdings nach den jeweiligen Eingaben geschlossen, dann koennte eine Kombination mit #1 von Flupo helfen.

Cu
TheBlackBird ®
0 Punkte
Beantwortet von kurtl Mitglied (239 Punkte)
Hallo TheBlackBird,
danke auch für Deine Antwort aber sorry halte mich jetzt bitte nicht für unhöflich aber spätestens als ich Deinem link gefolgt bin und mir dann eine ausführende Datei herunterladen und öffnen sollte von der ich nicht weiß, was dahinter steckt, hab ich zurückgezogen.

Trotzdem Danke für Deine Mühe

Gruß Kurt
0 Punkte
Beantwortet von flupo Profi (17.7k Punkte)
Feigling! ;-)

Hier ist BlackBirds Makro:


Option Explicit

Public datRun As Date

Public Sub MeineProzedur()
With ThisWorkbook.Worksheets("Tabelle1")
.PageSetup.CenterHeader = _
"&""Arial,Fett""&10&U" & "Ausdruck vom " & Now() & "Uhr"
.PrintOut
.PageSetup.CenterHeader = ""
.Range(.Range("A2"), _
.Cells.SpecialCells(xlCellTypeLastCell)).ClearContents
End With
datRun = datRun + 1
Application.OnTime datRun, "MeineProzedur", datRun + TimeValue("0:1:0")
End Sub

Ich hab die Kommentare weggelassen, da die Darstellung sonst zu breit wird.
Der erste CenterHeader-Befehl bewirkt, dass "Ausdruck vom + Datum + Uhrzeit" in den mittleren Bereich der Kopfzeile geschrieben wird.

Ich habe mit der OnTime-Funktion bisher nicht gearbeitet. Mir stellt sich gerade die Frage, ob das Makro noch als AutoÖffnen-Makro eingerichtet werden muss. Fehlt hier nicht noch ein Makro, dass dieses Makro erstmalig ausführt?

Gruß Flupo
0 Punkte
Beantwortet von theblackbird_ Mitglied (605 Punkte)
Moin,

Keine Sorge, ich halte niemanden fuer unhoeflich, der Dateien aus unbekannter Quelle nicht bedenkenlos herunterlaed. Ich weiss ja nicht, wo Du genau gelandet bist, und was Du da herunterladen wolltest/solltest. Aber mein Link zeigt eigtl. auf einen, hier im Forum oefter verwendeten, File-Hoster und dort auf eine Datei Namens "SN_MitternachtsDruck.xls".

Solltest Du woanders gelandet sein, oder eine andere Datei zum Download bekommen haben, dann stimmt irgendetwas nicht.

Solltest Du hingegen bei eben diesem xls-File gelandet sein, dann wird es wohl so sein, dass Dein Excel (welche Version?) Dich davor warnt aktiven Inhalt auszufuehren. Da Makros aber nunmal aktiven Inhalt darstellen, ist das nun auch nicht allzu verwunderlich.

Sei es wie es sei. Die Datei enthaelt folgenden Code im Modul "Diese Arbeitsmappe":
Option Explicit

Private Sub Workbook_Open() 'laeuft beim Mappenstart an
datRun = Date + TimeValue("23:59:59") 'Startzeit auf Heute/23:59:59 setzen
Application.OnTime datRun, "MeineProzedur", datRun + TimeValue("0:1:0") 'Ausdruck planen (mit einer min Wartezeit)
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean) 'springt vor dem Schliessen der Mappe an
Application.OnTime datRun, "MeineProzedur", , False 'geplanten Ausdruck "abwaehlen"
End Sub


und zusaetzlich noch ein Standard-Modul mit folgendem Inhalt:
Option Explicit

Public datRun As Date 'Variable fuer Startzeit

Public Sub MeineProzedur()
With ThisWorkbook.Worksheets("Tabelle1") 'gilt fuer Tabelle1 (!!!ANPASSEN!!!)
.PageSetup.CenterHeader = _
"&""Arial,Fett""&10&U" & "Ausdruck vom " & Now() & "Uhr" 'CenterHeader schreiben
.PrintOut 'Ausdrucken auf StandardDrucker
.PageSetup.CenterHeader = "" 'CenterHeader loeschen
.Range(.Range("A2"), _
.Cells.SpecialCells(xlCellTypeLastCell)).ClearContents 'Inhalte unter/Rechtsvon A2 loeschen
'!!!ANPASSEN!!!
End With
datRun = datRun + 1 'Startzeit auf naechsten Tag setzen
Application.OnTime datRun, "MeineProzedur", datRun + TimeValue("0:1:0") 'NEUEN Ausdruck planen
End Sub


Wie Du siehst, ist das alles in allem nur eine Umsetzung dessen, was im Link von M.O. (#2) beschrieben ist. Ob Du dies nun selbst in eine Excel-Datei schreibst, oder im Download mit deaktiverten Makros erst kontrollierst, oder gleich ganz die Dinger davon laesst, ist und bleibt voellig Dir ueberlassen.

Cu
TheBlackBird ®
0 Punkte
Beantwortet von theblackbird_ Mitglied (605 Punkte)
Moin,

@Flupo
Ja, das von Dir angesprochene fehlt... (Aber nur in Deinem Posting.)
Schau doch einmal ins Modul "Diese Arbeitsmappe", wie auch in #9
beschrieben.

Cu
TheBlackBird ®
...