Monatsende aus Zelle in Kopfzeile

Moderator: ModerationP

Re: Monatsende aus Zelle in Kopfzeile

Beitragvon slowboarder » 22. Jan 2019, 09:36

Hi
wenn du ein VBA-Dummie bist, würde ich dir folgendes Raten:

1. mache die Eingabe für Monat und Jahr in zwei Zellen in Zeile 1
2. erzeuge den Text, den du in der Kopfzeile haben willst, per Formel in Zeile 2
3. richte den Druckbereich ein und lasse ihn ab Zeile 2 beginnen (zeile 1 nicht mitdrucken)
4. richte die Zeile 2 als Wiederholungszeile ein. diese erscheint dann auf jedem Blatt an oberster Stelle.

damit kannst du deine Aufgabe lösen, ohne VBA nutzen zu müssen.

gruß Daniel
slowboarder
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 25947
Registriert: 18. Apr 2009, 13:33

Re: Monatsende aus Zelle in Kopfzeile

Beitragvon Gast » 22. Jan 2019, 09:40

Du bist so gut zu mir :wink:

Wenn Du mir sagen könntest, wie ich den Wert einer Zelle "Tabelle1, A1" zusammen mit dem Wörtchen "Stand" in die Kopfzeile auf jedem Tabellenblatt bekommen würde, wäre das schon großartig.
Das gefällt Dir bestimmt gar nicht, aber ich muss diese verfluchte Datei in der nächsten Stunde zum Laufen bringen, sonst köpfen mich meine Kollegen. :shock:
Die Verfeinerung mit Deinem eleganten Makro, werde ich mir dann zum nächsten Monatsende vornehmen. Da habe ich etwas mehr Luft.
Danke, danke , danke
Gast
 

Re: Monatsende aus Zelle in Kopfzeile

Beitragvon slowboarder » 22. Jan 2019, 10:06

als Code so:

Code: Alles auswählen
Sub test()
Dim Eingabe As String
Dim wks As Worksheet
Dim Datum As Date

Do
    Eingabe = InputBox("Datum eingeben." & vbLf & "Erlaubte Formen:" & vbLf & "01.2019" & vbLf & "Jan 2019" & vbLf & "Januar 2019")
    If Eingabe = "" Then Exit Sub
    If IsDate(Eingabe) Then Exit Do
Loop



'--- Eingabe in Datum wandeln
Datum = CDate(Eingabe)
'--- Datum auf Monatsletzten abändern
Datum = DateSerial(Year(Datum), Month(Datum) + 1, 0)

'--- Monat in Zelle
With ThisWorkbook.Worksheets("Tabellenblatt 1").Range("B1")
    .Value = Month(Datum)
    .NumberFormat = "00"
End With

'--- Text in Kopfzeile
For Each wks In ThisWorkbook.Worksheets
    wks.PageSetup.LeftHeader = "Erledigte Posten im " & Format(Datum, "MMMM YYYY")
    wks.PageSetup.RightHeader = "Stand: " & Format(Datum, "DD.MM.YYYY")
Next

End Sub


Gruß Daniel
slowboarder
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 25947
Registriert: 18. Apr 2009, 13:33

Vorherige

Zurück zu Excel Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 22 Gäste