【问题标题】:VBA Paste function throwing error after VBA Clear functionVBA Clear函数后VBA粘贴函数抛出错误
【发布时间】:2017-05-14 21:10:48
【问题描述】:

我有一个高级过滤器,用于对大型数据集进行排序。

过滤器将过滤后的数据放入单独的工作表中。

我有一个 VBA 宏,它允许我突出显示我想要使用的过滤器部分并将其粘贴到与过滤器表相邻的范围中。

目前我正在使用非常简单的 VBA。 活动选择的副本并粘贴到指定单元格之后的下一个打开行。单元格是一行标题,对应于从中进行复制选择的表的标题。

 Sub CopyPaste()
      Selection.Copy
      ActiveSheet.Range("J6").End(xlDown).Offset(1, 0).Select
      ActiveSheet.Paste
 End Sub

清除很简单。

Sub ClearTable()

    ActiveSheet.Range("J7:O100").Clear

End Sub

运行清除后,我收到一个错误。

获取运行时错误 '1004,应用程序定义或对象定义错误。

编辑:澄清。如果我在清除范围后尝试粘贴,.clear 和 .clearcontents 都会导致错误状态。

【问题讨论】:

  • 您希望.clear 做什么?我想你的意思是.clearcontents
  • 问题不在于清晰。清除工作正常。清除后,我收到粘贴错误。编辑:尝试清除内容。当我再次尝试粘贴时,错误仍然显示。
  • 清除 J7:O100 后,选择 J6 并点击 [ctrl]+[向下箭头]。尝试再往下走一排。那是您尝试粘贴的地方,如果您按照我的指示进行操作,问题应该非常明显。
  • 使用Selection.Copy Destination:=ActiveSheet.Cells(Rows.Count, "J").End(xlUp).Offset(1, 0);这从下往上看并选择从上向下而不是从上向下的 1 行(这似乎是 J1048576 并且不能向下移动一行,更不用说为粘贴留出空间了)。
  • 非常感谢。我可以看到 Jeeped 现在在说什么,并感谢 Destination:= 代码。我还没有遇到过这个。

标签: vba excel


【解决方案1】:

清除 J7:O100 后,选择 J6 并点击 [ctrl]+[向下箭头]。尝试再往下走一排。那就是您要粘贴的地方,如果您按照我的指示进行操作,问题应该非常明显。

使用,

Selection.Copy Destination:=ActiveSheet.Cells(Rows.Count, "J").End(xlUp).Offset(1, 0)

这从下往上看,从上往下选择 1 行而不是从上往下(这似乎是 J1048576,不能向下移动一行,更不用说为粘贴留出空间了)。

【讨论】:

    猜你喜欢
    • 2018-09-27
    • 2017-11-25
    • 1970-01-01
    • 2014-10-30
    • 1970-01-01
    • 2023-03-15
    • 2017-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多