【问题标题】:Copying and Pasting Filtered Table Problems复制和粘贴过滤表问题
【发布时间】:2017-10-05 20:01:22
【问题描述】:

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

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 行不符合我的要求,它复制了单元格值,但在新工作表上,数据未格式化为表格,与 Destination 语法一样,它自动格式化为表格,但公式也被复制,而不仅仅是值。

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

【问题讨论】:

  • 好的,到目前为止,我了解到您希望将数据从 Range 设置为 Table 复制。但我很困惑。你想让Destination 也成为Table 吗?如果是,您是否希望将其格式化为源中的原始Table
  • 是的,该表最初已被过滤,然后我想将新的“过滤表”复制并粘贴到新工作表中,格式完全相同,但只有单元格值,而不是公式。希望这是有道理的

标签: vba excel excel-formula


【解决方案1】:

只需粘贴两次。

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

【讨论】:

    【解决方案2】:

    很奇怪,试试:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-31
      • 1970-01-01
      相关资源
      最近更新 更多