Thema Datum  Von Nutzer Rating
Antwort
01.08.2024 00:10:00 Frieder80
Solved
01.08.2024 01:19:36 ralf_b
Solved
Rot Druckbereich nach Datum festlegen
01.08.2024 16:27:27 Frieder80
NotSolved

Ansicht des Beitrags:
Von:
Frieder80
Datum:
01.08.2024 16:27:27
Views:
82
Rating: Antwort:
  Ja
Thema:
Druckbereich nach Datum festlegen

Hallo ralf_b,

danke für die Antwort. Damit funktioniert es. Ich verstehe als Laie zwar nicht alles was das Makro macht, aber ich konnte es an meine Tabelle anpassen. Habe was gelernt. Sehr gut, freut mich sehr.

Es sieht jetzt so aus:

Sub Druckbereich_Monat()
     ActiveSheet.PageSetup.PrintTitleRows = "$9:$9"                                  ' damit lege ich die Titelzeile fest, damit sie immer mit gedruckt wird
     ActiveSheet.PageSetup.PrintArea = monatsbereich(Cells(7, 18))         ' in der Zelle 7,18 steht mit Hilfe von Optionsfeldern der zu druckende Monat
     Application.CommandBars.ExecuteMso "PrintPreviewAndPrint"           ' mit dem Befehl wird das Druckmenü aufgerufen, dass jeder kennt
End Sub                                                                                                       ' der Befehl den Du vorgeschlagen hast, für zu einem anderen Druckmenü
 
Function monatsbereich(monat&) As String
'die function gibt im Fehlerfall einen leeren Text zurück,
' wodurch der Druckbereich quasi entfernt wird.
 
    Dim ZeileMonatAnfang, ZeileMonatEnde, datum As Date, rng As Range           ' die Variablen hab ich etwas umbenannt für mich verständlicher
 
    datum = DateSerial(Cells(5, 5), monat, 1)                                                            ' in der Zelle 5,5, steht das Jahr
    
    With ActiveSheet                                                                                                   ' Ich benutze ActiveSheet, auf jedem Blatt ist ein eigener Druckbutton 
      Set rng = .Columns(2)                                                                                         ' die Datumsreihe steht doch in Spalte B
    End With
    ZeileMonatAnfang = Application.Match(CDbl(datum), rng, 0)
    If IsNumeric(ZeileMonatAnfang) Then
        ZeileMonatEnde = Application.Match(WorksheetFunction.EoMonth(datum, 0), rng, 0)
        If IsNumeric(ZeileMonatEnde) Then
            monatsbereich = "A" & ZeileMonatAnfang & ":O" & ZeileMonatEnde            ' der Druckbereich geht in meiner Tabelle bis Spalte O
        Else
            monatsbereich = ""
        End If
    Else
        monatsbereich = ""
    End If
 
End Function 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
01.08.2024 00:10:00 Frieder80
Solved
01.08.2024 01:19:36 ralf_b
Solved
Rot Druckbereich nach Datum festlegen
01.08.2024 16:27:27 Frieder80
NotSolved