我目前有一个宏,它可以复制一张纸上的数据并将其存档到另一张纸上。我的问题是它正在复制和粘贴公式,它只需要复制和粘贴值。在Excel中粘贴值而不是宏中的公式
Sub Archive_Execution()
Dim mainworkbook As Workbook
Set mainworkbook = ActiveWorkbook
Dim rangeName
Dim strDataRange As Range
Dim keyRange As Range
rangeName = "Archive_Execution"
Application.Goto Reference:=rangeName
Selection.Copy
Sheets("Archive Execution").Activate
Range("A" & Rows.Count).End(xlUp).Offset(1).Select
mainworkbook.Sheets("Archive Execution").Paste
Sheets("Archive Execution").Activate
Set strDataRange = Range("A2:AA1000000")
Set keyRange = Range("D1")
strDataRange.Sort Key1:=keyRange, Order1:=xlAscending
End Sub
任何帮助,将不胜感激在我的调整代码,以便仅值粘贴没有公式
从技术上讲,所有你需要做的就是更换'mainworkbook.Sheets(“存档执行”)。用'mainworkbook.Sheets(“存档执行”)Paste'。PasteSpecial的xlPasteValues'但我建议你重新考虑你的代码避免使用“选择”,“复制”和“粘贴”。相反,您可以将新工作表中的单元格设置为您要导入的值。 – Jordan
谢谢你。我曾尝试包括.PasteSpecial xlPasteValues,但我得到一个错误的PasteSpecial方法的工作表类失败?请问您可以通过将新工作表中的单元格设置为值来扩展您的意思吗? –
对不起,您需要指定您正在粘贴的范围,此刻您只指定工作表。 (1).PasteSpecial xlPasteValues' – Jordan