Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Probleme beim Kopieren in anderes Excel

Probleme beim Kopieren in anderes Excel
16.09.2014 15:59:14
Roland
Hallo zusammen,
ich komme hier leider nicht weiter, hoffentlich kann mir einer von Euch einen Tipp geben. Ich mö _
chte folgendes machen: Es gibt eine Datei Ziel, von der aus ich eine Datei Quelle öffne, Daten _
von Quelle nach Ziel kopiere und anschließend Quelle schließe. Dies funktioniert wie gewünscht. _
Zusätzlich möchte ich aber jetzt noch vor dem schließen ein Tabellenblatt von Ziel nach Quelle kopieren, was mich in den Wahnsinn treibt. Der Teilcode sieht wie folgt aus:
Sub test()
Dim pfad$, File$
Dim objQuelleZusammenfassung As Object
Dim objZielZusammenfassung As Object
Dim objExcelQuelle As Excel.Application
'Quell-Exceldatei öffnen
pfad = "..."
File = "Test.xlsx"
Set objExcelQuelle = CreateObject("Excel.Application")
objExcelQuelle.Workbooks.Open Filename:=pfad & "\" & File
'Kopieren
Set objZielZusammenfassung = ThisWorkbook.Sheets("Zusammenfassung")
Set objQuelleZusammenfassung = objExcelQuelle.Worksheets.Add
objZielZusammenfassung.Columns(2).Copy
With objQuelleZusammenfassung
.Columns(2).PasteSpecial
End With
'Datei Quelle schließen
objExcelQuelle.ActiveWorkbook.Close SaveChanges:=True
objExcelQuelle.Quit
End Sub
Zwei Dinge gehen schief:
1. Die Spalte 2 wird nicht kopiert sondern stattdessen eine Art Grafik angezeigt, die mit '=EINBETTEN("Excel.Sheet.8";"")' versehen ist.
2. Kopiert wird nicht immer die zweite Spalte aus dem Blatt Zusammenfassung, sondern die 2. Spalte des Blattes, welches beim Start des Makros sichtbar ist.
Könnt Ihr mir bitte helfen?
Danke
Roland

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Probleme beim Kopieren in anderes Excel
16.09.2014 21:13:41
Luschi
Hallo Roland,
versuch es mal so:

Sub test()
Dim pfad$, File$
Dim objQuelleZusammenfassung As Worksheet
Dim objZielZusammenfassung As Worksheet
'Dim objExcelQuelle As Application
'ein neues Objekt für die Arbeitsmappe, die man öffnen will
Dim objExcelQuelleWB As Workbook
'Quell-Exceldatei öffnen
pfad = "..."
File = "Test.xlsx"
'Wozu eine Extra-Instanz von Excel innerhalb von Excel
'Sowas benutzt man, wenn man von Excel aus Word / Outlook / Powerpoint usw. öffnen will
'Set objExcelQuelle = CreateObject("Excel.Application")
'Dateien aus denen man nur kopiert, schreibgeschützt öffnen
'das ist WICHTIG, damit die geöffneten Excel-Datei durch ein Objekt angesprochen werden  _
kann
Set objExcelQuelleWB = Application.Workbooks.Open(Filename:=pfad & "\" & File, ReadOnly:= _
True)
'Kopieren
Set objZielZusammenfassung = ThisWorkbook.Sheets("Zusammenfassung")
Set objQuelleZusammenfassung = objExcelQuelleWB.Worksheets.Add
objZielZusammenfassung.Columns(2).Copy
With objQuelleZusammenfassung
.Columns(2).PasteSpecial
End With
'Datei-Quelle schließen & NICHT speichern!!!
objExcelQuelleWB.Close SaveChanges:=False
'Excel-Application beenden - nicht erforderlich
'objExcelQuelle.Quit
'ein bischen die Objekt-Variablen aufräumen!°
Set objQuelleZusammenfassung = Nothing
Set objZielZusammenfassung = Nothing
Set objExcelQuelleWB = Nothing
End Sub
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Probleme beim Kopieren in anderes Excel
17.09.2014 08:08:04
Roland
Hallo Luschi,
ohne eigene Instanz hat es geklappt.
Danke!
Roland

AW: Probleme beim Kopieren in anderes Excel
17.09.2014 08:09:19
Roland
Hallo Luschi,
ohne eigene Instanz hat es geklappt.
Danke!
Roland
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige