找到值后,VBA Excel会在不同工作表中粘贴行

时间:2014-10-01 06:18:10

标签: excel vba

我试图使用下面提到的一段VBA代码,但它给我一个错误说:Range类的PasteSpecial方法失败

pastesheet.Range("C13:C300").Find(what:=cntr, LookIn:=xlValues).Offset(0, -2).PasteSpecial xlPasteValues 

pastesheet是我想在其中找到cntr(来自不同工作簿中不同工作表的值)的目标工作表。 之后,我想用一个已经复制过的新行替换找到cntr的行。

有人可以协助这项工作吗?

1 个答案:

答案 0 :(得分:0)

您必须测试是否已找到该值。如果未找到任何值,则无论如何都会执行操作,从而导致错误。

Dim rng As Range

Set rng = pastesheet.Range("C13:C300").Find(what:=cntr, LookIn:=xlValues)

If Not rng Is Nothing Then
    rng.Offset(0, -2).PasteSpecial xlPasteValues
End If