Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: copy past ohne select

copy past ohne select
01.04.2009 17:07:12
lisa
Hallo
Ich habe mal versucht das aus der recherche nachzustellen.
http://xlforum.herber.de/
Ich bekomme immer einen Syntxfehler Fehler beim kompilieren?
Auszug aus der Recherche:
Wäre er kein Selektierer, würde er sich sagen, ich kopiere aus Arbeitsmappe Test1, Tabelle1, Zelle F10 nach Arbeitsmappe Test2, Tabelle2, Zelle B5.
So sähe dann sein Code auch aus:

Sub ReferenziertKopieren()
Workbooks("Test1").Worksheets("Tabelle1").Range("F10").Copy _      Workbooks("Test2"). _
Worksheets("Tabelle2").Range("B5")   Application.CutCopyMode = False
End Sub


Ich bin am tüfteln von einer Mappe in die andere Mappe zu kopieren und das alles ohne select!
Mit dem Recorder sehe das so aus:


Sub Makro1()
Windows("Test1.xls").Activate
Range("F10").Select
Selection.Copy
Windows("Test2.xls").Activate
Range("B5").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub


Was mache ich hier falsch?
Liebe Grüße Lisa

Anzeige

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: copy past ohne select
01.04.2009 17:44:24
robert
hi,
so gehts bei mir, workbook-namen musst du anpassen
gruß
robert

Sub ReferenziertKopieren()
Workbooks("mappe3").Worksheets("Tabelle1").Range("F10").Copy _
Workbooks("mappe4"). _
Worksheets("Tabelle2").Range("B5")
Application.CutCopyMode = False
End Sub


Anzeige
AW: copy past ohne select
02.04.2009 08:45:15
lisa
Hallo Robert
Ich bekomme hier die Fehlermeldung Index außerhalb gültigen Bereichs!?
Ich habe keine Ahnung was das sein soll!
Ich habe den Code genau so übernommen. Aber es klappt nicht!
Grüße Lisa
workbook-namen musst du anpassen..
02.04.2009 08:51:33
robert
hi,
nicht gelesen?
Mappe3 und Mappe4 deine Datei-Nemen eintragen
gruß
robert
Anzeige
AW: workbook-namen musst du anpassen..
02.04.2009 08:57:59
lisa
Hallo Robert
Ich habe alles gelesen!
Es lag an den .xls Ändungen!
Wenn ich diese für das Workbook eingebe, klappt es wunderbar.
Danke für die Hilfe!
Liebe Grüße Lisa
AW: copy past ohne select
01.04.2009 18:57:35
Beverly
Hi Lisa,
wenn das Format nicht übertragen werden soll, lässt sich das völlig ohne Copy And Paste machen:

Workbooks("Test2.xls").Worksheets("Tabelle2").Range("B5") = Workbooks("Test1.xls").Worksheets("Tabelle1").Range("F10") 


Die Tabellennamen musst du entsprechend anpassen.



Anzeige
AW: copy past ohne select
02.04.2009 08:51:39
lisa
Hallo Karin
Es funktioniert! Ich habe mich aber für den Code von Robert entschieden, da ich einen größeren Bereich kopieren kann!
Danke für die Hilfe!
Lieben Gruß Lisa
AW: copy past ohne select
02.04.2009 09:30:20
Beverly
Hi Lisa,
das funktionert auch mit einen Bereich:

Workbooks("Mappe2.xls").Worksheets("Tabelle2").Range("D1:E4") = Workbooks("Mappe1"). _
Worksheets("Tabelle1").Range("A1:B4").Value




Anzeige
AW: copy past ohne select
02.04.2009 09:53:48
lisa
Hallo Karin
Ja, das funktioniert auch mit einen Bereich, nur muß ich diesen Festlegen!
Ich habe mich vieleicht auch etwas dämlich ausgedrückt!
Ich versuche mich einen Code zusammenzubauen, da dies aber nicht so funktioniert wie es soll, habe ich ersteinmal versucht über kleine Schritte zun Erfolg zu kommen.
Die Zieldatei soll die copierten Daten angefangen in A1 übernehmen! Und ganau das bekomme ich nicht hin.
Hier habe ich mal den vollständigen Code eingefügt der immer wieder daran scheitert meine gefilterten Daten in die Zieldatei eizufügen.
Ich weiß einfach nicht warum das so ist!

Private Sub CommandButton1_Click()
Rows("1:19").Delete Shift:=xlUp
Range("A:A,C:D,E:G").Delete Shift:=xlToLeft
Range("E:E,I:O").Delete Shift:=xlToLeft
Columns("J:AB").Delete Shift:=xlToLeft
Columns("I:I").Delete Shift:=xlToLeft
Range("I2").FormulaR1C1 = _
"=IF(COUNTIF(R2C8:RC[-1],RC[-1])"
Workbooks.Open Filename:= _
"\\A9006\user\Eigene Dateien\Test2.xls"
Workbooks("Mappe1").Worksheets("Tabelle1").Columns("A:I").SpecialCells( _
xlCellTypeVisible).Copy 'wie kann ich hier ohne die Mappe zu benennen arbeiten?
Workbooks("Test2.xls").Worksheets("Tabelle1").Range ("A1") 'Hier bekomme ich einen Debugger! _
Application.CutCopyMode = False
Windows("Mappe1").Activate
End Sub


Vieleicht kannst du ja erkennen was ich falsch gemacht habe.
Lieben Gruß Lisa

Anzeige
AW: copy past ohne select
02.04.2009 10:22:25
Beverly
Hi Lisa,
wenn du dich auf die Mappe mit dem Code beziehst, kannst du anstelle des Mappennamen ThisWorkbook verwenden:

ThisWorkbook.Worksheets("Tabelle1").Columns("A:I").SpecialCells( _
xlCellTypeVisible).Copy


Und anstelle


Windows("Mappe1").Activate


wieder


ThisWorkbook.Activate


In der Zeile mit der Fehlermeldung fehlt noch das .Paste am Ende:


Workbooks("Test2.xls").Worksheets("Tabelle1").Range("A1").Paste




Anzeige
AW: Übernehmen ohne Kopieren
02.04.2009 10:44:29
Beverly
Hi Lisa,
wenn die Anzahl an zu übernehmenden Zeilen von Beginn an nicht bekannt ist (da ja der Autofilter gesetzt wird), kann man diese ermitteln und die gefilterten Werte ohne Kopieren übernehmen:

Sub UebernehmenOhneKopieren()
Dim loLetzte As Long
With ThisWorkbook.Worksheets("Tabelle1")
loLetzte = Application.Subtotal(3, .Columns(9))
Workbooks("Mappe2").Worksheets("Tabelle1").Range("A1:I" & loLetzte) = .Columns("A:I"). _
Value
End With
End Sub




Anzeige
AW: Übernehmen ohne Kopieren
02.04.2009 11:12:15
lisa
Hallo Karin
Ich habe, als ich geantwortet habe, nicht gesehen, dass du schon eine andere Variante gepostet hast.
Danke dafür.
Ich habe diese in meine Code integriert und das einfügen funktioniert nun.
Aber werden hier jetzt nicht mehr nur die gefilterten Daten, sondern alle übernommen.
Ich glaube jetzt nerve ich langsam!
Aber in deinem Code steht doch die gefilterten und nur sichtbaren Daten und trotzdem werden alle kopiert!?
Anzeige
AW: gefilterte Zellen kopieren
02.04.2009 11:54:28
Beverly
Hi Lisa,
warum solltest du nerven? Solange es nicht funktioniert wie du dir das vorstellst ist das doch dein volles Recht :-).
Das Kopieren bei Autofilter funktionert leider nicht immer wie gewünscht. Dieser Code sollte es hoffentlich tun:

ThisWorkbook.Worksheets("Tabelle1").Columns("A:I").SpecialCells(xlCellTypeVisible).Copy _
Workbooks("Mappe2").Worksheets("Tabelle1").Range("A1")




Anzeige
AW: copy past ohne select
02.04.2009 10:57:06
lisa
Hallo Karin
Ersteinmal Danke für deine detailierte Info!
Das mit dem Ansprechen des Worbook habe ich verstanden.
Leider habe ich hier wieder ein Problem mit dem einfügen.
Hier heißt es in dieser Zeile:
Workbooks("Buchungsmoni Auswertung.xls").Worksheets("Tabelle1").Range("A1").Paste
Objekt unterstützt diese Eigenschaft oder Methode nicht
Ich habe hier mal die Richtige Bezeichnung belassen.
Was kann das nur für ein Problem sein?
Liebe Grüße Lisa
Anzeige
AW: copy past ohne select
02.04.2009 11:19:44
Beverly
Hi Lisa,
ändere den Code nach folgendem Prinzip:

ThisWorkbook.Worksheets("Tabelle1").Range("A1:A10").Copy _
Workbooks("Mappe3").Worksheets("Tabelle1").Range("A1")


Wenn nur die Werte kopiert werden sollen:


ThisWorkbook.Worksheets("Tabelle1").Range("A1:A10").Copy
Workbooks("Mappe3").Worksheets("Tabelle1").Range("A1").PasteSpecial Paste:=xlValues
Application.CutCopyMode = False


oder in so wie in meinem Beitrag "Übernehmen ohne Kopieren".



Anzeige
AW: gelöst
02.04.2009 12:28:33
lisa
Hallo Karin
Ich habe es nun so gelöst.
Range("A1:J" & Cells(Rows.Count, 2).End(xlUp).Row).SpecialCells(xlCellTypeVisible).Copy Destination:= _ ' die Sichtbaren Zeilen
Workbooks.Open("\\A9006\Eigene Dateien\Mappe1.xls").Sheets("Tabelle1").Range("A65536").End(xlUp).Offset(1, 0)' in die nächste freie Zeile einfügen.
Danke für deine Gedult und hilfe!
Lieben Gruß Lisa
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Excel: Copy und Past ohne Select


Schritt-für-Schritt-Anleitung

Um in Excel ein Blatt in eine andere Datei zu kopieren, ohne die Zellen vorher zu selektieren, kannst Du den folgenden VBA-Code verwenden. Dieser Code kopiert die Zelle F10 aus "Test1.xls" und fügt sie in B5 von "Test2.xls" ein:

Sub ReferenziertKopieren()
    Workbooks("Test1.xls").Worksheets("Tabelle1").Range("F10").Copy _
    Workbooks("Test2.xls").Worksheets("Tabelle2").Range("B5")
    Application.CutCopyMode = False
End Sub

Stelle sicher, dass die Dateinamen und Tabellennamen korrekt sind, um Fehler zu vermeiden.


Häufige Fehler und Lösungen

  1. Fehlermeldung "Index außerhalb des gültigen Bereichs":

    • Überprüfe, ob die Arbeitsmappen und Arbeitsblätter existieren und die Namen korrekt sind. Der Fehler tritt häufig auf, wenn die Dateiendungen (z.B. .xls) nicht angegeben sind.
  2. Syntxfehler beim Kompilieren:

    • Achte darauf, dass der Code korrekt formatiert ist und keine Tippfehler enthält. Alle Zeilen müssen ordnungsgemäß abgeschlossen werden.
  3. Objekt unterstützt diese Eigenschaft oder Methode nicht:

    • Stelle sicher, dass Du die richtige Syntax für das Einfügen verwendest. Verwende Range("A1").PasteSpecial bei Bedarf.

Alternative Methoden

Wenn Du die Werte ohne Verknüpfungen kopieren möchtest, kannst Du auch direkt den Wert zuweisen:

Workbooks("Test2.xls").Worksheets("Tabelle2").Range("B5") = Workbooks("Test1.xls").Worksheets("Tabelle1").Range("F10").Value

Diese Methode vermeidet jegliche Verknüpfungen und ist einfach zu implementieren.


Praktische Beispiele

  1. Kopieren eines Bereichs ohne Bezug:

    Workbooks("Mappe2.xls").Worksheets("Tabelle2").Range("D1:E4") = Workbooks("Mappe1").Worksheets("Tabelle1").Range("A1:B4").Value
  2. Kopieren gefilterter Daten:

    ThisWorkbook.Worksheets("Tabelle1").Columns("A:I").SpecialCells(xlCellTypeVisible).Copy _
    Workbooks("Mappe2.xls").Worksheets("Tabelle1").Range("A1")

Tipps für Profis

  • Nutze ThisWorkbook, um auf das Workbook mit dem laufenden Code zuzugreifen, ohne den Namen anzugeben. Das vereinfacht die Pflege Deines Codes.

  • Um sicherzustellen, dass nur sichtbare Zellen beim Kopieren berücksichtigt werden, verwende SpecialCells(xlCellTypeVisible).

  • Vermeide das häufige Nutzen von Select und Activate, da dies den Code unnötig verlangsamen kann.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Zellen auf einmal kopieren?
Du kannst einen Bereich angeben, zum Beispiel:

Workbooks("Test2.xls").Worksheets("Tabelle2").Range("B1:B10") = Workbooks("Test1.xls").Worksheets("Tabelle1").Range("A1:A10").Value

2. Kann ich Formatierungen beim Kopieren behalten?
Ja, wenn Du Copy verwendest, bleibt die Formatierung erhalten. Wenn Du nur die Werte kopieren möchtest, benutze PasteSpecial mit xlValues.

3. Wie kann ich sicherstellen, dass keine Verknüpfungen entstehen?
Statt des Kopierens kannst Du die Werte direkt zuweisen, wie im Beispiel gezeigt:

Workbooks("Test2.xls").Worksheets("Tabelle2").Range("B5") = Workbooks("Test1.xls").Worksheets("Tabelle1").Range("F10").Value

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige