我正在尝试将活动工作表复制到工作簿的末尾

时间:2017-03-28 21:33:59

标签: excel vba excel-vba

一切运作良好,但我需要复制的值,而不是公式。还有工作表的格式。这就是我所拥有的:

Dim strName As String, strSht As String
strName = "DMR" & " " & Range("S1").Value
strSht = ActiveSheet.Name

Application.ScreenUpdating = False
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = strName
Sheets(strSht).Range("A1:Y89").Copy
Sheets(strName).Range("A1").PasteSpecial Paste:=xlPasteValues

这不符合我要完成的任务。正在复制活动工作表中的某些单元格,其中包含公式。我需要复制公式的值以及工作表的格式。有人可以帮忙吗?我正在使用Excel 2013. TIA ......

1 个答案:

答案 0 :(得分:1)

在粘贴不连续细胞的联盟时,你最终会粘贴价值观和格式,这是一种众所周知的特性。 Excel无法解析不连续的公式范围的关系单元格地址,因此它会选择值并携带格式。

Dim strName As String, strSht As String

strName = "DMR" & " " & Range("S1").Value
strSht = ActiveSheet.Name

Application.ScreenUpdating = False
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = strName
Sheets(strSht).Range("A1:Y89, Y91").Copy Destination:=Sheets(strName).Range("A1")

上面添加(我认为是一个空白的,未使用的细胞)Y91到原始拷贝范围,以创建一个不连续的细胞联合。您将得到没有公式的值和格式。