2016-07-28 158 views
0

Picture of the two pasted tables复制和粘贴筛选表问题

我有一子即复制和粘贴一个过滤表,以一个新的工作,但我想它的单元格的值只以上,而不是公式复制。

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行注释掉没有做什么,我想,它复制单元格的值,但在新的工作表中的数据不被格式化成一个表,其中与目标语法,它会自动格式化为表,但公式也被复制,而不仅仅是值。

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

+0

好的,到目前为止,我明白你想从一个'Range'设置为'Table'复制数据。 但我很困惑。 你是否也希望'Destination'成为'Table'? 如果是的话,你是否希望它被格式化为来源的原始“表格”? –

+0

是的,该表格经过初步过滤,然后我想复制新的“过滤表格”并将其粘贴到新的工作表中,格式完全相同,但只有单元格值,而不是公式。希望有道理 –

回答

2

只需粘贴两次。

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

谢谢!这是完美的 –

0

很奇怪,请尝试:

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

谢谢,但它似乎没有工作 –