Anzeige
Archiv - Navigation
1280to1284
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
Inhaltsverzeichnis

einzelnes Blatt kopieren

einzelnes Blatt kopieren
21.10.2012 11:15:01
klausk
Guten Tag,
in einer Arbeitsmappe wird unter "Tabelle1" in eine Liste eingetragen. Diese Daten werden zeilenweise per Makro mit Schaltfläche in die "Tabelle2" (ein Formular) eingetragen und sofort ausgedruckt. Logischerweise wird bei jedem Kopiervorgang das Formular "tabelle2" neu gefüllt.
Wie kann ich erreichen, dass dieses Blatt "tabelle2" in einen neuen Ordner kopiert wird, damit ich alle einzelnen Formulare separat habe ?
Vielen Dank
Klaus

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: einzelnes Blatt kopieren
21.10.2012 11:30:10
Tino
Hallo,
hier mal eine Version die die Tabelle2 in eine neue Datei kopiert und
anschließend speichert.
Wenn Du den Code in einer neuen Datei testen willst,
diese zuvor speichern sonst hat diese keine Extension.
Dim strPath$, intFormat%, strName$, strExt$
strPath = "C:\Ordner\" 'Pfad anpassen
With ThisWorkbook
intFormat = .FileFormat 'Fileformat
strExt = Mid$(.Name, InStrRev(.Name, "."), Len(.Name)) 'Extension
strName = Tabelle2.Name & "_" & Format(Now, "dd_mm_yy_hh_mm") & strExt 'Name neue Datei
Tabelle2.Copy 'neue Datei erstellen durch kopieren
End With
With ActiveWorkbook
.SaveAs strPath & strName, FileFormat:=intFormat
.Close 'schließen
End With
Gruß Tino

Anzeige
AW: einzelnes Blatt kopieren
21.10.2012 12:16:49
fcs
Hallo Klaus,
hier mein Vorschlag. Zum Testen hab ich die Seitevorschau eingebaut. Das nuss du noch anpassen. Ebenso ggf. das Berechnen des Dateinamens der gedruckten Tabellenblatter.
Gruß
Franz
Sub Liste_Drucken_Speichern()
Dim wksEingabe As Worksheet
Dim wksForm As Worksheet
Dim Zeile_E As Long
Dim varOrdner, wbNeu As Workbook, strFileName As String, intCount As Integer
'Zielordner auswählen
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Bitte Zielordner wählen für die gedruckten Tabellenblätter"
If .Show = -1 Then
varOrdner = .SelectedItems(1)
Else
GoTo Beenden
End If
End With
Set wksEingabe = ActiveWorkbook.Worksheets("Tabelle1")
Set wksForm = ActiveWorkbook.Worksheets("Tabelle2")
With Application
End With
With wksEingabe
intCount = 0
For Zeile_E = 4 To .Cells(.Rows.Count, 1).End(xlUp).Row
intCount = intCount + 1 'fortlaufender Zähler für Dateien
Application.StatusBar = "Datenzeile Nr.  " & intCount & "  wird gedruckt"
'Daten in Formular eintragen
wksForm.Range("B2") = .Cells(Zeile_E, 1).Value
wksForm.Range("B3") = .Cells(Zeile_E, 2).Value
wksForm.Range("B5") = .Cells(Zeile_E, 3).Value
wksForm.Range("B7") = .Cells(Zeile_E, 4).Value
wksForm.Range("B8") = .Cells(Zeile_E, 5).Value
With wksForm
.Calculate 'Falls erforderlich
'.PrintOut
.PrintPreview
'Dateiname für Datei mit Tabellenblatt,  hier am Namen noch keine Datei-Endung _
anfügen, das macht Excel automatisch über das Fileformat
strFileName = .Range("B2").Text & Format(Now, " YYYYMMDD hhmmss")
strFileName = varOrdner & Application.PathSeparator & strFileName
.Copy
Set wbNeu = ActiveWorkbook
With wbNeu
'FileFormat ggf. anpassen/weglassen
'xlWorkbookNormal = Excel 2007/2010 ein 97-2003-Format
'xlOpenXMLWorkbook = 2007 und neuer
.SaveAs Filename:=strFileName, FileFormat:=xlOpenXMLWorkbook
.Close savechanges:=False
End With
Set wbNeu = Nothing
End With
Next Zeile_E
End With 'wksEingabe
Beenden:
With Application
.StatusBar = False
.ScreenUpdating = True
End With
End Sub

Anzeige
AW: danke, ich werde es mal einbauen o.T.
21.10.2012 12:31:49
klausk
..

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige