【问题标题】:Copying range to active cell range将范围复制到活动单元格范围
【发布时间】:2018-01-03 23:57:11
【问题描述】:

我有一个在用户活动单元格上方插入 12 行的代码。我正在尝试获取代码以从另一张表中复制特定范围并将其粘贴到新创建的行中。我不断收到 424 的运行时错误。我该如何解决?

代码如下

With ActiveSheet

    For i = 1 To 12
        ActiveCell.Rows.EntireRow.Insert Shift:=xlDown
    Next i

    Sheets("The Hidden Works").Range("A2:U13").Copy.Range.ActiveCell
End With

【问题讨论】:

  • .Copy.Range.ActiveCell 更改为.Copy ActiveCell 将解决问题
  • 并且,根据您对答案的评论,使用.Copy ActiveCell.EntireRow.Range("A1")

标签: vba excel


【解决方案1】:

我会先设置您要复制到变量的范围,然后根据您的选择执行该过程。这可能有助于您进行调试(并确保您使用正确的对象)。

试试这个

Option Explicit

Sub Test()

    Dim rngToCopy As Range
    Set rngToCopy = ThisWorkbook.Worksheets("The Hidden Works").Range("A2:U13")

    rngToCopy.Copy
    Selection.Insert Shift:=xlDown
    Application.CutCopyMode = False

End Sub

【讨论】:

  • 太棒了!几乎正是我需要做的。问题是我需要粘贴与 A 列对齐,无论活动单元格在行中的哪个位置。有什么建议吗?
  • 要从 A 列开始粘贴,一个简单的更改是将Selection 更改为Selection.EntireRow.Range("A1")(或者如果您愿意,可以使用Cells(Selection.Row, "A")
  • 用 YowE3K 和 K.Davis 解决了这个问题
猜你喜欢
  • 2021-01-11
  • 1970-01-01
  • 2017-02-06
  • 2019-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-08
  • 1970-01-01
相关资源
最近更新 更多