Clever-Excel-Forum

Normale Version: aktuelles Datum suchen und Bereich drucken
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,

ich würde gerne auf Knopfdruck den aktuellen Dienstplan (heutiges Datum) drucken.
Die Dienstpläne sind aufgrund der Größe in drei Exceldateien (1-10;11-20;21-31) getrennt. 
Kann ich mittels VBA alle drei (ggf. auch mehr) Dateien nach dem Datum durchsuchen lassen und dann die Seite drucken, auf der sich das Datum befindet? 

Alternativ müsste ich für das Ganze Jahr eine Tabelle erstellen, aus der die Zieldatei und der entsprechende Druckbereich hervorgeht,... was nach mehr Arbeit schreit.

Vielen Dank im Voraus... 
Alternativvorschläge gerne gesehen...
Hallo,

wie groß sind denn die einzelnen Dienstpläne?
Hallo Dieter,

jeweils eine Seite Frühdienst und eine Seite Spätdienst.
Hallo,

über wie viele Zeilen sprechen wir denn? Meine Frage geht in die Richtung: gleichartige Daten gehören auf ein Tabellenblatt.
Hallöchen,

3 Dateien für die jeweiligen Dekaden find ich seltsam. Du hast also in einer Datei den 1.-10 vom Januar, Februar, März usw. und in der zweiten dann den jeweils 11.-20. usw? Für jeden Tag dann je zwei Blätter, Früh- und Spätschicht? Wie viele Mitarbeiter hast Du denn in der Früh- und Spätschicht? Sind da auf dem Schichtblatt alle Mitarbeiter der jeweiligen Schicht drauf oder hat jeder Mitarbeiter ein Blatt?
Hallo Klaus-Dieter,

die Datei 1-10 hat 510 Zeilen und geht bis Spalte P... 
die größte Datei 21-31 (weil max. 11 Tage) geht runter bis Zeile 561. 
max. 780kb ( mal 3/Monat)



@schauan
"Leider" ist fast jede Zelle durch Verknüpfungen (Sverweis, WAHL, etc.) aus anderen Dateien gefüllt, so dass ich den Monat in drei Teile teilen musste, da der Rechner sich zu oft aufgehangen hat.
Habe auf das ganze Jahr gesehen 36 Dateien... nur für die Druckansicht.
Hallöchen,

Drucken in einer Datei auf den Standarddrucker könnte man so realisieren. Probiers mal aus. Dann kämen noch die unterschiedlichen Dateien dazu.

Code:
Sub Makro1()
'Variablendeklaration
Dim Blaetter As Worksheet
'Schleife ueber alle Blaetter
For Each Blaetter In Sheets()
  'Datum auf Blatt suchen, wenn gefunden dann
  If Not Blaetter.Cells.Find(What:=Date, After:=Range("A1"), LookIn:=xlValues, _
           LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
             MatchCase:=False, SearchFormat:=False) Is Nothing Then
      'Aktivieren und Drucken
      Blaetter.Activate
      ActiveWindow.ActiveSheet.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
  'Ende Datum auf Blatt suchen, wenn gefunden dann
   End If
'Ende Schleife ueber alle Blaetter
Next
End Sub