首页 > 解决方案 > 将特定单元格填充到同一工作簿中另一个工作表的最后一行

问题描述

它将值粘贴到工作表(列表)中的最后一行 END(xlDown).offset(1) 停止宏并使其崩溃,我得到错误 1004 对象未定义。

有人可以帮我改进这段代码>

Private Sub CommandButton2_Click()

Dim ws As Worksheet
Set ws = ActiveSheet

Worksheets("FORM").Range("B7").Copy
Worksheets("List").Range("B7").End(xlDown).Offset(1).PasteSpecial xlPasteValues
Worksheets("FORM").Range("D7").Copy
Worksheets("List").Range("C7").PasteSpecial xlPasteValues
Worksheets("FORM").Range("G7").Copy
Worksheets("List").Range("D7").PasteSpecial xlPasteValues
'second line in the same row'
Worksheets("FORM").Range("A8").Copy
Worksheets("List").Range("F7").PasteSpecial xlPasteValues
Worksheets("FORM").Range("E8").Copy
Worksheets("List").Range("G7").PasteSpecial xlPasteValues
Worksheets("FORM").Range("H8").Copy
Worksheets("List").Range("H7").PasteSpecial xlPasteValues
Worksheets("FORM").Range("K8").Copy
Worksheets("List").Range("I7").PasteSpecial xlPasteValues

End Sub 

标签: excelvba

解决方案


这是因为您在Worksheets("FORM")应该使用时使用Sheets("FORM") 此外,当您使用时,.Offset()您需要指定要偏移的行号和列号 - 所以.Offset(1,0)在您的情况下,我想。如果您进行这些更改,您的代码应该可以工作。


推荐阅读