excel - 在将数据粘贴到新工作表之前添加行(在特定单元格之间)
问题描述
我有一张包含数据的表格,我想将其数据复制到另一张表格中。这很简单,但问题是,我必须将该选择复制到设置的两个单元格之间的范围内,所以如果我在第一张表中添加另一行数据,那么当宏运行时,数据将覆盖下面的单元格限制。如果我在第一张工作表中添加一行,如何在宏将数据粘贴到另一张工作表中之前创建另一行或多行以避免覆盖以下限制?例如,如果两个单元格之间的行数是 5,我需要粘贴的范围是 7,那么,在粘贴数据之前,宏会再创建两行。
谢谢
解决方案
计算差异并根据需要添加行
Option Explicit
Sub CopyInsert()
Dim rngSource As Range
Set rngSource = Selection ' range to copy from
Const SHEET_TARGET = "Sheet2"
Const RNG_TARGET = "C12:C16"
Dim wb As Workbook, wsTarget As Worksheet
Dim rngTarget As Range, n As Long
Set wb = ThisWorkbook
Set wsTarget = wb.Sheets(SHEET_TARGET)
Set rngTarget = wsTarget.Range(RNG_TARGET)
' insert new ones
n = rngSource.Rows.Count - rngTarget.Rows.Count
If n > 0 Then
rngTarget.Rows("2:" & n + 1).EntireRow.Insert
End If
rngSource.Copy rngTarget.Cells(1, 1)
End Sub
推荐阅读
- evernote - 来自 Evernote API 的 HTTP 418 传输错误
- rust - Unwrap_or 需要 String 或 &str 生锈?
- python - 在 Google Colab for python 上安装 GLPK
- python - 如果函数内部的函数返回 true,则执行某些操作(python 3)
- c++ - OpenMP 与使用 SFML 的 Game of Life 可视化
- python-3.x - 删除 n 行并在数据框中迭代 n 次
- android - 无法解析对象中的符号对象。,扩展
- python-3.x - PyTorch:加速数据加载
- angular - RXJS:跳过由其他可观察对象触发的可观察对象的值
- angular - 当内部可观察对象发出另一个值时,canActivate 不会第二次被调用