【问题标题】:buttons not copying with sheet excel vba不使用工作表excel vba复制的按钮
【发布时间】:2018-01-15 22:49:54
【问题描述】:

我有一些宏可以在 Excel 中复制我的工作表,并删除某些数据。不幸的是,宏被分配到的按钮在宏运行时不会被复制。

Sub CandD()
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Dim sh As Shape, strtSh As Worksheet
    Set strtSh = ActiveSheet
    Sheets("BM Condition").Copy After:=Sheets(Sheets.Count)
    ActiveSheet.Name = "BM Condition" & Sheets.Count - 1
    Range("E14:E33,I14:I33,M14:M33").ClearContents
    For Each sh In ActiveSheet.Shapes
        sh.Delete
    Next sh
    strtSh.Select

    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

这是我正在使用的宏。我的 VBA 经验非常有限,并且没有发现 google 很有帮助。有人可以推荐一个修复我的按钮不复制的问题吗?

编辑:我忘了提到手动复制按钮时仍然存在。我不确定这是为什么。

【问题讨论】:

  • 摆脱sh.Delete(和循环)

标签: vba excel


【解决方案1】:

正如 FunThomas 提到的,我已经尝试并测试了以下内容,没有任何错误:

Sub CanD()
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False

    Dim sh As Shape, strtSh As Worksheet
    Set strtSh = ActiveSheet

    Sheets("BM Condition").Copy After:=Sheets(Sheets.Count)
    ActiveSheet.Name = "BM Condition" & Sheets.Count - 1

    Range("E14:E33,I14:I33,M14:M33").ClearContents

    strtSh.Select
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-15
    • 2019-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多