Excel VBA筛选时在表中插入行

时间:2018-02-05 17:56:32

标签: excel vba excel-vba

我已经为这个答案进行了很多研究,但我找不到一个。我有一种感觉,解决方案可能很容易,但它是在逃避我。

我有一个表,并且有一个列,用户写下他想要插入的行数(插入的行将与活动单元格中的行完全相同,发生更改的位置)。 / p>

If Target.CountLarge > 1 Then Exit Sub

xValue = Target.Value - 1

Set KeyCells = Intersect(Target.EntireRow, tbl.DataBodyRange)

Sheets("Orders").Unprotect Password:=Password
Application.EnableEvents = False
With KeyCells
    On Error GoTo WrongShift
    .Copy
    .Offset(1).Resize(xValue).Insert
End With

上面的代码插入了与发生Target更改的行类似的行,但是当它尝试在筛选表中插入行时它会停止工作。错误1004,类范围的插入方法失败。我的表有保护,但我显然首先取消保护。

我该怎么做才能使这项工作成功?如果您需要更多代码或更多我的意见,请告诉我。请原谅我的无知......

0 个答案:

没有答案