插入行以及复制和粘贴值
Posted
技术标签:
【中文标题】插入行以及复制和粘贴值【英文标题】:Insert Row and Copy and Paste Values 【发布时间】:2018-03-15 14:13:33 【问题描述】:我有一个“状态”类型的报告,它从各种来源中提取到一个工作表中。我的最终目标是基本上保留每个条目的日志。所以我创建了一个宏,它将复制 Sheet8 中的范围,在 Sheet11 上插入一个新行,然后将该行粘贴到 Sheet11 中。此外,我添加了一行来删除 excel 选择。 我的问题是粘贴是粘贴公式,而不是值。 如何将Sheet8中单元格的值粘贴到Sheet11上?
Sub copyRowToBelow()
On Error GoTo Err_Execute
Sheet8.Range("A2:L2").Copy
Sheet11.Range("A2").Rows("2:2").Insert Shift:=xlDown
Sheet8.Range("A2:L2").Select
Application.CutCopyMode = False
Err_Execute:
If Err.Number = 0 Then MsgBox "All have been copied!" Else _
MsgBox Err.Description
End Sub
【问题讨论】:
【参考方案1】:您可以先向下移动,然后通过将两行的值设置为彼此相等来复制数据。
另外,你的意思是只向下移动一个单元格?不是整行?我下面的代码将第 2 行下方的整行向下移动。
Sub copyRowToBelow()
On Error GoTo Err_Execute
Sheet11.Range("A2").Rows("2:2").EntireRow.Insert Shift:=xlDown
Sheet11.Range("A3:L3").Value = Sheet8.Range("A2:L2").Value
Err_Execute:
If Err.Number = 0 Then MsgBox "All have been copied!" Else _
MsgBox Err.Description
End Sub
【讨论】:
我的意思是整行。你能解释一下第 4 行是如何工作的吗?这是否实质上使 Sheet11 中的范围等于 Sheet8 中的数据? @MaxZ - 是的,Range("A1").Value = Range("B1").Value
为A1
提供与B1
相同的值,无需任何格式或其他更改。这和Range("A1").Copy // Range("B2").PasteSpecial Paste:=xlPasteValues
一样以上是关于插入行以及复制和粘贴值的主要内容,如果未能解决你的问题,请参考以下文章