我已经查看了100种不同的解决方案来修复此错误并不断显示。它是一个弹出框,只有数字“400”和一个OK按钮。
从中复制的工作表称为“前端”
我的代码如下所示:
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
我只是试图将数据从一张纸移动到另一张纸中的下一个空行,但不断收到此错误。任何帮助都会非常感激,因为我对VBA非常陌生
答案 0 :(得分:1)
如果您没有完全限定您希望它使用的工作簿/工作表,VBA将使用活动工作表。尝试这样的事情:
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
要将值直接从一个地方复制到另一个地方,您不需要使用复制,粘贴或选择;你可以将one的值设置为另一个的值。
答案 1 :(得分:0)
将Selection.Paste
更改为Selection.PasteSpecial Paste:=xlPasteValues
似乎对我有用:
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