如果值 = X,则复制粘贴值

问题描述 投票:0回答:1

我正在尝试编写一段代码,当其中一列中的值发生更改时,将行从一张纸移动到另一张纸。出于测试目的,它显示如果第 13 列中的单元格显示为“Test”,则该行将从原始工作表中删除并移至新工作表“TestSheet”中。但是,我试图将移入新行的行粘贴为值,但是当我尝试包含 Pastespecial 时,它显示错误。

这是我的代码

Sub move_rows_to_another_sheet_master()
For Each myCell In Selection.Columns(13).Cells
If myCell.Value = "Test" Then
myCell.EntireRow.Copy Worksheets("TestSheet").Range("A" & Rows.Count).End(3)(2)
myCell.EntireRow.Delete
End If
Next
End Sub

我很确定我需要在某个地方包含“PasteSpecial Paste:=xlValues”,但在我尝试包含它的所有地方,它似乎都不起作用。

excel vba copy-paste
1个回答
0
投票

错误的代码是你想复制整行,但目标不是覆盖整行。因此尝试这个:

myCell.EntireRow.Copy Worksheets("TestSheet").Range("A" & Rows.Count).End(xlUp).EntireRow
© www.soinside.com 2019 - 2024. All rights reserved.