Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
644to648
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
644to648
644to648
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Worsheet in neue Excel-Instanz kopieren

Worsheet in neue Excel-Instanz kopieren
01.08.2005 11:32:29
Verena
Hallo,
ich würde es gerne schaffen, ein vorhandenes Worksheet mit all seinen Daten in eine neue Arbeitsmappe in einer EIGENEN EXCEL-INSTANZ (!) zu kopieren.
Hat jemand ne Ahnung, wie das gehen könnte?
Mit .copy habe ich eine neue Arbeitsmappe in der gleichen Instanz erzeugt, dass ist aber für mein Programm eher ungünstig.
Und wenn ich ein neues Workbook in einer neuen Instanz selbst erzeuge und den Worksheet-Inhalt über Zeilen- und Spalten-Schleifen in das Workbook kopiere, dann dauert das erstens unglaublich lange und zweitens fehlt die Formatierung.
Wäre toll, wenn mir jemand helfen könnte.
LG
Verena

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Worsheet in neue Excel-Instanz kopieren
01.08.2005 12:51:32
bst
Mahlzeit Verena,
worin siehst Du da denn einen Vorteil ?
Direktes kopieren einer Tabelle scheint hier nicht zu funktionieren. Nimm entweder den Umweg über eine Temp-Datei oder kopiere halt die Zellen über die Zwischenablage oder über ein Array.
HTH, Bernd
--
Option Explicit

Const tmpDatei = "C:\temp\xx.xls"

Sub x()
   Dim xls As Object
   
   Sheets("Tabelle1").Copy
   Application.DisplayAlerts = False
   ActiveWorkbook.SaveAs Filename:=tmpDatei
   Application.DisplayAlerts = True
   ActiveWorkbook.Close False
   
   Set xls = CreateObject("excel.application")
   xls.Workbooks.Open tmpDatei
   xls.Visible = True
   Set xls = Nothing
End Sub

Sub y()
   Dim xls As Object
   Set xls = CreateObject("excel.application")
   xls.Workbooks.Add
   Cells.Copy
   xls.Workbooks(1).Worksheets(1).Paste
   xls.Visible = True
   Set xls = Nothing
   Application.CutCopyMode = False
End Sub

Sub z()
   Dim xls As Object, ar As Variant
   
   ar = ActiveSheet.UsedRange
   Set xls = CreateObject("excel.application")
   xls.Workbooks.Add
   With xls.Workbooks(1).Worksheets(1)
      .Range(.Range("A1"), .Cells(UBound(ar, 1), UBound(ar, 2))) = ar
   End With
   xls.Visible = True
   Set xls = Nothing
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige