Microsoft Excel

Herbers Excel/VBA-Archiv

Kopieren über 2 Dateien?

Betrifft: Kopieren über 2 Dateien? von: Bereich über 2 Dateien Kopieren?
Geschrieben am: 04.08.2008 10:10:57

Morgen,
ich möchte gerne Über 2 Dateien mit Hilfe von VBA einen Bereich kopieren und einfügen.
Das ist mein Code, funktioniert toll bei einer aktiven Datei, jedoch nicht bei 2 Dateien.

Es kommt immer der Fehler:
Laufzeitfehler '9'
Index auserhalb des gültigen Bereichs.

Allerdings ist doch der Bereich der gleiche. A1=A1, wo liegt hier der Fehler?


Sub kopieren()
        Windows("Peter.xls").Activate
        Workbooks("Peter.xls").Worksheets("Tabelle1").Range("A1").Copy

        Windows("Lustig.xls").Activate
        Workbooks("Lustig.xls").Worksheets("Tabelle2").Range("A1").PasteSpecial Paste:= _
xlPasteValues, _
        Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub



mfg eimer

  

Betrifft: AW: Kopieren über 2 Dateien? von: ChrisL
Geschrieben am: 04.08.2008 10:39:26

Hallo

Probier mal...

Workbooks("Lustig.xls").Worksheets("Tabelle2").Range("A1") = Workbooks("Peter.xls").Worksheets("Tabelle1").Range("A1").Value

Achte auf mögliche Schreibfehler in den Mappen-/Tabellenbezeichnungen.

Gruss
Chris


  

Betrifft: AW: Kopieren über 2 Dateien? von: eimer
Geschrieben am: 04.08.2008 11:48:07

Hi,
das funktioniert, sollange ich keinen Variablen Bereich angebe.

Workbooks("Lustig.xls").Worksheets("Tabelle2").Range("A1")


.Range(cells(1,1)) sollte doch den gleichen Effekt haben, hat er aber nicht.
Ich brauch das ganze nämlich variabel, also mit einer Range(cells(1,1)),cells(1,70)) als Beispiel. Dabei kommt immer Debugg Fehler 1004.

mfg eimer


  

Betrifft: AW: Kopieren über 2 Dateien? von: ChrisL
Geschrieben am: 04.08.2008 12:07:22

Hallo

Das geht schon auch variabel

Workbooks("Lustig.xls").Worksheets("Tabelle2").Range(Workbooks("Lustig.xls").Worksheets("Tabelle2").Cells(1,1),Workbooks("Lustig.xls").Worksheets("Tabelle2").Cells(1,70)) = Workbooks("Peter.xls").Worksheets("Tabelle1").Range(Workbooks("Peter.xls").Worksheets("Tabelle1").Cells(1,1),Workbooks("Peter.xls").Worksheets("Tabelle1").Cells(1,70)).Value



Schöner:

Dim WS1 As Worksheet, WS2 As Worksheet
Set WS1 = Workbooks("Lustig.xls").Worksheets("Tabelle2")
Set WS2 = Workbooks("Peter.xls").Worksheets("Tabelle1")
WS1.Range(WS1.Cells(1, 1), WS1.Cells(1, 70)) = WS2.Range(WS2.Cells(1, 1), WS2.Cells(1, 70)).Value


Gruss
Chris


  

Betrifft: AW: Kopieren über 2 Dateien? von: eimer
Geschrieben am: 04.08.2008 12:46:36

Perfekt, genau das hab ich gesucht.

Vielen Dank.

mfg eimer


  

Betrifft: AW: Kopieren über 2 Dateien? von: eimer
Geschrieben am: 04.08.2008 13:24:09

Kleine Frage noch nebenher. Wie kann ich jetzt die Formatierung übernehmen?
Das wär noch wichtig für mich.

mfg eimer


  

Betrifft: AW: Kopieren über 2 Dateien? von: ChrisL
Geschrieben am: 04.08.2008 13:35:27

Probier mal...

WS1.Range(WS1.Cells(1, 1), WS1.Cells(1, 70)).Copy WS2.Range(WS2.Cells(1, 1), WS2.Cells(1, 70))

Gruss
Chris


  

Betrifft: korrektur von: ChrisL
Geschrieben am: 04.08.2008 13:36:31

muss man natürlich drehen...

WS2.Range(WS2.Cells(1, 1), WS2.Cells(1, 70)).Copy WS1.Range(WS1.Cells(1, 1), WS1.Cells(1, 70))


  

Betrifft: AW: Kopieren über 2 Dateien? von: eimer
Geschrieben am: 04.08.2008 11:52:14

Hi,
das funktioniert, sollange ich keinen Variablen Bereich angebe.

Workbooks("Lustig.xls").Worksheets("Tabelle2").Range("A1")


.Range(cells(1,1)) sollte doch den gleichen Effekt haben, hat er aber nicht.
Ich brauch das ganze nämlich variabel, also mit einer Range(cells(1,1)),cells(1,70)) als Beispiel. Dabei kommt immer Debugg Fehler 1004.

mfg eimer


 

Beiträge aus den Excel-Beispielen zum Thema "Kopieren über 2 Dateien?"