Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1844to1848
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
Tabelle mehrfach in Pfad kopieren
06.09.2021 10:10:37
Tim
Hallo zusammen,
ich habe ein Tabellenblatt welches mir als Vorlage dient.
Mein Ziel ist es, dieses per Makro mehrfach zu kopieren und als neue Datei in einen Pfad abzulegen.
Dazu habe ich bereits etwas im Forum gefunden, was sinngemäß funktioniert, jedoch werden die Kopien als Tabellenblatt in der Vorlage abgespeichert, ich benötige es jedoch als neue Datei.
Wer kann mir bei der Anpassung helfen?

Sub Tabellenblatt_Kopieren()
Dim i As Integer, Anzahl As Variant
Dim Vorlage As Worksheet
Static CalculationMode As Long
With Application
.ScreenUpdating = False
.EnableEvents = False
CalculationMode = .Calculation
.Calculation = xlManual
.DisplayAlerts = False
End With
Set Vorlage = ThisWorkbook.Sheets("Vorlage")
Anzahl = InputBox("Welche Gesamtanzahl:", "Bitte gib die Anzahl der LK an!")
If Anzahl = "" Or Not IsNumeric(Anzahl) Then GoTo Fehler
For i = 0 To Anzahl - 1
Vorlage.Copy after:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Name = i + 1
Next
Application.ScreenUpdating = True
Exit Sub
Fehler:
MsgBox "Bitte gib eine natürliche Zahl an!"
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = CalculationMode
.DisplayAlerts = True
.StatusBar = False
End With
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabelle mehrfach in Pfad kopieren
06.09.2021 10:22:43
Klaus
Hallo Tim,

Vorlage.Copy after:=Worksheets(Worksheets.Count)
Dies legt ein neues Blatt an.
Schmeiß den Makrorekorder an, kopiere alles aus dem neuen Blatt in eine neue Mappe, speichere diese unter einem dir genehmen Namen und mach den Makrorekorder wieder aus - dann hast du den Code den du brauchst. Beim Code-optimieren helfen wir hier natürlich gern, falls du das nicht allein schaffst.
LG,
Klaus M.
AW: Tabelle mehrfach in Pfad kopieren
06.09.2021 10:32:23
Luschi
Hallo Tim,
- werfe doch mal den Makro-Recorder an
- kopiere eine Tabelle (Worksheet) in eine neue Arbeitsmappe
- und speichre sie ab
- dann hast Du schon das Grundgerüst für den gesuchten Vba-Code
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Tabelle mehrfach in Pfad kopieren
06.09.2021 11:08:03
Tim
Danke für den Hinweis mit dem Rekorder, folgende Anpassung konnte ich damit selbst treffen, wobei es noch nicht ganz funktioniert.
Die Zeile Datei = AktiveWorkbook.fullname bringt einen Fehler und das Speichern im Pfad funktioniert leider auch noch nicht.

Sub Tabellenblatt_Kopieren()
Dim i As Integer, Anzahl As Variant
Dim Vorlage As String, Datei As String, Pfad As String
Static CalculationMode As Long
With Application
.ScreenUpdating = False
.EnableEvents = False
CalculationMode = .Calculation
.Calculation = xlManual
.DisplayAlerts = False
End With
Pfad = "C:\Desktop\Test\"
Vorlage = ThisWorkbook.Sheets("Vorlage").Name
Anzahl = InputBox("Welche Gesamtanzahl:", "Bitte gib die Anzahl der LK an!")
If Anzahl = "" Or Not IsNumeric(Anzahl) Then GoTo Fehler
For i = 0 To Anzahl - 1
Sheets(Vorlage).Copy
Application.CutCopyMode = False
ActiveWorkbook.SaveCopyAs Pfad & ActiveSheet.Name & ".xlsx" = i + 1
Datei = ActiveWorkbook.FullName
Workbooks(Datei).Close savechanges:=False
Next i
Application.ScreenUpdating = True
Exit Sub
Fehler:
MsgBox "Bitte gib eine natürliche Zahl an!"
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = CalculationMode
.DisplayAlerts = True
.StatusBar = False
End With
End Sub

Anzeige
AW: Tabelle mehrfach in Pfad kopieren
08.09.2021 20:22:47
Yal
Hallo Tim,
versuche damit:

Sub Tabellenblatt_Kopieren()
Dim Anzahl As Integer
Do
Anzahl = InputBox("Welche Gesamtanzahl:", "Bitte gib die Anzahl der LK an!")
Loop While VarType(Anzahl)  vbInteger
If Anzahl = Abs(Anzahl) Then Kopie_speichern Anzahl
End Sub
Sub Kopie_speichern(Anzahl As Integer)
Dim i As Integer
Const Pfad = "C:\Desktop\Test\"
For i = 1 To Anzahl
ThisWorkbook.SaveCopyAs Pfad & Replace(ThisWorkbook.Name, ".xlsx", "_" & i & ".xlsx")
Next
End Sub
VG
Yal

29 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige