当工作表处于非活动状态时,为什么我的VBA代码无法复制和粘贴?

时间:2019-02-11 03:54:17

标签: excel vba

经过大量谷歌搜索和搜索网络之后,我无法确定我的代码出了什么问题。

如果我在XXXXX工作表上运行以下代码,则将最后一行复制并粘贴到下面的行中,没有任何问题:

Private Sub CommandButton1_Click()

Dim EndRow

EndRow = Range("A65536").End(xlUp).Row

Range("A" & EndRow, "M" & EndRow).Copy Range("A" & EndRow + 1, "M" & EndRow + 1)

End Sub

但是,我需要从其他选项卡运行代码,并具有以下无效的公式。单击该按钮,没有任何内容可复制和粘贴:

Private Sub CommandButton2_Click()

Dim EndRow
EndRow = Sheets("XXXXX").Range("A65536").End(xlUp).Row

With Sheets("XXXXX")

.Range("A" & EndRow, "M" & EndRow).Copy Range("A" & EndRow + 1, "M" & EndRow + 1)

End With
End Sub

我要去哪里错了?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

所有应指向With块的对象都必须以.为前缀。您的Range的第二个实例缺少此内容。所以,

.Range("A" & EndRow, "M" & EndRow).Copy Range("A" & EndRow + 1, "M" & EndRow + 1)

转到

.Range("A" & EndRow, "M" & EndRow).Copy .Range("A" & EndRow + 1, "M" & EndRow + 1)