Clever-Excel-Forum

Normale Version: Kopieren und einfügen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe  Button in meiner Tabelle  die einen Bereich kopieren und wieder an gleicher bzw an einer anderen Stelle einfügen sollen, was auch innerhalb eines Arbeitsblattes funktioniert.
Wenn ich dann aber mit kopieren einen Bereich in die Zwischenablage lege und die dann in einem anderen Blatt einfügen will, so geht das nicht mit der Formel.
In einer anderen Exceldatei die in etwa gleich aufgebaut ist funktioniert das aber.

Weis jemand woran das liegen kann?


Private Sub JanBereichCopy1()
ActiveSheet.Range("d7:E126").Copy
End Sub

Private Sub JanBereichEinfügen1()
On Error Resume Next
ActiveSheet.Range("f7:g126").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub

Gruß
Hallo

da kann ich nur raten, mein Tipp:  Code ohne Selection laufen lassen. Und mal ohne Private. Vielleicht liegt es daran???

mfg Gast 123


Code:
Sub JanBereichEinfügen1()
On Error Resume Next
ActiveSheet.Range("f7:g126").PasteSpecial Paste:=xlPasteValues, _
  Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub
Hallo,

meines Wissens gehören Copy & Paste zwingend zusammen. Wenn ich recht habe, funktioniert das in zwei Makros nicht.
Mit einem Makro hättest Du dann sicher mehr Erfolg.
Wenn Du irgendwas kopierst, dann was anderes machst und schließlich zum Einfügen kommst, dann hat Excel das schon
das Copy schon lange wieder vergessen. Ähnlich dem, wenn Du irgendwas markierst und klickst dann eine andere Zelle an.
Das funktioniert schon. Allerdings gibt es dabei viele Unwägbarkeiten:

- Wenn zwischen Copy und Paste eine andere Aktion gemacht wird, ist der Copy-Teil hinfällig und es gibt nicht einzufügen
- ActiveSheet ist eine "gefährliche" Sache. Es muss beim Kopieren und Einfügen jeweils das richtige Blatt ausgewählt sein
- Wenn die beiden Blätter in unterschiedlichen Excelinstanzen liegen, funktioniert Copy/Paste nicht. Ist zwar unwahrscheinlich, aber nicht unmöglich
- OnError Resume Next ist ein NoGo. Jegliche Fehlermeldung wird unterdrückt. Wie willst du also eine mögliche Fehlersuche angehen?

Und wie schon oben erwähnt, ist Select unnötig. Du brauchst genau das:

Code:
Private Sub JanBereichCopy1()
ActiveSheet.Range("D7:E126").Copy
End Sub

Private Sub JanBereichEinfügen1()
ActiveSheet.Range("F7").PasteSpecial Paste:=xlPasteValues
End Sub
[
Bild bitte so als Datei hochladen: Klick mich!
]

Nach der Umstellung wie vorgeschlagen kommt dieser Fehler:
Laufzeitfehler `1004`:Die PasteSpezial-Methode des Range-Objektes konnte nicht ausgeführt werden.

Code:
Private Sub JanBereichEinfügen1()
ActiveSheet.Range("d7").PasteSpecial Paste:=xlPasteValues
End Sub

Aber wie gesagt in einer anderen Exceldatei funktioniert das mit meinem Ursprünglichem Code ? Verstehe ich nicht
Gruß Arni
Hallo

wenn alles nicht klappt, dann den Kopiervorgang am besten mit einem Makro abschliessen!  Das klappt immer.

mfg Gast 123

Code:
Private Sub JanBereichCopy1()  'in gleiche Mappe kopieren
ActiveSheet.Range("D7:E126").Copy   'oder so:
Worksheets("aaa").Range("D7:E126").Copy
Worksheets("yyy").Range("F7:G126").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub

Private Sub JanBereichCopy1()   'in externe Mappe kopieren
ThisWorkbook.Worksheets("aaa").Range("D7:E126").Copy
Workbooks("xxx").Worksheets("yyy").Range("F7:G126").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub

Die richtigen Tabellen Namen bitte selbst ergaenzen ...
Hallo,

Ich habe jetzt einfach die Excel Arbeitsmappe neu erstellt.
Und siehe da jetzt geht alles.
Warum das jetzt so ist kann ich mir nicht erklären, aber wie gesagt funktioniert alles wieder mit den Ursprünglichen Formeln.
Danke für euer mitwirken.

Frohes Fest ??