2016-12-07 9 views
1

Ich verwende dies, um Aufträge von der neuen Bestellungen Seite auf die vorherige Bestellungen Seite bewegen, aber ich bekomme den Titel Fehler, wenn ich versuche, es auszuführen. Ich habe mir verschiedene Orte angeschaut, um zu versuchen, es zur Arbeit zu bringen, und ich sehe, dass ihre Arbeit funktionieren sollte, meine aber nicht.VBA: PasteSpecial-Methode der Range-Klasse fehlgeschlagen

Sheets("New_Orders").Range("B3:E29").Cut 

Sheets("Previous_Orders").Range("B31").PasteSpecial Paste:=xlPasteValues 

Dies ist mehr Code, soll das Gleiche tun, das nicht funktioniert entweder

Sheets("New_Orders").Select 
Range("B3:E29").Select 
Selection.Cut 
Sheets("Previous_Orders").Select 
Range("B:B").Find("").Select 
ActiveSheet.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 

ich Selection.Copy auch versucht haben. Es gab den gleichen Fehler

+3

Sie können nur alle einfügen oder mit Schnitt einfügen. –

+3

[Muss. Lesen.] (Http://stackoverflow.com/q/10714251/1188513) –

+0

Muss zusehen: [Excel VBA Einführung] (https://www.youtube.com/playlist?list=PLNIs-AWhQzckr8Dgmgb3akx_gFMnpxTN5). Dies ist das relevante Video: [Excel VBA Einleitung Teil 5 - Zellen auswählen (Bereich, Zellen, Aktive Zelle, Ende, Offset)] (https://www.youtube.com/watch?v=c8reU-H1PKQ&list=PLNIs-AWhQzckr8Dgmgb3akx_gFMnpxTN5&index= 5 & ​​t = 3072s) –

Antwort

2

Wie oben im Kommentar erwähnt, können Sie nur alles einfügen, wenn Sie Schnitt verwenden. Wenn nur Werte gewünscht sind, dann weisen Sie die Werte direkt zu und löschen Sie den Bereich.

Sub foo() 
Dim rng As Range 
Dim lastRow As Long 

Set rng = Sheets("New_Orders").Range("B3:E29") 
With Sheets("Previous_Orders") 
    lastRow = .Cells(.Rows.Count, 2).End(xlUp).Row + 1 
    .Cells(lastRow, 2).Resize(rng.Rows.Count, rng.Columns.Count).Value = rng.Value 
End With 
rng.Clear 
End Sub 
+1

Aber das erklärt nicht den in der Frage editierten Kommentar, dh 'Ich habe Selection.Copy auch ausprobiert. Es gab den gleichen Fehler "(Aber ich kann" ActiveSheet.PasteSpecial "sowieso nicht funktionieren - ich hätte gedacht, dass es" ActiveCell.PasteSpecial "sein müsste - also bin ich mir nicht sicher, wie genau das" selbe "ist Fehler "Kommentar ist." – YowE3K

+0

War nur das gleiche eingeben, als ich Ihre Bearbeitung sah @ YowE3K Es sollte mit ActiveCell und Kopieren arbeiten. –

+0

Wenn ich es starte, gibt es mir Laufzeitfehler '1004': Anwendungsdefinierter oder objektdefinierter Fehler. –

Verwandte Themen