Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Datum ändern beim Druck?

301 views
Skip to first unread message

Horst Kalevar

unread,
Jul 29, 2001, 2:03:42 PM7/29/01
to
Hallo,

ich wollte für eine Art Tageszettel automatisch beim Druck das Datum
ändern. Der Zettel soll eine leere Tabelle für Einträge mit Hand
enthalten. Das Tagesdatum im Kopf soll fertig aufgedruckt werden.

Als Sahnebonbon sollen nur Werktage gedruckt werden (Mo-Sa).

Utopie oder machbar?

Gruß
Horst

Thomas Anon

unread,
Jul 29, 2001, 2:56:42 PM7/29/01
to

"Horst Kalevar" <Kal...@t-online.de> schrieb im Newsbeitrag
news:9k1j5d$t5s$05$1...@news.t-online.com...

Hallo Horst
dafür brauchst du kein makro sondern nur eine excel funktion.
Da du das das datum "automatisch" ändern willst, muß es ja von irgendetwas
abhängig sein - vermutlich vom aktuellen Tagesdatum.
also die einfachste version - in eine Zelle folg. Funktion eintragen:
=heute()
und mit Datumsformat formatieren.
falls du das Vortagesdatum braust:
=heute()-1.
Für nur Werktage solltest du dir mal die funktion "Wochentag" anschauen und
in einer "Wenn" funktion und der "Heute" Funktion kombinieren.
Gruß
Thomas


Horst Kalevar

unread,
Jul 30, 2001, 2:17:30 AM7/30/01
to

Thomas Anon <x...@xxxmail.de> schrieb in im Newsbeitrag:
9k1m9b$obk$04$1...@news.t-online.com...

>
> "Horst Kalevar" <Kal...@t-online.de> schrieb im Newsbeitrag
> news:9k1j5d$t5s$05$1...@news.t-online.com...
> > Hallo,
> >
> > ich wollte für eine Art Tageszettel automatisch beim Druck das Datum
> > ändern. Der Zettel soll eine leere Tabelle für Einträge mit Hand
> > enthalten. Das Tagesdatum im Kopf soll fertig aufgedruckt werden.

> Hallo Horst


> dafür brauchst du kein makro sondern nur eine excel funktion.
> Da du das das datum "automatisch" ändern willst, muß es ja von
irgendetwas
> abhängig sein - vermutlich vom aktuellen Tagesdatum.

Erstmal Danke,

aber die Zettel sollen Tagesberichte auf Baustellen werden, die ich `im
Block`, also Monatsweise an die Gesellen abgebe. Die füllen dann auf der
Baustelle die Zettel aus. Ich will also keine 30 Arbeitsblätter in einer
Excelmappe, sondern eine Tabelle/Formular, wo beim Drucken für 1 Monat
das Tagesdatum geändert wird.

Es müßte also ein: (Drucken - Datum ändern - Drucken) Makro sein. Da ich
von Makros keine Ahnung habe, frage ich, ob sowas möglich ist?

Gruß

Horst

Thomas Anon

unread,
Aug 1, 2001, 5:35:41 AM8/1/01
to

"Horst Kalevar" <Kal...@t-online.de> schrieb im Newsbeitrag
news:9k2u2c$d5o$00$1...@news.t-online.com...
Hallo Horst
Versuchsmal mit diesem Beispielsmakro eines MacroLaien
(Verbesserungsvorschläge willkommen)

' MonatDruck Makro
' Einen Ausdruck für jeden Werktag des eingegebenen Montats
' Das Jahr muß als Zahl in A1 eingetragen sein
' Die Ausgabe des Tagesdatums erfolgt in A2
'
' Thomas Anon
' 1.8.2001

Option Explicit

Sub MonatDruck()

Dim stgMonat As String
Dim bytMonat As Byte
Dim intJahr As Integer
Dim dteDat As Date

stgMonat = InputBox("Bitte Monat als Zahl eingeben", , "00")

If Not IsNumeric(stgMonat) _
Then
GoTo Fehleingabe
End If
'
bytMonat = CByte(stgMonat)
If bytMonat < 1 Or bytMonat > 12 _
Then
GoTo Fehleingabe
End If

intJahr = ActiveSheet.Range("A1")
If Not IsNumeric(intJahr) Or intJahr < 1950 Or intJahr > 2099 _
Then
MsgBox "falsches Jahr in Zelle A1"
Exit Sub
End If

Range("A2").Select
Selection.NumberFormat = "DD.MMM.YYYY"

Application.ScreenUpdating = False

dteDat = DateSerial(intJahr, bytMonat, 1)

Do Until Month(dteDat) <> bytMonat
If Weekday(dteDat, vbMonday) < 6 _
Then
ActiveCell.FormulaR1C1 = dteDat
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Else
End If
dteDat = dteDat + 1
Loop

GoTo Ende
Fehleingabe:
MsgBox "Falsche Eingabe; Bitte Zahl zwischen 1 und 12 eingeben"
Ende:
Application.ScreenUpdating = True
End Sub

Gruß
Thomas


0 new messages