【问题标题】:Excel VBA Copy, Paste, Insert variable rowsExcel VBA 复制、粘贴、插入变量行
【发布时间】:2017-03-28 12:15:49
【问题描述】:

我对 VBA 很陌生。我正在尝试从 1 个工作簿中复制包含数据的行并将其插入到另一个工作簿中。源具有可变的行数。目标只有 10 个可用行,后跟合并单元格。

我的目标是:计算源行数,从中减去 10,结果将是粘贴之前要在目标工作簿中插入的行数。

示例:32 个源行(可变)- 10 个目标行(固定)= 22 个要插入到目标 WB 中的行,将合并的单元格向下推。如果结果为

谢谢!

【问题讨论】:

  • 向我们展示您的代码
  • CallumDA 昨天解决了!我只需要修改最后一行!谢谢!

标签: vba excel


【解决方案1】:

类似这样的:

Sub Test()
    Dim sourceRange As Range, destinationRange As Range
    Dim rowsToInsert As Long

    With ThisWorkbook.Worksheets("Sheet1")
        Set sourceRange = .Range(.Range("A1"), .Cells(.Rows.Count, "A").End(xlUp))
    End With
    Set destinationRange = Workbooks("SomeBook.xlsx").Worksheets("Sheet1").Range("A1")

    rowsToInsert = Application.Max(sourceRange.Rows.Count - 10, 0)

    If rowsToInsert > 0 Then destinationRange.Resize(rowsToInsert, 1).EntireRow.Insert

    sourceRange.EntireRow.Copy Destination:=destinationRange
End Sub

【讨论】:

  • 正是我想要的!没有你的帮助是不可能做到的!为什么“sourceRange.EntireRow.Copy Destination:=destinationRange”会出错,我不知道...但是我找到了一个代码来选择最后一行,复制和粘贴。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多