【问题标题】:Macro stops after using button twice [closed]使用按钮两次后宏停止[关闭]
【发布时间】:2021-06-09 07:38:01
【问题描述】:

我有一个复制和插入新行的按钮。这里的问题是我只能调用宏两次,然后它给我一个 400 错误。关于如何解决问题的任何建议?

Sub AddNewRow()

    Dim r As Range
    Set r = ActiveSheet.Buttons(Application.Caller).TopLeftCell
    r.Offset(-2).EntireRow.Copy
    r.Offset(-1).EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrAbove
    r.Offset(-2).EntireRow.PasteSpecial xlPasteFormats
    Application.CutCopyMode = False

End Sub

*** 编辑 ***

我创建了一个删除按钮。只要我不创建超过 2 行,一切正常。当我按顺序创建 3 行时,它会崩溃。

Sub DeleteLastRow()  
  
    Dim r As Range
    Set r = ActiveSheet.Buttons(Application.Caller).TopLeftCell
    r.Offset(-2).EntireRow.Delete
    Application.CutCopyMode = False

End Sub

编辑 在具有相同数据的同一文档中的另一张纸上进行了尝试。在那里它完美地工作。什么样的设置会搞砸这个 VBA?文档中没有其他 VBA。

编辑 问题解决了。 (XFC;1048574) 中有一些杂散的文本。删除文本后,该功能起作用了。

【问题讨论】:

  • 似乎宏有效,但可能在同一个单元格上一次又一次地做同样的事情。
  • 奇怪的是,我有多个按钮在不同的部分都做同样的事情,如果我按其中任何两个按钮一次或两次,它会给我 400 错误。他们在第三次印刷之前完美地完成了任务。
  • 失败时会出现哪一行错误?
  • 它只是给了我一个“400”。它没有显示任何细节

标签: excel vba button


【解决方案1】:

问题解决了。在 XFC:1048574 中有一些文本。删除文本后问题解决了。

【讨论】:

    猜你喜欢
    • 2017-03-26
    • 1970-01-01
    • 1970-01-01
    • 2015-10-04
    • 2014-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多