Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1416to1420
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

Blatt kopieren und Seitenlayout beibehalten?

Blatt kopieren und Seitenlayout beibehalten?
08.04.2015 09:57:36
matthias
Hallo
ich kann mittels des Cods
Sub Send_Blatt_kopieren()
Dim shZiel As Worksheet
Dim shQuelle As Worksheet
Application.ScreenUpdating = False
Set shQuelle = ActiveSheet
Workbooks.Add
Set shZiel = ActiveSheet
shZiel.Name = ActiveSheet.Name
shQuelle.Cells.Copy
shZiel.Cells(1, 1).PasteSpecial xlPasteValues
shZiel.Cells(1, 1).PasteSpecial xlPasteFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False      ' Zwischenspeicher löschen
Application.DisplayAlerts = False    ' keine Abfrage ob Tabelle gelöscht werden soll
Application.ScreenUpdating = True
End Sub
sehr einfach eine Kopie einer Exceldatei erstellen (nur Formate und Werte werden übernommen).
Leider gehen immer die Seitenlayouteinstellungen verloren. (Drucktitel, etc)
Beim nachfolgenden Code werden die Seiteneinstellungen mit übernommen.
Sub Copy()
Sheets("Tabelle1").Select
Sheets("Tabelle1").Copy
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End Sub

Gibt es eine Möglickeit den ersten Code mit dem zweiten Code zu ergänzen, sodass auch die Seitenlayouts mit übernommen werden?
Gruß

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blatt kopieren und Seitenlayout beibehalten?
08.04.2015 10:05:37
Rudi
Hallo,
der 2. sollte doch reichen.
Allerdings ohne Select.
Sub CopySheet()
Sheets("Tabelle1").Copy
Cells.Copy
Cells.PasteSpecial Paste:=xlValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End Sub
Gruß
Rudi

AW: Blatt kopieren und Seitenlayout beibehalten?
08.04.2015 10:10:29
matthias
Hallo,
danke für die Info.
Nur leider werden im zweiten Beispiel Schaltflächen etc. auch übernommen. Deshalb würde ich gerne nur den ersten Code mit der Funktion erweitern.
Ist das Möglich?
Gruß

AW: Blatt kopieren und Seitenlayout beibehalten?
08.04.2015 11:03:23
Rudi
Hallo,
dann musst du alle Seiteneinstellungen aus der ersten Datei auslesen und in die Kopie übertragen.
Ich würde die Buttons etc. löschen und die Kopie als .xlsx speichern.
Gruß
Rudi

Anzeige
AW: Blatt kopieren und Seitenlayout beibehalten?
08.04.2015 11:07:00
matthias
Danke.
und wie lese ich das Ganze aus bzw. übernehme ich es?
Ich habe hier echt keinen blasen Schimmer

AW: Blatt kopieren und Seitenlayout beibehalten?
08.04.2015 11:24:26
Rudi
Hallo,
eine andere Möglichkeit sehe ich nicht.
Sub Send_Blatt_kopieren()
Dim shZiel As Worksheet
Dim shQuelle As Worksheet
Dim psQuelle As PageSetup
Application.ScreenUpdating = False
Set shQuelle = ActiveSheet
Set psQuelle = shQuelle.PageSetup
Workbooks.Add
Set shZiel = ActiveSheet
shZiel.Name = ActiveSheet.Name
shQuelle.Cells.Copy
shZiel.Cells(1, 1).PasteSpecial xlPasteValues
shZiel.Cells(1, 1).PasteSpecial xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
With shZiel.PageSetup
.LeftMargin = psQuelle.LeftMargin
.TopMargin = psQuelle.TopMargin
.FooterMargin = psQuelle.FooterMargin
.LeftFooter = psQuelle.LeftFooter
.CenterFooter = psQuelle.CenterFooter
'etc.
End With

Gruß
Rudi

Anzeige
AW: Blatt kopieren und Seitenlayout beibehalten?
08.04.2015 11:29:28
matthias
Vielen Dank.
Funktioniert auch toll.
Aber das mit dem Seitenlayout scheint echt ein Problem zu sein, weil es wurde wieder nicht übernommen.
Trotzdem besten Dank.

du musst natürlich ....
08.04.2015 12:20:16
Rudi
alle relevanten Einstellungen kopieren.

AW: du musst natürlich ....
08.04.2015 13:27:54
matthias
Achso.
jetzt verstehe ich dich was du meinst.
Hab den Code mal angepasst.
Sub Send_Blatt_kopieren()
Dim shZiel As Worksheet
Dim shQuelle As Worksheet
Dim psQuelle As PageSetup
Application.ScreenUpdating = False
Set shQuelle = ActiveSheet
Set psQuelle = shQuelle.PageSetup
Workbooks.Add
Set shZiel = ActiveSheet
shZiel.Name = ActiveSheet.Name
shQuelle.Cells.Copy
shZiel.Cells(1, 1).PasteSpecial xlPasteValues
shZiel.Cells(1, 1).PasteSpecial xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
With shZiel.PageSetup
.LeftMargin = psQuelle.LeftMargin
.TopMargin = psQuelle.TopMargin
.FooterMargin = psQuelle.FooterMargin
.LeftFooter = psQuelle.LeftFooter
.CenterFooter = psQuelle.CenterFooter
.LeftHeader = psQuelle.LeftHeader
.CenterHeader = psQuelle.CenterHeader
.LeftFooter = psQuelle.LeftFooter
.CenterFooter = psQuelle.CenterFooter
.RightFooter = psQuelle.RightFooter
.Orientation = psQuelle.Orientation
.PaperSize = psQuelle.PaperSize
.FitToPagesWide = 1
.PrintArea = psQuelle.PrintArea
End With
End Sub
Zwei Sachen funktionieren aber noch nicht richtig.
1) Die Seitenreite sollte immer auf eine Seite gesetzt werden. Der Befehl .FitToPagesWide = 1 arbeite hier nicht.
2) Der angezeigte Name des Tabellenblattes sollte übernommen werden. Geht leider nicht.
Optionmal: Können Bilder auch mit übernommen werden?

Anzeige
AW: du musst natürlich ....
08.04.2015 14:32:24
Rudi
Hallo,
zu 1: zusätzlich musst du .Zoom = psQuelle.Zoom (oder =false) setzen.
zu 2: wohin übernommen?
Bilder: Können natürlich auch kopiert werden.
Gruß
Rudi

AW: du musst natürlich ....
08.04.2015 15:28:59
matthias
Super.
Ich möchte aber nur die Breite auf eine Seite definiert haben.
Jetzt mit der ZOOM Funktion ist die Höhe und Breite bei 1.
Kann der Druckbereich auch übernommen werden?
ich hätte es mit
.PrintArea = psQuelle.PrintArea
probiert.
Aber hier passiert garnichts.

das wird mir jetzt zu blöd
08.04.2015 15:43:54
Rudi
ich habe geschrieben: alle relevanten Eigenschaften.
Was ist mit FitToPagesTall? Hast du garantiert vergessen.
Printarea: dann ist die in der Quelle nicht festgelegt.
Gruß
Rudi

Anzeige
AW: du musst natürlich ....
08.04.2015 15:39:06
matthias
Besser wäre es noch die benutzdefinierten Ansichten mitzunehmen
über
CustomViews("Technische Daten BSK")
aber das geht auch nicht.

AW: Blatt kopieren und Seitenlayout beibehalten?
08.04.2015 16:45:08
Daniel
Hi
wie wäre es wenn du wie gezeigt:
1. erst das ganze Blatt kopierst
2. dann die Formeln durch Werte ersetzt
und zum Schluss alle Objekte löschst: ActiveSheet.DrawingObjects.Delete
wenn dann noch Code vorhanden ist, stört der nicht bzw den kannst du am einfachsten entfernen, in dem du die Datei als xlsx speicherst.
Gruß Daniel

AW: Blatt kopieren und Seitenlayout beibehalten?
08.04.2015 16:56:10
matthias
Hallo,
danke für die Tipps.
Es funktioniert super.
Leider habe ich noch keine Lösung wie ich die Bilder rüber bringe, ohne jetzt wieder auf einen andere Strategie zu wechseln.
Hat jemand einen Tipp?

Anzeige
AW: Blatt kopieren und Seitenlayout beibehalten?
08.04.2015 17:14:06
Daniel
gemäß deiner Eingangsfrage wolltest du nur Werte und Formate und die Druckeinstellungen kopieren und alles andere nicht.
Von Bildern die ebenfalls kopiert werden müssen, war da keine Rede.
Gruß Daniel

AW: Blatt kopieren und Seitenlayout beibehalten?
08.04.2015 17:16:01
matthias
Ja das stimmt.
Kann sowas noch ergänzt werden?

AW: Blatt kopieren und Seitenlayout beibehalten?
08.04.2015 18:24:21
Daniel
du solltest dir ein paar Gedanken machen was du willst, bevor du die Frage stellst.
das ständige Nachschieben von Anforderungen wird von vielen Antworteren als lästig empfunden.
Oft ist es auch so, das die zunächst verschwiegenen Anforderungen einen ganz anderen Lösungsansatz erfordern als die zuerst genannten.
Dann ist ist die Mühe, die sich der Anworter für die erste Antwort gemacht hat, für die Tonne.
Am besten ist, du machst nochmal einen neuen Beitrag und beschreibst darin genau, was auf dem Ausgangsblatt alles vorhanden ist, und was davon ins neue Blatt übernommen werden soll und was nicht übernommen werden soll.
Gruß Daniel

Anzeige
und wenn er auch noch ...
08.04.2015 16:59:51
Rudi
Hallo,
...die ben.def. Ansichten mitnehmen will, muss er imho das komplette WkB per SaveCopyAs kopieren und alles löschen, das er nicht braucht.
Gruß
Rudi

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige