2016-06-08 4 views
0

Ich habe 100 verschiedene Lösungen zur Behebung dieses Fehlers angeschaut, der immer wieder auftaucht. Es ist eine Popup-Box mit nur der Nummer "400" und einem OK-Button.Excel-Fehler 400 beim Kopieren auf ein anderes Blatt

das Kopierblatt im von wird „Front End“ genannt sieht

Mein Code wie folgt aus:

Sub transfer() 

range("C2").Select 
Selection.Copy 
Worksheets("Raw Data").Select 
lMaxRows = Cells(Rows.Count, "A").End(xlUp).Row 
range("A" & lMaxRows + 1).Select 
Selection.Paste 

End Sub 

Im gerade versucht, den Dreh Verschieben von Daten von einem Blatt zum nächsten leeren Zeile zu erhalten in einem anderen Blatt, aber immer wieder diesen Fehler bekommen. Jede Hilfe würde sehr geschätzt werden, da ich VBA sehr neu bin

Antwort

1

VBA wird verwenden, was auch immer das aktive Blatt ist, wenn Sie die Arbeitsmappe/das Arbeitsblatt, das Sie verwenden möchten, nicht vollständig qualifiziert haben. Probieren Sie etwas wie folgt aus:

Sub transfer() 
Dim sourceSheet as Worksheet : Set sourceSheet = ThisWorkbook.Worksheets("Front End") 
Dim destSheet as Worksheet : Set destSheet = ThisWorkbook.Worksheets("Raw Data") 
lMaxRows = destSheet.Cells(destSheet.Rows.Count, "A").End(xlUp).Row 

destSheet.Range("A" & lMaxRows + 1).Value = sourceSheet.range("C2").Value 

End Sub 

Für einen Wert direkt von einem Ort zum anderen zu kopieren Sie nicht brauchen, kopieren, einfügen oder wählen zu verwenden; Sie können einfach den Wert von eins auf den Wert von einem anderen setzen.

+0

ok, damit ich diese F8 tat und verwendet den Code zu dem Schritt, war alles schön und gut, bis er versuchte, zu tun Der letzte Schritt "selection.paste" Ich habe es wieder getan und an der gleichen Stelle gab es mir eine Box mit der Aufschrift "Laufzeitfehler '1004': anwendungsdefinierte oder objektdefinierte Fehler" – Vbasic4now

+0

Es gibt keine 'Selection.Paste 'im obigen Code ... habe ich zu früh gepostet und musste es c bearbeiten orrect es, haben Sie möglicherweise die Informationen erhalten, bevor meine Änderung eingereicht wurde – Dave

+0

, die funktionierte! ich danke dir sehr! – Vbasic4now

0

ändern Selection.Paste-Selection.PasteSpecial Paste:=xlPasteValues scheint für mich arbeiten:

Sub transfer() 

Range("C2").Select 
Selection.Copy 
Worksheets("Raw Data").Select 
lMaxRows = Cells(Rows.Count, "A").End(xlUp).Row 
Range("A" & lMaxRows + 1).Select 
'Selection.Paste 
Selection.PasteSpecial Paste:=xlPasteValues 

End Sub 

Referenz: Copying and pasting data using VBA code