Hallo VBA-Experten,
von der Seite
vba.de von Alfons Seeberger habe ich das folgende Makro:
Sub Tabellen_in_neue_Dateien_kopieren()
'jede Tabelle dieser Datei als neue Datei speichern
'Dateiname ist jeweils der Tabellenname
Dim Pfad As String
Dim wks As Worksheet
Pfad = ThisWorkbook.Path & "\"
'prüfen ob Pfad existiert
If Dir(Pfad) = "" Then
MsgBox "Pfad existiert nicht", , "Abbruch"
Exit Sub
End If
On Error GoTo Fehler
Application.ScreenUpdating = False
'eventuell schon vorhandene Datei ohne Rückfrage überschreiben
Application.DisplayAlerts = False
For Each wks In ThisWorkbook.Worksheets
ThisWorkbook.Worksheets(wks.Name).Copy
ActiveWorkbook.SaveAs (Pfad & wks.Name)
ActiveWorkbook.Close
Next wks
Application.DisplayAlerts = True
Application.ScreenUpdating = True
MsgBox "alle Tabellen gespeichert in" & vbNewLine & vbNewLine _
& Pfad, , ""
Exit Sub
Fehler:
Application.ScreenUpdating = True
Application.DisplayAlerts = True
MsgBox "FehlerNr.: " & Err.Number & vbNewLine & vbNewLine _
& "Beschreibung: " & Err.Description _
, vbCritical, "Fehler"
End Sub
Wenn eine Datei ausgeblendete Tabellen enthält, führt das zu "Laufzeitfehler 1004, die Copy-Methode...." an der unterstrichenen Stelle.
Wie muss ich das Makro ergänzen, damit alle sichtbarenTabellen kopiert werden, die Ausgeblendeten aber übersprungen werden?
Nach "ActiveWorkbook.SaveAs (Pfad & wks.Name)" würde ich gerne noch eine Unterbrechung? Abfrage? einbauen, wo entschieden werden kann, ob diese Datei gedruckt wird, per Email verschickt wird oder nichts weiter passiert.
mfg
vielen Dank im Voraus
Wolfgang