Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
640to644
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
640to644
640to644
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Copy-Paste über VBA

Copy-Paste über VBA
22.07.2005 12:17:21
Torsten
Hallo beisamen,
zum Kopieren und Einfügen von Daten von einer Datei in eine andere habe ich mir folgenden Code zusammengebastelt, der leider nicht das gewünschte Ergebnis bringt:
...
Dim wbkQuell As Workbook 'KFZ_ASC_Original.xls
Dim wbkZiel As Workbook 'KFZ_ASC_Kopie.xls
Dim i As Long
Dim j As Long

Set wbkQuell = ActiveWorkbook
Set wbkZiel = Workbooks.Open(Filename:="H:\Eigene Dateien\TEST\KFZ_ASC_Kopie.xls")
For i = 3 To Sheets("ÜbersichtHR").Cells(Rows.Count, 1).End(xlUp).Row
Sheets("ÜbersichtHR").Range("A" & i & ":M" & i).ClearContents
Next i

wbkQuell.Activate
For j = 2 To Sheets("Übersicht").Cells(Rows.Count, 1).End(xlUp).Row
Sheets("Übersicht").Range("A" & j & ":M" & j).Copy
Next j
wbkZiel.Activate
Sheets("ÜbersichtHR").Range("A3").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
...
Beim Kopieren wird leider nur der letzte Datensatz aus wbkQuell in wbkZiel eingefügt. Wo liegt der Fehler?
Vielen Dank für Eure Hilfe im voraus.
Gruß
Torsten

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Copy-Paste über VBA
22.07.2005 12:27:49
Nepumuk
Hi,
weil du in der Schleife:
For j = 2 To Sheets("Übersicht").Cells(Rows.Count, 1).End(xlUp).Row
Sheets("Übersicht").Range("A" & j & ":M" & j).Copy
Next j
den Zwischenspeicher jedes mal überschreibst.
Gruß
Nepumuk
Excel & VBA – Beispiele
AW: Copy-Paste über VBA
22.07.2005 12:36:44
Harald
Hi Torsten,
es wird eh zuviel rumkopiert ;-))
Versuchs mal mit =
x = 3
For j = 2 To Sheets("Übersicht").Cells(Rows.Count, 1).End(xlUp).Row
Sheets("ÜbersichtHR").Range("A" & x & ":M" & x)=Sheets("Übersicht").Range("A" & j & ":M" & j)
x = x + 1
Next j
Dann wird der "paste-Block" überflüssig.
Gruß
Harald
Anzeige
AW: Copy-Paste über VBA
22.07.2005 12:38:07
Ramses
Hallo
die Schleife ist überflüssig.
Gruss Rainer
ok ;-)
22.07.2005 13:11:33
Harald
Hallo Rainer,
das war ja auch nur ein Lösungsvorschlag von Amateur zu Amateur.
Schönes Wochenende
Harald
AW: ok ;-)
22.07.2005 13:17:22
Ramses
Hallo
Sollte auch nur als Ansporn für den Amateur gedacht sein :-)
Gruss Rainer
Oh Mann...ihr habt Nerven ;-))
22.07.2005 13:54:59
Harald
was würd ich nur ohne euch machen, die ihr die edelsten Lösungen locker aus dem Ärmel zaubert.
Das liefert ja schon beim Mitlesen Ansporn auf höchstem Niveau.
Beste Grüße
AW: Copy-Paste über VBA
22.07.2005 12:30:10
Ramses
Hallo
"...Beim Kopieren wird leider nur der letzte Datensatz aus wbkQuell in wbkZiel eingefügt..."
Es ist zwar schön wenn du in einer Schleife kopierst, aber prinzipiell ist immer nur das letzte dann kopiert, und das fügst du dann halt ein.
Ungetestet, aber probier mal
Option Explicit

Sub demo()
Dim wbkQuell As Workbook 'KFZ_ASC_Original.xls
Dim wbkZiel As Workbook 'KFZ_ASC_Kopie.xls
'
Dim ZielLR As Integer, QuellLR As Integer
'
Dim i As Long, j As Long
Set wbkQuell = ActiveWorkbook
Set wbkZiel = Workbooks.Open(Filename:="H:\Eigene Dateien\TEST\KFZ_ASC_Kopie.xls")

QuellLR = wbkQuell.Sheets("Übersicht").Cells(Rows.Count, 1).End(xlUp).Row

With wbkZiel.Sheets("ÜbersichtHR")
    ZielLR = .Cells(Rows.Count, 1).End(xlUp).Row
    .Range("A3:M" & ZielLR).ClearContents
    wbkQuell.Sheets("Übersicht").Range("A3:M" & QuellLR).Copy
    .Range("A3").PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
End With
End Sub

Gruss Rainer
Anzeige
erledigt - mT
22.07.2005 13:46:32
Torsten
Hallo beisammen,
vielen Dank für Eure Unterstützung. Die Lösung von Rainer läuft tadellos.
Schönes Wochenende und
Gruß
Torsten

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige