复制和粘贴过滤表问题

时间:2016-07-28 11:33:44

标签: vba excel-vba excel-formula excel

Picture of the two pasted tables

我有一个sub,它将过滤后的表复制并粘贴到新的工作表中,但我希望它只复制单元格值,而不是公式。

Sub PasteFilteredTableToTempSheet(ByRef TempWS As Worksheet, ByRef CalcWS As Worksheet)         
CalcWS.Activate

Dim NewTable As ListObject
Set NewTable = CalcWS.ListObjects("Full_Bearings_List")

NewTable.DataBodyRange.SpecialCells(xlCellTypeVisible).Copy _
Destination:=TempWS.Range("A1")

'TempWS.Range("A1").PasteSpecial xlPasteValues
'Application.CutCopyMode = False

End Sub

注释掉的2行没有做我想要的,它复制单元格值但是在新工作表上数据没有格式化为表格,与目标语法一样,它自动被格式化为表格但公式也被复制,而不仅仅是值。

该链接显示了两个示例。我想要左图像的格式,但只有表值,而不是公式。

2 个答案:

答案 0 :(得分:2)

只需粘贴两次。

TempWS.Range("A1").PasteSpecial xlPasteValues
TempWS.Range("A1").PasteSpecial xlPasteFormats

答案 1 :(得分:0)

很奇怪,试试:

NewTable.DataBodyRange.SpecialCells(xlCellTypeVisible).Copy
TempWS.Range("A1").PasteSpecial xlPasteValuesAndNumberFormats