【问题标题】:Deleting everything from a worksheet从工作表中删除所有内容
【发布时间】:2014-06-17 13:20:05
【问题描述】:

我现在有一个宏,它可以向工作表添加内容(文本、格式、图片),然后在我的默认打印机上打印工作表,然后清除工作表。

这是我现在拥有的代码,其中i 是它输入数据的次数,25 是每次添加数据时受影响的行数。

Range("A1", "I" & i * 25).Clear

我的问题是它会清除文本,取消合并单元格并删除所有格式,但不会删除图片。我需要做些什么不同的事情来删除它们?

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    要删除图片:

    Dim s As Shape
    For Each s In ActiveSheet.Shapes
        s.Delete
    Next s
    

    【讨论】:

    • @Floris..For 循环似乎可以工作............从帖子的标题来看,我认为应该删除所有形状
    【解决方案2】:
    dim s as Shape
    ActiveSheet.UsedRange.Clear
    For Each s In ActiveSheet.Shapes
        s.Delete
    next
    

    【讨论】:

      【解决方案3】:

      您可以简单地尝试:

      with Activesheet
         .UsedRange.Clear
         .DrawingObjects.Delete
      End With
      

      你也可以使用:

      .Pictures.Delete
      

      代替

         .DrawingObjects.Delete
      

      如果你只需要删除图片。

      【讨论】:

      • 我刚刚尝试了.Pictures.Delete,它反复给我一个424: object required 错误,它不会让我杀死程序...
      • 它将替换我代码中的 .DrawingObjects.Delete 行 - 它必须在我发布的 With...End With 块内,或者使用 ActiveSheet.Pictures.Delete
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-13
      • 2018-09-04
      • 2018-01-29
      • 2014-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多