PDA

Vollständige Version anzeigen : Tabellenblätter unter bestimmten Pfad abspeichern


AndyErz
14.07.2014, 15:11
Hallo zusammen

Ich versuche aus einer Datei bestimmt Tabellenblätter als separate Dateien in einem Zielort zu speichern. Leider finde ich keine Lösung den Pfad richtig mitzugeben.

Hier mal mein Code:
Sub Tab_als_Datei()
Dim neuname As String
Dim i As Integer

Application.ScreenUpdating = False
Application.CalculateBeforeSave = False
Application.Calculation = xlCalculationManual
For i = 3 To ActiveWorkbook.Sheets.Count - 3
neuname = "ZZ_ " & Sheets(i).Name & " " & Format(Now, "YYYYMMDD")
Sheets(i).Copy
For intSpalte = 4 To 14 Step 2 'Bezüge zu anderen Quellen rausnehmen
Range(Cells(5, intSpalte), Cells(1330, intSpalte)).Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Next intSpalte
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs "O:\ZZ_Pfad\" & neuname
ActiveWorkbook.Close
Application.DisplayAlerts = True
Application.CutCopyMode = False
Next
Application.ScreenUpdating = True
Application.CalculateBeforeSave = True
Application.Calculation = xlCalculationAutomatic
End Sub


Der Pfad "O:\ZZ_Pfad\" bezieht sich auf ein Netzlaufwerk mit einem noch nicht angelegtem Ordner. Das Laufwerk heißt bei allen Usern gleich, ist aber Berechtigungtechnisch nur für den aktuellen User zugänglich.

Was ist in meinem Code falsch?

Danke & Gruß
Andy

haklesoft
14.07.2014, 15:21
Hallo Andy,

warum schaltest Du die Warnungen vor dem Speichern ab?

Wenn das Verzeichnis nicht exisitert, musst Du es vor dem Speichern anlegen.

Siehe auch (http://www.ms-office-forum.net/forum/showthread.php?t=311591)

AndyErz
14.07.2014, 15:36
Ich schalte die Warnung aus, damit im Zweifel eine alte Version ohne Rückmeldung überschrieben wird.

Danke für den Hinweis.

Habe jetzt folgende Zeilen nach dem Ausschlaten der Kalkulation eingfügt:
If Dir("O:\ZZ_Pfad" & "\") = "" Then
MkDir "O:\ZZ_Pfad" & "\"
End If

Außerdem die Zeile ActiveWorkbook.SaveAs "O:\ZZ_Pfad\" & neuname
durch folgendermaßen abgeändert:
ActiveWorkbook.SaveAs "O:\ZZ_Pfad"&"\" & neuname

Jetzt funktioniert es!

MERCI