Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1728to1732
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
Arbeitsblätter als Datei speichern
18.12.2019 07:51:02
Thomas
Guten Morgen,
ich hab ein Makro bei mir integriert, der einzelne Arbeitsblätter in eine angegebenen Ordner einzeln als Datei abspeichert.
Jetzt hat es sich aber ergeben, dass Zwei Tabs aus mehreren in eine Datei müssen. Wie kann ich den Code entsprechend anpassen.
Sagen wir Tab 4 und 5 in eine Datei und ab 6 wieder einzelne Dateien in den Ordner abspeichern.
Würde mich über Hilfe freuen.
Option Explicit
Private Declare PtrSafe Function MakeSureDirectoryPathExists Lib "imagehlp.dll" ( _
ByVal DirPath As String) As Long
Private Sub CommandButton1_Click()
Const FOLDER_PATH As String = "C:\Users\xyz\Desktop\Test\Abholordner\" 'Anpassen !!!
Dim i As Long
Dim strFolder As String
strFolder = FOLDER_PATH & Worksheets("Tabelle1").Cells(1, 1).Text
If Right$(strFolder, 1)  "\" Then strFolder = strFolder & "\"
Call MakeSureDirectoryPathExists(strFolder)
Application.ScreenUpdating = False
For i = 4 To Worksheets.Count
Worksheets(i).Copy
With ActiveSheet
.Cells.Copy
.Range("A1").PasteSpecial Paste:=xlPasteValues
.Parent.SaveAs Filename:=strFolder & _
ActiveSheet.Name & ".xls", FileFormat:=xlNormal
.Parent.Close
End With
Next i
End Sub
Vielen Dank schonmal für die Mühe.
Viele Grüße
Thomas

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arbeitsblätter als Datei speichern
18.12.2019 09:49:40
Nepumuk
Hallo Thomas,
teste mal:
Option Explicit
Private Declare PtrSafe Function MakeSureDirectoryPathExists Lib "imagehlp.dll" ( _
ByVal DirPath As String) As Long
Private Sub CommandButton1_Click()
Const FOLDER_PATH As String = "C:\Users\xyz\Desktop\Test\Abholordner\"  'Anpassen !!!
Dim i As Long
Dim strFolder As String
strFolder = FOLDER_PATH & Worksheets("Tabelle1").Cells(1, 1).Text
If Right$(strFolder, 1)  "\" Then strFolder = strFolder & "\"
Call MakeSureDirectoryPathExists(strFolder)
Application.ScreenUpdating = False
For i = 4 To Worksheets.Count
If i = 4 Then
Worksheets(Array(Worksheets(i).Name, Worksheets(i + 1).Name)).Copy
With ActiveSheet
.Cells.Copy
.Range("A1").PasteSpecial Paste:=xlPasteValues
End With
With ActiveSheet.Next
.Cells.Copy
.Range("A1").PasteSpecial Paste:=xlPasteValues
.Parent.SaveAs Filename:=strFolder & _
ActiveSheet.Name & ".xls", FileFormat:=xlNormal
.Parent.Close
End With
i = i + 1
Else
Worksheets(i).Copy
With ActiveSheet
.Cells.Copy
.Range("A1").PasteSpecial Paste:=xlPasteValues
.Parent.SaveAs Filename:=strFolder & _
ActiveSheet.Name & ".xls", FileFormat:=xlNormal
.Parent.Close
End With
End If
Next i
End Sub

Gruß
Nepumuk
Anzeige
Vielen Dank :)
18.12.2019 10:37:57
Thomas
Hallo Nepumuk,
Perfekt,genauso wie gewollt. Wünsche dir schöne Feiertage und eine guten Rutsch ins neue Jahr.
Viele Grüße
Thomas

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige