Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
996to1000
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

Übertragen v. Daten zw. Workbooks

Übertragen v. Daten zw. Workbooks
28.07.2008 09:17:42
Werner
VB-Level: befriedigend
Hallo liebe Forumsmitglieder,
kürzlich musste ich Daten häppchenweise von einer Excel-Datei (Workbook) in eine andere kopieren.
Leider ist eine Anweisung der Art
Workbooks(1).Worksheets(1).Range("A1").Copy Destination:= Workbooks(2).Worksheets(1).Range _
("A1")
in Excel nicht moeglich. Deshalb schrieb ich stattdessen:
Workbooks(1).Activate
Worksheets(1).Activate
Workbooks(1).Worksheets(1).Range("A1").Copy Destination:= Workbooks(2).Worksheets(1).Range _
("A1")
oder ähnlich.
Beim Übertragen des nächsten Häppchens muss ich dann jedesmal wieder in die Ausgangsdatei
zurückschalten, und dann wieder die Zieldatei aktivieren, usw. (natürlich mit "Application.Screenupdating
= False" und dann am Ende wieder "Application.Screenupdating = True")
Das Problem ist also nicht unlösbar, doch gibt es vielleicht eine einfachere Lösung? Werner R.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Übertragen v. Daten zw. Workbooks
28.07.2008 09:30:09
Sigi
Hi Werner,
definiere zwei Objektvariablen mit den Quell- und Zieldateien und direkte Zuweisungen. Activate ist nicht nötig. Etwa so ...

Sub KopierenVonDaten()
Dim wbQuelle As Workbook
Dim wbZiel As Workbook
Set wbQuelle = "Ausgangsdatei.xls"
Set wbZiel = "Zieldatei.xls"
wbZiel.Worksheets(1).Range("A1").Value = wbQuelle.Worksheets(1).Range("A1").Value
wbZiel.Worksheets(3).Range("K12").Value = wbQuelle.Worksheets(3).Range("K12").Value
Set wbZiel = Nothing
Set wbQuelle = Nothing
End Sub


Gruß
Sigi

AW: Übertragen v. Daten zw. Workbooks
28.07.2008 09:32:00
Luschi
Hallo Werner,
habe Deinen Vba-Code in Excel 2007 getestet: --» klappt wunderbar
Kann keinen Fehler entdecken.
Gruß von Luschi
aus klein-Paris

Anzeige
OK!
28.07.2008 09:54:00
Werner
Hallo Sigi, hallo Luschi,
vielen Dank für eure schnelle Antwort!
In diesem Fall kann man offenbar entweder mit zwei Variablen, oder ohne die Variablen und mit Aktivierung
arbeiten.
An Sigi: Dein Vorschlag ist eine beachtenswerte Alternative zu meinem Makro. Ich habe ihn mir notiert.
An Luschi: Ich bin nicht der Meinung gewesen, mein Programm sei fehlerhaft. Doch der von mir in diesem Thread vorgelegte Makro schien mir etwas flatterhaft (wegen des dauernden Hin- und Herschaltens zwischen den Dateien). Excel scheint das aber offenbar nichts auszumachen.
Werner R.

Anzeige
AW: OK!
28.07.2008 10:01:00
Luschi
Hallo Werner,
ich meinte diese Vba-Code-Zeile, die ok ist:
Workbooks(1).Worksheets(1).Range("A1").Copy Destination:= Workbooks(2).Worksheets(1).Range("A1")
Gruß von Luschi
aus klein-Paris

Zum Abschluss
28.07.2008 10:26:00
Werner
Hallo Luschi,
Jetzt verstehe ich:
Man kann den Workbooknamen offenbar also doch dem Worksheetnamen voranstellen! Muss ich noch einmal prüfen (habe Excel auf einem anderen Computer installiert).
Ich hatte den Workbook-Namen statt des Workbook-Index verwendet, und Excel hatte gestreikt. (Die Extensions ".xls" hatte ich bei der Referenz auf das gespeicherte Workbook nicht anzuhängen vergessen, und beide Workbooks waren geöffnet und befanden sich im gleichen Verzeichnis.)
Werner R.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige