Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1320to1324
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
Neue Mappe mit kopierten Daten anlegen
11.07.2013 15:49:16
Markus
Guten Tag zusammen,
ich habe ein kleines Problem mit dem erstellen einer neuen Mappe, die gewisse Daten aus der ursprünlichen Datei enthalten soll.
Das untere Makro kopiert momentan die komplette Datei an den angegeben Ort mit entsprechenden Namen. Wie füge ich nun folgendes ein:
Ich habe ein Arbeitsblatt "Test" von dem ich die Daten aus dem Bereich
Range("A1:k56").Copy in ein neues Arbeitsblatt kopieren möchte. Formatierungen sollen alle beibehalten werden lediglich, die Formeln sollen nicht übernommen werden, nur die Werte die in den Zellen stehen.
Dafür habe ich '.PasteSpecial Paste:=xlValues gefunden, doch irgendwie bekomm ich das alles nicht gescheit zusammen.
Danke schon mal
Private Sub CommandButton3_Click()
Dim DName As String
Dim Dateiname As String
Dim Pfad As String
Dim DZeitraum As String
Dim DYear As String
Sheets("Test").Range("L3") = "Top 10"
'With sheets("Test").Range("A1:K56").Copy
'.PasteSpecial Paste:=xlValues
'End With
'Application.CutCopyMode = False
'Workbooks.Add
'With activeSheet(tabelle1).Range("A1").paste
' (Mit ' gekennzeichent funktioniert nicht so wie gewünscht)
Pfad = "C:\Test"
DName = "Test"
DZeitraum = Sheets("Test").Range("L5").Value  'Jahr wird eingteragen 2013
DYear = Sheets("Test").Range("L7").Value      'Report Monat
Dateiname = Pfad & "\" & DName & DZeitraum & DYear & ".xls"
' Tagesdatum als "Jahr.Monat.Tag" wegen Exploreransicht!
ThisWorkbook.SaveAs Filename:=Dateiname
activeworkbook.close
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Neue Mappe mit kopierten Daten anlegen
11.07.2013 19:08:13
Oberschlumpf
Hi Markus
Zeig uns bitte mal Bsp-Dateien, in denen man sehen kann, wie es ist und wie es sein soll.
Ciao
Thorsten

AW: Neue Mappe mit kopierten Daten anlegen
11.07.2013 23:06:28
fcs
Hallo Markus,
im Prinzip kann man es wie folgt lösen.
Gruß
Franz
Private Sub CommandButton3_Click()
Dim DName As String
Dim Dateiname As String
Dim Pfad As String
Dim DZeitraum As String
Dim DYear As String
Dim wksQuelle As Worksheet
Dim wksNeu As Worksheet, wbNeu As Workbook
Set wksQuelle = ActiveWorkbook.Sheets("Test")
wksQuelle.Range("L3") = "Top 10"
'neue Mappe mit einem Tabellenblatt anlegen
Workbooks.Add template:=xlWBATWorksheet
Set wbNeu = ActiveWorkbook
Set wksNeu = wbNeu.Worksheets(1)
With wksQuelle.Range("A1:K56")
'Spaltenformate des Bereichs kopieren
.EntireColumn.Copy
wksNeu.Cells(1, 1).PasteSpecial Paste:=xlPasteFormats
wksNeu.UsedRange.Clear
'Zeilenformate und Werte kopieren
.Copy
wksNeu.Range(.Address).PasteSpecial Paste:=xlPasteFormats
'nächste Zeile kann Probleme machen wenn im bereich verbundene Zellen vorhanden sind
wksNeu.Range(.Address).PasteSpecial Paste:=xlPasteValues
End With
Application.CutCopyMode = False
Pfad = "C:\Test"
'Pfad = "C:\Users\Public\Test"
DName = "Test"
DZeitraum = wksQuelle.Range("L5").Value  'Jahr wird eingteragen 2013
DYear = wksQuelle.Range("L7").Value      'Report Monat
Dateiname = Pfad & "\" & DName & DZeitraum & DYear & ".xls"
' Tagesdatum als "Jahr.Monat.Tag" wegen Exploreransicht!
'Datei im alten Excelformat speichern
If Val(Application.Version) >= 12 Then
'Excel 2007 und neuer
wbNeu.SaveAs Filename:=Dateiname, FileFormat:=56 'xlExcel8
Else
'bis Excel 2003
wbNeu.SaveAs Filename:=Dateiname, FileFormat:=-4143 'xlWorkbookNormal
End If
wbNeu.Close
Set wbNeu = Nothing: Set wksNeu = Nothing
Set wksQuelle = Nothing
End Sub

Anzeige
AW: Neue Mappe mit kopierten Daten anlegen
12.07.2013 09:18:40
Markus
Guten Morgen zuammen,
durch die beiden unteren makros habe ich nun das Ergebnis was ich wollte.
Mein Hauptproblem war, das bei der ursprünglichen Kopie der Tabelle auch alle Formeln mit kopiert wurden, so dass immer ein Bezug zur Hauptdatei entstand. Schloss ich die Formeln aus, gingen auch alle anderen Formatierungen "verloren", was nicht sein sollte. Ich hab dies jetzt über eine Hilfstabelle gelöst, die alle Formatierungen enthält und nun lediglich die Werte hinein kopiert werden. Von dieser Hilfstabelle ertslle ich dann die Kopie, wie unten zu sehen.
Danke für eure Hilfe.
Sub Report_kopieren()
Sheets("Test").Range("A1:k56").Value = Sheets("Test").Range("A1:K56").Value
End Sub

Sub Neue_Mappe()
Sheets("Test").Range("A1:K56").Copy
Workbooks.Add
ActiveWorkbook.Sheets("tabelle1").Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:= _
xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveWorkbook.Sheets("tabelle1").Range("A1").PasteSpecial Paste:=xlPasteFormats, Operation:= _
xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveWorkbook.Sheets("tabelle1").Range("A1").PasteSpecial Paste:=xlPasteColumnWidths,  _
Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveWorkbook.Sheets("tabelle1").Name = Range("A2").Value
Pfad = "G:\Test"
DName = ActiveWorkbook.Sheets("Test").Range("A1").Value
Dateiname = Pfad & "\" & DName & ".xlsm"
ChDir "G:\Test"
ActiveWorkbook.SaveAs Filename:=Dateiname, FileFormat:=xlOpenXMLWorkbookMacroEnabled,  _
CreateBackup:=False
ActiveWorkbook.Close
End Sub

Anzeige

78 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige