Hallo Allen,
Ich möchte alle Tabellen eines Verzeichnisses nacheinander öffnen die ersten 4 Blätter drucken, Tabelle schließen, nächste öffnen usw.
Den Pfad zum Verzeichnis hinterlege ich in der Tabelle woraus ich das Makro starte. Die Tabellen im Verzeichnis haben jeden Monat andere Namen deshalb sollten die Namen der Tabellen nicht im Makro fixiert sein.
Hoffe ich konnte mein Problem klar ausdrücken.
Grüße
Wolfgang
Hallo, Wolfgang!
Ich möchte alle Tabellen eines Verzeichnisses nacheinander
öffnen die ersten 4 Blätter drucken, Tabelle schließen,
nächste öffnen usw.
Den Pfad zum Verzeichnis hinterlege ich in der Tabelle woraus
ich das Makro starte. Die Tabellen im Verzeichnis haben jeden
Monat andere Namen deshalb sollten die Namen der Tabellen
nicht im Makro fixiert sein.
Ungefähr so:
Sub Open\_N\_Print()
Const cstrProcName = "Open\_N\_Print" 'ErrorHandler:blush:$N=FindFiles
Dim strVerz As String
Dim strDir As String
Dim lngI As Long
Dim lngBis As Long
Dim wbDatei As Workbook
'--------------------
On Error GoTo ErrorHandler
' in B1 steht mein Verzeichnis
strVerz = Tabelle1.Cells(1, 2)
' in B2 steht, wie viele Sheets von 1 angefangen ich drucken will
lngBis = Tabelle1.Cells(2, 2)
' gibt's Dateien in meinem Verzeichnis?
strDir = Dir(strVerz & "\*.xls")
Do While strDir ""
' Datei öffnen
Set wbDatei = Workbooks.Open(strVerz & "\" & strDir)
' x Tabellen drucken
For lngI = 1 To lngBis
wbDatei.Worksheets(lngI).PrintOut
Next lngI
' Datei ohne speichern schließen
wbDatei.Close False
' nächste Datei suchen
strDir = Dir
Loop
' Fehlerbehandlungsblock hinzugefügt vom Fehlerbehandlungsroutinen-Add-In. Bearbeiten Sie diesen Codeabschnitt NICHT.
'--------------------
ErrorHandler:
Select Case Err.Number
Case 0
Case Else
MsgBox "Fehler: " & vbTab & Err.Number & "-" & Err.Description & vbCrLf \_
& "Modul:" & vbTab & "Modul1" & vbCrLf \_
& "Funktion:" & vbTab & cstrProcName, vbExclamation + vbOKOnly, "Fehler!"
Resume ErrorHandler
End Select
' Ende des Fehlerbehandlungsblocks.
End Sub
Gruß, Manfred
Hallo Manfred,
klappt super!
Muß nur noch eine Aktualisierungsanfrage unterdrücken ansosnsten einfach genial.
Vielen Dank
Wolfgang
Hallo, Wolfgang!
Muß nur noch eine Aktualisierungsanfrage unterdrücken
ansosnsten einfach genial.
Dem Workbooks.Open kannst Du noch einen Parameter mitgeben, der die Aktualisierung von Links steuert/setzt. Das sollte es schon sein.
Gruß, Manfred