如何在excel中将1个选项卡中的数据复制为另一个文本与macros

我必须将数据从1选项卡复制到另一个按预期的方式工作的代码,但我真的希望它复制数据作为文本(视觉单元格的内容),而不是复制公式,我有的代码是:

Sub sbCopyRangeToAnotherSheet() Sheets("UK").Range("A5:AJ110").Copy Destination:=Sheets("Template").Range("A5") Sheets("UK").Range("A5:AJ110").Copy Sheets("Template").Activate Range("A5").Select ActiveSheet.Paste Application.CutCopyMode = False End Sub 

有什么方法可以轻松地操纵这个代码,所以它会做我想要的吗?

这将传递Range.Value属性 。 您也可以传递Range.Value2属性 ,该属性是该值的原始版本。

 Sub sbCopyRangeToAnotherSheet() With Sheets("UK").Range("A5:AJ110") Sheets("Template").Range("A5").Resize(.Rows.Count, .Columns.Count) = .Value End With End Sub 

还有Range.Text属性,但是应该为值或值2不足的特殊情况保留。 .Text属性是只读的,可以从单个单元传递到单个单元。

将模板工作表保存到一个新的工作簿是一个小事,没有目的地复制它。 这会导致在新工作簿中创build单个模板工作表的副本,该工作簿也将成为ActiveWorkbook。

 Sub sbSaveAnotherSheet() Dim fp As String, fn As String fp = Environ("USERPROFILE") & Chr(92) & "Documents" '<~~user's Documents folder fn = "My_New_Workbook" With Sheets("Template") 'with no destination given, the following code line copies 'the Template worksheet to a new workbook which becomes the ActiveWorkbook .Copy 'Save this new workbook as a .XLSX ActiveWorkbook.SaveAs Filename:=fp & Chr(92) & fn, FileFormat:=xlOpenXMLWorkbook End With End Sub 

Workbook.SaveAs方法中没有提供文件扩展名。 这将由FileFormat参数提供(请参阅xlFileFormat枚举 )。 如果省略,文件格式将在Excel选项►保存►以此格式保存文件中指定。