就像标题所说的那样,我需要编写一个VBA代码来复制我选择的整行,并且只粘贴这些值,以便之后不能更改结果。
我已经设法在我工作的最后一个文件中为ActiveCell执行此操作,但我只需要更改一个单元格。这是我使用的代码:
Sub Freeze()
ActiveCell.Copy
ActiveCell.PasteSpecial Paste:=xlPasteValues
End Sub
然而,对于这个新文件,我必须复制整行,并且我不想选择每个单独的单元格。当我在新文件中使用它时,它只适用于第一个单元格。我怎样才能使它适用于整行?
感谢。
答案 0 :(得分:0)
使用下面的简单代码(尽量避免选择单元格和活动单元格):
Sub Test()
Call Freeze(3, 7)
Call Freeze(4, 8)
End Sub
Sub Freeze(rowsource As Long, rowdest As Long)
Rows(rowsource).Copy
Rows(rowdest).PasteSpecial Paste:=xlPasteValues
End Sub
答案 1 :(得分:0)
粘贴:= xlPasteValues
除非您尝试复制格式,否则无需复制粘贴值。
试试这个。用相关的工作表名称替换工作表名称。同时将X,Y替换为相关的行号。如果您使用多行,请将Rows(X)
更改为Range("X:X")
,同样Range("Y:Y")
Thisworkbook.Sheets("Sheet1").Rows(X).Value = _
Thisworkbook.Sheets("Sheet2").Rows(Y).Value