插入行以及复制和粘贴值

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").ValueA1 提供与B1 相同的,无需任何格式或其他更改。这和Range("A1").Copy // Range("B2").PasteSpecial Paste:=xlPasteValues 一样

以上是关于插入行以及复制和粘贴值的主要内容,如果未能解决你的问题,请参考以下文章

Vim-复制粘贴、插入、撤销、查找

vim基础shell

Vim文本编辑命令汇总-Vim入门教程

Linux bash命令行常用快捷键(Xshell和secure CRT以及gnome-terminal)

vim模式与模式切换vim命令模式

Excel行变列,列变行技巧以及单元格换行