Forum: PC-Programmierung Kopieren aus einer Date in das andere VBA


von Mirko (Gast)


Lesenswert?

Hallo,
ich versuche gerade aus einer Datei die zwei Spalten (A und B) zu 
koppieren und in ein anderen Datei hinzufügen. Das kopieren klappt ganz 
gut allerdings nur von einer Spalte. Für das hinzufügen fehlt mir ein 
Befehl.

GetObject ("C:\...\test.csv")
Windows("test.csv").Visible = True
Workbooks("test.csv").Worksheets("Tabelle1").Columns(1).Copy

Workbooks.Open Filename:="C:\temp\GenExcellIntegTest.csv"

/*Hier kommt ein Laufzeitfehler */
Workbooks("PasteTest.csv").Worksheets("Tabelle1").Columns(1).Paste

Wo liegt der Fehler?

Vielen Dank im Vorraus!

von Rainer V. (rudi994)


Lesenswert?

Sowas kenne ich nur aus VBasic für Excel.

Einfügen aller Zellen der Spalte: ...Columns(1).Insert Shift:=xlToRight
Eingefügt wird links von einer Spalte, diese wird nach rechts geschoben. 
Umgekehrt geht es mit ...Columns(1).Insert Shift:=xlToLeft

...Columns(1).Paste erzeugt den Laufzeitfehler 438 (Objekt unterstützt
diese Eigenschaft oder Methode nicht).

Einfügen nur der Inhalte der Zellen (Werte, Formate, oder alles):
...Columns(1).PasteSpecial ...  Hinter PasteSpecial folgen noch 
Parameter zur Spezifizierung des Inhalte-Einfügemodus.

Beispiel, normales Einfügen aller Inhalte (Werte, Formate etc.):
...Columns(1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, _ 
SkipBlanks:=False, Transpose:=False

Unterstrich beachten: Das ganze Beispiel ist eine einzige Befehlszeile.
Beim Einfügen nur von Inhalten mit PasteSpecial wird der aktuelle Inhalt 
der betreffenden Zellen überschrieben!
Bezug auf mehr als nur eine Spalte (hier A bis C): ...Columns("A:C")

: Bearbeitet durch User
von Alberto (Gast)


Lesenswert?

Mirko schrieb:

> Workbooks.Open Filename:="C:\temp\GenExcellIntegTest.csv"
> Workbooks("PasteTest.csv").Worksheets("Tabelle1").Columns(1).Paste

Finde den Unterschied.

> Wo liegt der Fehler?
Dazu wäre die Nennung des Laufzeitfehlers brauchbar.

> Vielen Dank im Vorraus!
Max?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.