Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1048to1052
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

tabellenblatt in Excel mit neuer Instanz kopieren

tabellenblatt in Excel mit neuer Instanz kopieren
10.02.2009 13:39:15
chris
Hallo zusammen,
ich habe eine frage.Vielleicht könnt ihr mir helfen.
ich versuche eine Auswertung zu erstellen und diese soll in eine neue Instanz von Excel kopiert werden.
Aber irgendwie klappt das nicht :(
Ich habe unten einen code angefügt damit ich als erstes eine neue Instanz erstelle und dann ein Tabellenblatt aus einem bereits geöffnetem Workbook in die neue INstanz kopieren möchte.Es kommt aber in dieser zeile immer ein fehler:
"newwb.Worksheets("vorlage").Copy After:=objExcel.Workbooks(neu.Name).Worksheets(1)"
Das Problem liegt an "After:=objExcel.Workbooks(neu.Name).Worksheets(1)"
Aber das "neu" ist ja meine neue Instanz.Könnt ihr mir helfen ?
Vielen Dank im vorraus gruß Chris
Option Explicit
Dim objExcel As Object
Set objExcel = CreateObject("Excel.Application")
Set neu = objExcel.Workbooks.Add
objExcel.Visible = True
objExcel.WindowState = xlMaximized
'Alle Tabellen löschen bis auf eine dann 3 neue erstellen
Application.DisplayAlerts = False
For Each w In neu.Worksheets
On Error GoTo geloescht
w.Delete
Next
geloescht:
Application.DisplayAlerts = True
neu.Worksheets.Add
neu.Worksheets.Add
'Daten kopieren und in neue Datenbank für Diagramm einfügen - noch ohne zusatzkriteruien nur nach datum !
Windows(newwb.Name).Visible = True
newwb.Worksheets("vorlage").Copy After:=objExcel.Workbooks(neu.Name).Worksheets(1)

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: tabellenblatt in Excel mit neuer Instanz kopieren
10.02.2009 14:17:00
Oberschlumpf
Hi Chris
Wenn ich deinen Code teste, hört Excel schon in dieser Zeile
Windows(newwb.Name).Visible = True
mit Fehler auf (Objekt erforderlich)
In deinem Code finde ich aber auch keine Wert/Objekt-Zuweisung für die Variable newwb. Deswegen wundert mich der Fehler auch nicht (Excel "kennt" newwb (noch) nicht)
Und "deine" Fehlerzeile
newwb.Worksheets("vorlage").Copy After:=objExcel.Workbooks(neu.Name).Worksheets(1)
hat ja auch wieder newwb als "Start".
Hier könnte die richtige Zeile so lauten:
ThisWorkbook.Worksheets("vorlage").Copy After:=objExcel.Workbooks(neu.Name).Worksheets(1)
Aber das hier sind nur Überlegungen von mir, deswegen weiterhin offen.
Hilfts denn?
Wenn nein, dann zeig uns doch mal eine Bsp-Datei mit Bsp-Daten.
Ciao
Thorsten
Anzeige
AW: ergänzung
10.02.2009 14:29:13
chris
Hallo Thorsten, hilft leider nicht weiter.
habe diese zeile mal unter die Lupe genommen.
So geht Sie nicht:
newwb.Worksheets("vorlage").Copy 'After:=objExcel.Workbooks(neu.Name).Worksheets(1)
aber so geht Sie:
newwb.Worksheets("vorlage").Copy
Nur so wird eine neue Datei erstellt also ein neues Workbook in der alten Excel Instanz.
Das wollte ich nicht.
reicht dir diese info ?
Hier noch mein Code aus diesem Modul wie ich ihn davor hatte.
So wie er jetzt ist funktioniert er aber es bleibt alles in einer Instanz.
Und ich wollte die Tabelle "vorlage" in eine neue Instanz kopieren.
Sub Auswertung()
'die dim's habe ich für das beispiel entfernt
'Daten Sortieren vor dem Auswerten (datmit datums der Reiehenfolge nach Sortiert sind und nur noch bereiche kopiert werden müssen
Call sortieren
Start_datum = Form_Auswertung.cbo_Datum_von.Value 'Start Datum Auswertung AB
Ende_datum = Form_Auswertung.cbo_Datum_bis.Value 'Ende Datum.Auswertung bis
Ende_Zeile = 0
Start_Zeile = 0
Set neu = Workbooks.Add
'Alle Tabellen löschen bis auf eine dann 3 neue erstellen
Application.DisplayAlerts = False
For Each w In neu.Worksheets
On Error GoTo geloescht
w.Delete
Next
geloescht:
Application.DisplayAlerts = True
neu.Worksheets.Add
neu.Worksheets.Add
'Daten kopieren und in neue Datenbank für Diagramm einfügen - noch ohne zusatzkriteruien nur nach datum !
newwb.Worksheets("vorlage").Copy before:=neu.Worksheets(1)
Anzeige
AW: ergänzung
10.02.2009 14:44:00
Oberschlumpf
Hi Chris
Eine Bsp-Datei wär besser, weil beim "Nachbauen" immer Fehlinterpretation deiner Erklärung(en) passieren können - oder aber, du hast vielleicht etwas falsch erklärt, was eben zwangsläufig auch zu Fehlern führt.
Ciao
Thorsten
AW: Anhang Datei Beispiel
10.02.2009 15:01:00
chris
Hallo Thorsten habe jetzt mal schnell eine kleine Beispieldatei erstellt bei dem auch dieser fehler auftaucht.
In der Datei steht noch: "dim newwb as workbook"
Also in meiner die ich bei mir habe.
Und geöffnet wird dann eine Datei.
Set newwb = Workbooks.Open(Pfad_Datenbank & Form_Auswahl_Werkstatt.btn_ok.Tag & "\Datenbank_" & Form_Auswahl_Werkstatt.btn_ok.Tag & ".xls", , , , "db" & Form_Auswahl_Werkstatt.btn_ok.Tag, "db" & Form_Auswahl_Werkstatt.btn_ok.Tag)
Aber ich glaube das spielt ja für das Beispiel keine weitere Rolle.
https://www.herber.de/bbs/user/59308.zip
Danke schon im vorraus !
gruß Chris
Anzeige
andere wissen vielleicht mehr
11.02.2009 11:19:00
Oberschlumpf
Hi Chris
Ich krieg es leider auch nicht raus, wie man ein Workbook und seine Sheets in einer neuen Instanz so ansprechen kann, dass das Kopieren eines Sheets aus einer anderen Instanz möglich ist.
Ciao
Thorsten
geschlossen, da erneut geöffnet
11.02.2009 11:31:00
zu

AW: andere wissen vielleicht mehr
11.02.2009 15:59:00
chris
Danke trotzdem Schlumpf,
mir wurde bereits gestern gesagt das das nicht möglich ist sheets in andere Excelinstanzen zu kopieren.
Danke trotzdem !!

325 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige