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

Kopieren in freie Zelle

Kopieren in freie Zelle
08.10.2015 08:20:11
Jens
Hallo zusammen,
ich habe da ein Problem und komme nicht weiter.
Ich habe zwei dateien. Qelle.xlsm und Ziel.xlsm. Ich möchte nun aus der "Qelle" die Zeile B4 bis D4 kopieren.
Diese möchte ich dann in "Ziel" in die nächste freie Zeile einfügen.
Ich möchte so dann mehrere Daten aus "Quelle" kopieren und die in "Ziel" einfügen. Dabei sollen die alten Daten jedoch nicht überschrieben werden.
Vielleicht kann mit ja jemand helfen.
Ich habe bereits Versucht mir einen Code anzupassen jedoch klappt das nicht -.-
Sub KopierenN()
Dim Wkb_Q  As Workbooks
Dim Wkb_Z  As Workbooks
Set Wkb_Q = Workbooks.Open("Z:\Quelle.xlsm")
Set Wkb_Z = ThisWorkbook.Worksheets("Tabelle2")
Wkb_Q.Range("B4:D4").Copy
Wkb_Z.Range("A" & Wkb_Z.Cells(Wkb_Z.Rows.Count, 1).End(xlUp).Row + 1).PasteSpecial _
Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
Grüße Jens

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

Betreff
Datum
Anwender
Anzeige
AW: Kopieren in freie Zelle
08.10.2015 08:42:39
Tino
Hallo,
kannst mal so versuchen, habe es selbst jetzt nicht getestet!
Sub KopierenN()
Dim Wkb_Q  As Workbooks, sTabelleQ$, rngQ As Range
Dim Wkb_Z  As Worksheet
Set Wkb_Q = Workbooks.Open("Z:\Quelle.xlsm")
sTabelleQ = "Tabelle1" 'Tabelle in Quelle
Set Wkb_Z = ThisWorkbook.Worksheets("Tabelle2")
With Wkb_Z
'Range aus Quelle
Set rngQ = Wkb_Q.Sheets(sTabelleQ).Range("B4:D4")
'in nächste leere in Spalte A einfügen
.Cells(1, .Rows.Count, 1).End(xlUp).Offset(1, 0) _
.Resize(rngQ.Rows.Count, rngQ.Columns.Count).Value = rngQ.Value
End With
End Sub
Gruß Tino

Anzeige
AW: Kopieren in freie Zelle
08.10.2015 10:16:46
Jens
Hallo Tino,
danke für die Antwort aber leider bekomme ich eine Fehlermeldung: Fehler beim Kompilieren - Methode oder Datenobjekt nicht gefunden.
Markiert wird folgender Absatz: et rngQ = Wkb_Q.Sheets
Blau hinterlegt ist dabei ".Sheets"
Sub KopierenN()
Dim Wkb_Q As Workbooks, sTabelleQ$, rngQ As Range
Dim Wkb_Z As Worksheet
Set Wkb_Q = Workbooks.Open("Z:\Quelle.xlsm")
sTabelleQ = "Tabelle1" 'Tabelle in Quelle
Set Wkb_Z = ThisWorkbook.Worksheets("Tabelle2")
With Wkb_Z
'Range aus Quelle
Set rngQ = Wkb_Q.Sheets(sTabelleQ).Range("B4:D4")
'in nächste leere in Spalte A einfügen
.Cells(1, .Rows.Count, 1).End(xlUp).Offset(1, 0) _
.Resize(rngQ.Rows.Count, rngQ.Columns.Count).Value = rngQ.Value
End With
Grüße Jens

Anzeige
AW: Kopieren in freie Zelle
08.10.2015 11:00:09
Tino
Hallo,
mach aus
Dim Wkb_Q  As Workbooks

dies
Dim Wkb_Q As Workbook
Also entferne bei Workbooks das "s" am ende.
Gruß Tino

AW: Kopieren in freie Zelle
08.10.2015 11:26:14
Jens
Hey,
jetzt habe ich hier einen Fehler:
With Wkb_Z
'Range aus Quelle
Set rngQ = Wkb_Q.Sheets(sTabelleQ).Range("B4:D4")
'in nächste leere in Spalte A einfügen
.Cells(1, .Rows.Count, 1).End(xlUp).Offset(1, 0).Resize(rngQ.Rows.Count, rngQ.Columns.Count).Value = rngQ.Value
End With
Das ".Cells" wird nun Markiert...
So sieht das jetzt zusammen bei mir aus:
Sub Kopieren1()
Dim Wkb_Q As Workbook, sTabelleQ$, rngQ As Range
Dim Wkb_Z As Worksheet
Set Wkb_Q = Workbooks.Open("Z:\Testumgebung\Hauptmontage\" & Range("D5") & ".xlsm")
sTabelleQ = "Tabelle1" 'Tabelle in Quelle
Set Wkb_Z = ThisWorkbook.Worksheets("Tabelle2")
With Wkb_Z
'Range aus Quelle
Set rngQ = Wkb_Q.Sheets(sTabelleQ).Range("B4:D4")
'in nächste leere in Spalte A einfügen
.Cells(1, .Rows.Count, 1).End(xlUp).Offset(1, 0).Resize(rngQ.Rows.Count, rngQ.Columns.Count) _
.Value = rngQ.Value
End With
End Sub
Grüße Jens

Anzeige
AW: Kopieren in freie Zelle
08.10.2015 11:32:35
Tino
Hallo,
mach aus
.Cells(1, .Rows.Count, 1)
dies
.Cells(1, .Rows.Count)
Gruß Tino

AW: Kopieren in freie Zelle
08.10.2015 11:42:43
Jens
Hey,
Jetzt habe ich folgende Meldung: Laufzeitfehler 1004 - Anwendungs- oder Objektdefinierter Fehler.
Bei:
.Cells(1, .Rows.Count).End(xlUp).Offset(1, 0).Resize(rngQ.Rows.Count, rngQ.Columns.Count).Value = rngQ.Value
Code komplett:
Sub Kopieren1()
Dim Wkb_Q As Workbook, sTabelleQ$, rngQ As Range
Dim Wkb_Z As Worksheet
Set Wkb_Q = Workbooks.Open("Z:\Testumgebung\Hauptmontage\" & Range("D5") & ".xlsm")
sTabelleQ = "Tabelle1" 'Tabelle in Quelle
Set Wkb_Z = ThisWorkbook.Worksheets("Tabelle2")
With Wkb_Z
'Range aus Quelle
Set rngQ = Wkb_Q.Sheets(sTabelleQ).Range("B4:D4")
'in nächste leere in Spalte A einfügen
.Cells(1, .Rows.Count).End(xlUp).Offset(1, 0).Resize(rngQ.Rows.Count, rngQ.Columns.Count). _
Value = rngQ.Value
End With
End Sub
Grüße Jens

Anzeige
AW: Kopieren in freie Zelle
08.10.2015 12:16:07
Tino
Hallo,
jetzt habe ich ihn getestet! manchmal übersieht man Kleinigkeiten!
Sub Kopieren1()
Dim Wkb_Q As Workbook, sTabelleQ$, rngQ As Range
Dim Wkb_Z As Worksheet
Set Wkb_Q = Workbooks.Open("Z:\Testumgebung\Hauptmontage\" & Range("D5") & ".xlsm")
sTabelleQ = "Tabelle1" 'Tabelle in Quelle
Set Wkb_Z = ThisWorkbook.Worksheets("Tabelle2")
With Wkb_Z
'Range aus Quelle
Set rngQ = Wkb_Q.Sheets(sTabelleQ).Range("B4:D4")
'in nächste leere in Spalte A einfügen
.Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0) _
.Resize(rngQ.Rows.Count, rngQ.Columns.Count).Value = rngQ.Value
End With
End Sub
Gruß Tino

Anzeige
AW: Kopieren in freie Zelle
08.10.2015 12:39:27
Jens
Hallo Tino,
vielen Dankk! Jetzt ist es so, wie ich es mir vorstelle.
Es gibt zwar noch ein paar Kleinigkeiten aber die bekomme ich dann auch selbst hin.
Nochmal vielen Dank!
Grüße
Jens

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige