Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Kopieren und einfügen
#1
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ß
Antworten Top
#2
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
Antworten Top
#3
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.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#4
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
Schöne Grüße
Berni
Antworten Top
#5
Sad 
[
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
Antworten Top
#6
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 ...
Antworten Top
#7
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 ??
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste