Monatsende aus Zelle in Kopfzeile

Moderator: ModerationP

Monatsende aus Zelle in Kopfzeile

Beitragvon Ulli_23 » 21. Jan 2019, 12:48

Guten Tag liebes Forum,
in der Datei wird über eine Eingabebox in A1 der Monat und das Jahr eingegeben.
In A1 steht dann z.B. "Jun 2019" (in der gesamten Datei wird in mit Hilfe des Eingabebox u.a. in der Kopfzeile und in verschiedenen Zellen auf verschiedenen Tabellenblättern Juni 2019 eingetragen):

Code: Alles auswählen
strMonat_Jahr = InputBox("Monat und Jahr eingeben", "xxx", "")
    If Not strMonat_Jahr = vbNullString Then
With ThisWorkbook.Worksheets("Tabellenblatt 1").Range("B1")
    .Value = Replace(.Value, "Monat_Jahr", strMonat_Jahr)
End With

'nun folgen mehrere andere Zellen, dann

 for Each wksSheet In ThisWorkbook.Worksheets
            With wksSheet.PageSetup
                .LeftHeader = Replace(.LeftHeader, "Monat_Jahr", strMonat_Jahr)
                .CenterHeader = Replace(.CenterHeader, "Monat_Jahr", strMonat_Jahr)
                .RightHeader = Replace(.RightHeader, "Monat_Jahr", strMonat_Jahr)
            End With
        Next wksSheet
    End If



Das aber nur zur Erläuterung, warum in A1 "Jun 2019" steht.

Wie schaffe ich es nun, dass aus diesem Datum in die Kopfzeile rechts das Datum als "Stand: 30.06.2019" eingebaut wird. Im Notfall mit einer weiteren Eingabebox, aber das muss doch direkt gehen, oder?
Weiterhin soll in eine andere Zelle (B1) nur die "06" für den Juni übernommen werden. Wie kann ich das hinbekommen?

Vielen Dank für Eure Hilfe,
Ulli
Ulli_23
 

Re: Monatsende aus Zelle in Kopfzeile

Beitragvon steve1da » 21. Jan 2019, 12:51

Hola,

ich hab die Excel Frage dann mal ins Excel Forum geschoben.

Gruß,
steve1da
Benutzeravatar
steve1da
Moderator
 
Beiträge: 28918
Registriert: 24. Sep 2003, 10:54

Re: Monatsende aus Zelle in Kopfzeile

Beitragvon MisterBurns » 21. Jan 2019, 13:09

Wieso gibst du in A1 nicht tatsächlich ein Datum ein, mit dem Excel rechnen kann? Wenn du dort 01.06.19 eingibst und die Formatierung auf MMM JJJJ stellst, hast du die gewünschte Anzeige UND ein sinnvolles - weil echtes - Datum.
Schöne Grüße
Berni
MisterBurns
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1376
Registriert: 28. Mär 2018, 13:13

Re: Monatsende aus Zelle in Kopfzeile

Beitragvon Flotter Feger » 21. Jan 2019, 13:45

Hallo,

und due könntest das Monatsende kriegen über

Worksheetfunction.EoMonth(A1,0)
VG Sabina

bei mir läuft Win 7 32-Bit - Office 2010 Pro Plus 32-Bit und Office 2016 Pro Plus 32-Bit
Wer auch weiter Hilfe erwartet, sollte sich nicht zu schade sein, ein kurzes Feedback zu geben.
Benutzeravatar
Flotter Feger
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 2194
Registriert: 24. Okt 2016, 16:40

Re: Monatsende aus Zelle in Kopfzeile

Beitragvon Ulli_23 » 21. Jan 2019, 13:48

Meine Hoffnung war, dass ich mit einer Eingabebox, alle drei Punkte erledigen kann.
1. in der Kopfzeile Juni 2019 in der Überschrift einfügen
2. in Zelle B1 den Monat als Zahl eingeben kann (06)
3. in die Kopfzeile den letzten Tag des Monats als "Stand" angeben kann.

Hilft es mir für 1. und 3., wenn ich in A1 das tatsächliche Datum habe (in meiner Datei ist es nicht A1, sondern eine X1 auf Tabellenblatt xyz - also nicht gut "zu Fuß" zu erreichen)?

Danke für die schnelle Antwort und Entschuldigung fürs falsche Forum :oops: ,Ulli
Ulli_23
 

Re: Monatsende aus Zelle in Kopfzeile

Beitragvon Gast » 21. Jan 2019, 13:52

Hallo,

und due könntest das Monatsende kriegen über

Worksheetfunction.EoMonth(A1,0


Wie muss ich das einfügen, damit das in der Kopfzeile landet?
Stand: ....

Danke!!!
Gast
 

Re: Monatsende aus Zelle in Kopfzeile

Beitragvon Ulli_23 » 21. Jan 2019, 14:10

Noch eine kleine Ergänzung:
zu 2. die Monatszahl soll tatsächlich auch als 06 in der Zelle stehen (nicht nur über Format angezeigt werden), da ich damit als Text weiterarbeiten will.
Ulli_23
 

Re: Monatsende aus Zelle in Kopfzeile

Beitragvon MisterBurns » 21. Jan 2019, 14:20

Code: Alles auswählen
Sub test()
Dim strDatum As String

strDatum = InputBox("Bitte Datum im Format TT.MM.JJ eingeben", "xxx", "")
If Not strDatum = vbNullString Then
    With Sheets("Tabellenblatt 1")
        .Range("A1") = Format(CDate(strDatum), "MMM YY")
        .Range("B1") = Format(CDate(strDatum), "MM")
    End With
End If

'nun folgen mehrere andere Zellen, dann

For Each wksSheet In ThisWorkbook.Worksheets
    With wksSheet.PageSetup
        .RightHeader = WorksheetFunction.EoMonth(Range("A1", 1))
    End With
    Next wksSheet
End If
End Sub
Schöne Grüße
Berni
MisterBurns
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1376
Registriert: 28. Mär 2018, 13:13

Re: Monatsende aus Zelle in Kopfzeile

Beitragvon Ulli_23 » 21. Jan 2019, 21:40

Hallo Bernie, vielen Dank,
leider bin ich nicht so VBA-fit, dass ich Deinen Tipp umsetzen kann.
Wenn ich Dein Makro teste, bleibt es immer hängen ("Fehler beim Kompilieren: Argument ist nicht optional). Markiert wird ".EoMonth".
Was muss ich tun, damit es läuft?
Vielen Dank!
Grüße Ulli
Ulli_23
 

Re: Monatsende aus Zelle in Kopfzeile

Beitragvon Ulli_23 » 21. Jan 2019, 21:56

Alternativ hatte ich mir jetzt folgenden umständlichen Weg überlegt:
In A wird durch den Eintrag "Juni 2019" 01.06.19 eingetragen
Über =MONAT(A1) in B1 erhalte ich die 6
ÜBer =VERKETTEN("0";B1) in C1 erhalte ich die 06
Über =RECHTS(C1;2) in D1 erhalte ich die die zweistellige Zahl auch bei zweistelligen Monaten.
Dann kann ich mit der zweistelligen Monatszahl in D1 weitermachen (soll später automatisch in den Dateinamen eingefügt werden).

Und das mit der Kopfzeile ginge so:
In E1 =MONATSENDE(A1;0)

Sub Kopfzeile()
With ActiveSheet.PageSetup
.RightHeader = "Stand: " & Range("E1")
End With
End Sub

Sehr unelegant, ich weiß :roll:
Aber besser kann ich es nicht.
Vielleicht fällt jemandem ja eine hübschere Lösung ein!
Einen schönen Abend,
Ulli
Ulli_23
 

Re: Monatsende aus Zelle in Kopfzeile

Beitragvon MisterBurns » 22. Jan 2019, 08:15

Entschuldige, da hatte ich eine Klammer falsch gesetzt. Ersetze die Zeile
Code: Alles auswählen
.RightHeader = WorksheetFunction.EoMonth(Range("A1", 1))

durch
Code: Alles auswählen
.RightHeader = WorksheetFunction.EoMonth(Range("A1"), 1)

dann sollte mein Code hinhauen.

Und nochmal, verabschiede dich von der Idee, dass du "Juni 2019" eingibst. Das ist komplett sinnbefreit, wenn man stattdessen ein richtiges Datum angeben kann, mit dem Excel rechnen kann. Dann brauchst du auch nicht umständlich mit VERKETTEN, RECHTS usw. arbeiten.
Schöne Grüße
Berni
MisterBurns
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1376
Registriert: 28. Mär 2018, 13:13

Re: Monatsende aus Zelle in Kopfzeile

Beitragvon Gast » 22. Jan 2019, 08:20

Super danke!
Probiere ich gleich aus!
Allerdings brauche ich leider den "Juni 2019" als Text für meine Überschriften in Kopfzeile und Tabellenüberschriften...
Nochmal herzlichen Dank für Eure Mühe!
Gast
 

Re: Monatsende aus Zelle in Kopfzeile

Beitragvon MisterBurns » 22. Jan 2019, 08:34

Allerdings brauche ich leider den "Juni 2019" als Text für meine Überschriften in Kopfzeile und Tabellenüberschriften...

Sag mal, liest du eigentlich den Text, den ich schreibe? In meinem ersten Beitrag hatte ich geschrieben
Wenn du dort 01.06.19 eingibst und die Formatierung auf MMM JJJJ stellst, hast du die gewünschte Anzeige UND ein sinnvolles - weil echtes - Datum.

Und nichts anderes macht mein Code. Also probier das mal aus und schau dir das Ergebnis an.

Es ist nicht immer sinnvoll, krampfhaft an einem Lösungsweg festzuhalten, nur weil einem nichts anderes einfällt.
Schöne Grüße
Berni
MisterBurns
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1376
Registriert: 28. Mär 2018, 13:13

Re: Monatsende aus Zelle in Kopfzeile

Beitragvon Ulli_23 » 22. Jan 2019, 09:14

Da hast Du Recht!
Aber leider bin ich noch ein VBA-Dummie, so dass ich Deine Hilfestellung in diesem Fall leider nicht zum Laufen bekomme.
Und in der Kopfzeile muss zum einen "Erledigte Posten im Juni 2019." und "Stand: 30.06.2019" stehen...
:cry:
Laß Dich nicht mit einem Anfänger ein, der nervt immer weiter....
Ein mittlerweile etwas verzweifelter Ulli...
Ulli_23
 

Re: Monatsende aus Zelle in Kopfzeile

Beitragvon MisterBurns » 22. Jan 2019, 09:22

Am sinnvollsten wäre, wenn du eine Beispielmappe hochlädst. Denn du hast ja nur ein Codefragment gepostet, da ist es halt immer schwierig zu helfen.

Erstelle eine Beispieldatei inkl. meinem Code, sodass erkennbar wird, wo es hakt. Wir finden schon eine Lösung :wink:
Schöne Grüße
Berni
MisterBurns
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1376
Registriert: 28. Mär 2018, 13:13

Nächste

Zurück zu Excel Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], HKindler, MemoMS, Thorsten. und 3 Gäste