Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1816to1820
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Dateien öffnen und best. Blatt drucken
05.03.2021 14:17:14
Davidina11
Hallo,
folgende Ausgangssituation:
Ich habe einen Ordner "Wartungspläne" mit diversen Unterordnern, diese enthalten sämtliche Wartungspläne (ca. 150 Stück) verschiedener Geräte im Excel-Format. Jede dieser Dateien ist gleich aufgebaut und hat verschiedene Tabellenblätter beschriftet mit den einzelnen Monaten ("Januar", "Februar", ...). Auf diesen Tabellenblättern sind die verschiedenen Wartungsaufgaben aufgelistet.
Mein Ziel ist es alle Wartungspläne automatisiert per VBA ausdrucken zu können. Dafür möchte ich in Excel nur einen Monat ("April") auswählen (z.B. über einen Button oder eine ListBox) und danach werden alle Tabellenblätter mit diesem Namen aus den verschiedenen Dateien innerhalb der Unterverzeichnisse ausgedruckt. Die entsprechenden Exceldateien sollten automatisch geöffnet, gedruckt und wieder geschlossen werden
Bisher wird das per Hand gemacht und das dauert ziemlich laaaaaaaaange.
Ich habe mir hier heute verschiedene Codes zusammengesucht und ausprobiert. Aber ich bin nur stückchenweise voran gekommen.
Meine Fragen:
1. Wie kann ich auch die Unterordner durchlaufen?
2. Wie kann ich das Makro per Button oder ListBox aufrufen und dabei den Monat (z.B. April)als Paramenter übergeben?
Folgenden Code habe ich bisher.
Schöne Grüße,
Davidina11

Public Sub WartungsplanDrucken(strMonat As String)
Dim strFileName As String
Dim strPath As String
On Error GoTo Fin
' beispielhaft mit 1 Unterordner
strPath = ThisWorkbook.Path & "\Unterordner1\"
If Right(strPath, 1)  "\" Then strPath = strPath & "\"
With Application
.ScreenUpdating = False
.EnableEvents = False
.DisplayAlerts = False
End With
strFileName = Dir$(strPath & "*.xls*")
Do While strFileName  ""
If Not strFileName = ThisWorkbook.Name Then
Workbooks.Open strPath & strFileName
With ActiveWorkbook
.Worksheets(strMonat).PrintOut
.Close False
End With
End If
strFileName = Dir$()
Loop
Fin:
With Application
.ScreenUpdating = True
.EnableEvents = True
.DisplayAlerts = True
End With
If Err.Number  0 Then MsgBox "Fehler: " & _
Err.Number & " " & Err.Description
End Sub


1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateien öffnen und best. Blatt drucken
06.03.2021 09:46:52
Werner
Hallo,
offensichtlich geht es ja nur um alle Ordner in einer Ordnerebene.
Schau dir mal die Beispielmappe an. Zum Testen habe ich allerdings die Druckvorschau verwendet. Du mußt dann also am Schluß das PrintPreview wieder in PrintOut ändern.
https://www.herber.de/bbs/user/144508.xlsm
Gruß Werner
Anzeige

111 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige