添加新信息时在插入过程中出现Excel VBA错误

时间:2019-01-08 14:24:16

标签: excel vba

我使用下面的VBA代码复制工作表中某个按钮上方的行,并在该按钮处于打开状态的行的正上方插入该副本。其目的是为用户插入新行,以将步骤信息添加到项目管理文档中。

由于某种原因,当我在此复制行上方的一行中添加信息时,在指示的行上出现错误。错误是

  

运行时错误'1004:范围类的插入方法失败。

如果结束并再次按下按钮,我会得到

  

运行时错误'1004':无法获取Button类的TopLeftCell属性。

如果我关闭Excel并重新打开它,则该按钮可以正常工作。通常,我需要添加所有行,然后输入数据,但是当我添加新行时,它会再次出现这一系列错误。

这是有原因的吗?还是有更好的代码惯例可以帮助我避免此问题?

此外,我刚刚注意到,似乎必须打开另一个工作表才能发生这些错误模式。

 Sub rowselect()
      Dim b As Object, cs As Integer
      Dim Row2 As Integer
      Dim Row As Integer

      Set b = ActiveSheet.Buttons(Application.Caller)
      With b.TopLeftCell ' 2nd error when code attempted again. Excel must be shut down for code to run properly
             Row = .Row - 1
             Row2 = Cells(Row, "e")
      End With

      Rows(Row).Select
      Selection.Copy
      Selection.Insert shift:=xlDown 'First error thrown here
      Cells(Row + 1, "e") = Row2 + 1
      Selection.EntireRow.Hidden = False
  End Sub

0 个答案:

没有答案