【问题标题】:VBA Copying a Range and pasting to another worksheetVBA复制范围并粘贴到另一个工作表
【发布时间】:2018-12-19 18:59:22
【问题描述】:

我正在尝试将范围从一个单元格复制到同一行中另一个单元格的末尾。 我在 if 循环中有以下代码。

Sheet2.Range(Cells(i, 2), Cells(i, c)).Copy
Sheet3.Cells(i, 2).Paste

Sheet2 和 Sheet 3 的结构相同,因此我对行使用相同的变量。

除此之外,如何将单元格粘贴到循环特定行的下一个空单元格?

【问题讨论】:

  • 您在复制和粘贴时遇到问题吗?如果是这样,您在哪一行遇到什么错误。
  • 它会遇到这个错误“对象'_Worksheet'的方法'范围'失败”

标签: excel vba


【解决方案1】:

请替换为以下内容:

Dim rn As Range, rn1 As Range, sh As Worksheet, sh1 As Worksheet


Set sh = Sheet2
Set sh1 = Sheet3

With sh

Set rn = .Range(.Cells(i, 2), .Cells(i, c))
Set rn1 = sh1.Cells(i, 2)


rn.Copy rn1

End With

如果 c 不是变量,请替换为“c”

【讨论】:

    【解决方案2】:

    试试这个:

    Sheet2.Range(Cells(i, 2), Cells(i, c)).Copy destination:=Sheet3.Cells(i, 2)
    

    如果您分两步进行,您可能需要.Resize 目标范围以匹配源范围的大小。

    【讨论】:

    • 您好,我尝试了您的代码,但它会遇到此错误“对象'_Worksheet'的方法'范围'失败”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-06
    • 2020-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多